SceneKit剔除飞机
我在SCNView中有一个SCNScene渲染。 我有一些在场景中呈现/移动的* .dae模型。
我有一个透明的立方体,当我的一个模型落在它后面时,我希望模型不被渲染,因为此刻立方体是透明的,可以通过立方体看到它。
是否有任何属性/设置/着色器可以应用到透明立方体,以便它后面的任何东西都不被渲染?
例:
我的眼睛是绿色的圆点,立方体是蓝色的方形,我的模型是红色的圆圈,然而,立方体隐藏的圆圈部分是紫色的……这实际上是隐形的。 蓝色的广场也是不可见的。
这个开发者有一个遮挡着色器,它可以做我需要的,但它是Unity: https : //youtu.be/MK3D91kCKzM
亲切的问候
克里斯
这是一个解决scheme
- 对于立方体,请使用具有
constant
的材质作为其lightingModel
。 这是最便宜的一个。 - 这个材质将把
writesToDepthBuffer
设置为true
,colorBufferWriteMask
设置为[]
(空选项设置)。 这样多维数据集将写入深度缓冲区,但不会在屏幕上绘制任何东西。 - 将多维数据集的
renderingOrder
设置为-1
以便在场景中的任何其他节点之前绘制它。 这将使多维数据集在任何其他对象之前写入深度缓冲区,防止它们在多维数据集之后被绘制。