渲染层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染层相关的知识,希望对你有一定的参考价值。

Unity中的渲染顺序自上而下大致分为三层。

最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相机(具体的覆盖关系有don‘t clear, solid color等等几种)

比Camera低一层的是sorting layer层, 排位靠后的sorting layer会覆盖排位靠前的sorting layer,这些sorting layer的遮挡关系是在同一个camera的层级下的。 不同camera下的renderer渲染顺序以camera的depth为准。 有的component的sorting layer可以直接在unity editor里面设置,比如Sprite Renderer。 有的则需要用代码来设置,比如设置Particle system的sorting layer, 就需要在代码中取到 ParticleSystem.Renderer.SortingLayer 来进行设置。

比sorting layer低一层的是sorting order, 这个数字指代的是在同一个sorting layer下的渲染顺序。

常用的NGUI的widget depth其本质也是一个sorting layer下的sorting order。 NGUI用的是叫“UI" 的sorting layer。 由此大家如果有需要,也可以自己取Hack NGUI的代码,把NGUI的sorting layer暴露出来供自己定制。

以上是关于渲染层的主要内容,如果未能解决你的问题,请参考以下文章

uniapp渲染原理

在 OpenGL ES 中渲染“层”

浏览器渲染流程&Composite(渲染层合并)简单总结

离屏渲染(图层性能 15.2)

OpenGL - 在附加层下渲染透明度

浏览器渲染优化3