swift – 有没有办法把SCNNode总是放在别人面前?

我一直在尝试使用场景工具包创建一个场景,其中指定的对象始终位于其他对象的前面,尽管事实上它实际上位于其他对象的后面.与 blender中使用的效果类似.

显然,blender使用GUI和大量数学来转换2D对象,但我需要在具有SCNGeometry的SCNNode中使用此效果,换句话说,当前位于场景中的3D对象.

我考虑使用类别掩码,但在阅读Apple的文档后,我意识到这对我正在寻找的效果不起作用.

有没有人知道在SceneKit中做这个的方法?或者更好的是,甚至可以这样做吗?

非常感谢大家,现在以及我从StackExchange获得的所有其他帮助!

所以,结果我找到了我的问题的答案(在mnuages的帮助下).我只想发一个完整的答案.

像mnuages建议的那样,我尝试将readsFromDepthBuffer和writesToDepthBuffer都设置为false并将节点的renderingOrder设置为高数字.它的工作方式不对.它总是落后于每个物体,而不是总是在前面.获取图片中显示的结果的方法是将readsFromDepthBuffer设置为false,并将cube的renderingOrder设置为-1,否则将无法绘制它.

由于立方体和其他节点的材料有readFromDepthBuffer和writesToDepthBuffer设置为默认值true,它仍然会在它后面的对象前面,并且在它前面的对象后面,它将是正常的,只有箭头会表现我们想要的方式.

从图像中可以看出,立方体前面的线条部分是可见的.对于背后的部分,不能说同样的事情.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...