有没有办法在场景套件中添加轮廓?

问题描述 投票:0回答:3

我一直在场景套件中制作游戏,但物体的边缘很难看到,导致一些游戏细节无法看到。 有没有办法在所有游戏对象周围制作黑色轮廓?

xcode opengl blender scenekit 3d-modelling
3个回答
2
投票

您可以使用另一个答案中提到的

SCNTechnique
(您可以查看这篇关于cel shading的文章,它具有边缘检测通道),但全帧后期处理非常昂贵。

在 OS X 上,您还可以利用几何着色器(请参阅本文)。但它在 iOS 上不可用,并且可能更难实现和正确执行。

我会采用一种更简单的技术,只涉及顶点和片段着色器。您可以查看这篇文章,其中提供了一个可以使用

SCNProgram
或着色器修改器在 SceneKit 中轻松重新创建的示例。


1
投票

这里有一个使用 SCNTechnique 为节点制作发光轮廓的示例: https://github.com/laanlabs/SCNTechniqueGlow

您可以修改颜色和模糊方法来实现描边效果。


1
投票

另一个 SCNTechnique 示例,如下所示:https://www.nurfacegames.com/everything-you-wanted-to-know-about-outline-shaders/,是将节点渲染到后面稍大,然后再渲染到前面常规尺寸。

这是一个游乐场示例:https://github.com/mackhowell/scenekit-outline-shader-scntechnique

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.