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

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

概述我一直在尝试使用场景工具包创建一个场景,其中指定的对象始终位于其他对象的前面,尽管事实上它实际上位于其他对象的后面.与 blender中使用的效果类似. 显然,blender使用GUI和大量数学来转换2D对象,但我需要在具有SCNGeometry的SCNNode中使用此效果,换句话说,当前位于场景中的3D对象. 我考虑使用类别掩码,但在阅读Apple的文档后,我意识到这对我正在寻找的效果不起作用. 我一直在尝试使用场景工具包创建一个场景,其中指定的对象始终位于其他对象的前面,尽管事实上它实际上位于其他对象的后面.与 blender中使用的效果类似.

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

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

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

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

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

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

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

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

总结

以上是内存溢出为你收集整理的swift – 有没有办法把SCNNode总是放在别人面前?全部内容,希望文章能够帮你解决swift – 有没有办法把SCNNode总是放在别人面前?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1041659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存