加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:38:13 所属栏目:百科 来源:网络整理
导读:我一直在尝试使用场景工具包创建一个场景,其中指定的对象始终位于其他对象的前面,尽管事实上它实际上位于其他对象的后面.与 blender中使用的效果类似. 显然,blender使用GUI和大量数学来转换2D对象,但我需要在具有SCNGeometry的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,它仍然会在它后面的对象前面,并且在它前面的对象后面,它将是正常的,只有箭头会表现我们想要的方式.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读