我正在试用 Scenekit,当我尝试在半透明对象后面渲染粒子时遇到了一个问题。它们只是不渲染,而场景中的其他对象会渲染。
在这张图片上,所有粒子都在半透明框前面,后面的所有粒子都不显示。可以看到球体显示正确,被覆盖部分的颜色变淡了。我希望粒子也一样,但也许框架的渲染选择使粒子系统高效,使这种行为正常?
我试过 google/stackoverflow 它,但似乎scenekit 不是一个很好涵盖的主题。
最佳答案
半透明在很大程度上取决于绘制顺序。通过 alpha 混合,渲染器读取帧缓冲区中的当前值,并在这些值之上混合半透明颜色。
这意味着应先绘制不透明对象,而应从后向前绘制半透明对象。如果在半透明对象之后绘制不透明对象,则渲染器没有当前颜色可供混合。
使用 SceneKit,绘制顺序可以由 renderingOrder
控制场景节点上的属性。
The order the node’s content is drawn in relative to that of other nodes.
Apple Docs
关于ios - 是否可以在场景套件中的半透明对象后面渲染粒子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33107357/