我一直在使用场景套件制作游戏,但很难看到物体的边缘,使得一些游戏细节无法看到。有没有办法在所有游戏对象周围制作黑色轮廓?
答案 0 :(得分:2)
你可以使用另一个答案中提到的SCNTechnique
(你可以看看这篇关于cel shading的文章,它有一个边缘检测通过)但是全帧后期处理是相当的昂贵。
在OS X上,您还可以利用几何着色器(请参阅this article)。但它在iOS上不可用,可能更难以实现并且正确。
我会选择一种更简单的技术,它只涉及顶点和片段着色器。您可以查看this article,它提供了一个使用SCNProgram
或着色器修饰符在SceneKit中轻松重新创建的示例。
答案 1 :(得分:0)
这里有一个为使用SCNTechnique的节点制作发光轮廓的示例: https://github.com/laanlabs/SCNTechniqueGlow
您可以修改颜色和模糊方法以实现描边轮廓效果。
答案 2 :(得分:0)
此处引用的另一个SCNTechnique示例:https://www.nurfacegames.com/everything-you-wanted-to-know-about-outline-shaders/,是在正常大小的前面再次渲染节点稍大一些。
这是一个游乐场的例子:https://github.com/mackhowell/scenekit-outline-shader-scntechnique。