SceneKit剔除飞机

我在SCNView中有一个SCNScene渲染。 我有一些在场景中呈现/移动的* .dae模型。

我有一个透明的立方体,当我的一个模型落在它后面时,我希望模型不被渲染,因为此刻立方体是透明的,可以通过立方体看到它。

是否有任何属性/设置/着色器可以应用到透明立方体,以便它后面的任何东西都不被渲染?

例:

我的眼睛是绿色的圆点,立方体是蓝色的方形,我的模型是红色的圆圈,然而,立方体隐藏的圆圈部分是紫色的……这实际上是隐形的。 蓝色的广场也是不可见的。

卡尔

这个开发者有一个遮挡着色器,它可以做我需要的,但它是Unity: https : //youtu.be/MK3D91kCKzM

亲切的问候

克里斯

这是一个解决scheme

  1. 对于立方体,请使用具有constant的材质作为其lightingModel 。 这是最便宜的一个。
  2. 这个材质将把writesToDepthBuffer设置为truecolorBufferWriteMask设置为[] (空选项设置)。 这样多维数据集将写入深度缓冲区,但不会在屏幕上绘制任何东西。
  3. 将多维数据集的renderingOrder设置为-1以便在场景中的任何其他节点之前绘制它。 这将使多维数据集在任何其他对象之前写入深度缓冲区,防止它们在多维数据集之后被绘制。