我一直在尝试使用场景工具包创建一个场景,其中指定的对象始终位于其他对象的前面,尽管事实上它实际上位于其他对象的后面.与
blender中使用的效果类似.
显然,blender使用GUI和大量数学来转换2D对象,但我需要在具有SCNGeometry的SCNNode中使用此效果,换句话说,当前位于场景中的3D对象.
我考虑使用类别掩码,但在阅读Apple的文档后,我意识到这对我正在寻找的效果不起作用.
有没有人知道在SceneKit中做这个的方法?或者更好的是,甚至可以这样做吗?
非常感谢大家,现在以及我从StackExchange获得的所有其他帮助!
所以,结果我找到了我的问题的答案(在mnuages的帮助下).我只想发一个完整的答案.
原文链接:https://www.f2er.com/swift/318601.html像mnuages建议的那样,我尝试将readsFromDepthBuffer和writesToDepthBuffer都设置为false并将节点的renderingOrder设置为高数字.它的工作方式不对.它总是落后于每个物体,而不是总是在前面.获取图片中显示的结果的方法是将readsFromDepthBuffer设置为false,并将cube的renderingOrder设置为-1,否则将无法绘制它.
由于立方体和其他节点的材料有readFromDepthBuffer和writesToDepthBuffer设置为默认值true,它仍然会在它后面的对象前面,并且在它前面的对象后面,它将是正常的,只有箭头会表现我们想要的方式.
从图像中可以看出,立方体前面的线条部分是可见的.对于背后的部分,不能说同样的事情.