是否有可能在场景工具包中的半透明物体后面渲染粒子?

时间:2015-10-13 15:59:36

标签: ios macos frameworks scenekit particle-system

我正在尝试使用Scenekit,当我尝试在半透明对象后面渲染粒子时,我遇到了一个问题。它们只是在场景中的其他对象进行渲染时才会渲染。

enter image description here

在此图片上,所有粒子都位于半透明盒子的前面,后面的所有粒子都不会显示。您可以看到球体已正确显示,并且覆盖部分的颜色会减弱。我希望粒子能够做到这一点,但是为了使粒子系统高效,框架的渲染选择可能使这种行为正常吗?

我试过google / stackoverflow它,但似乎scenekit不是一个很好的主题。

1 个答案:

答案 0 :(得分:2)

半透明度在很大程度上取决于绘制顺序。使用Alpha混合时,渲染器会读取帧缓冲区中的当前值,并在这些值的顶部混合半透明颜色。

这意味着应首先绘制不透明对象,并从后向前绘制半透明对象。如果在半透明对象之后绘制不透明对象,则渲染器不会混合当前颜色。

使用SceneKit,绘制顺序可以由场景节点上的renderingOrder属性控制。

  

节点的内容相对于其他节点的内容的顺序   节点

Apple Docs