渲染层

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暴露出来供自己定制。

posted @ 2016-03-22 21:39  贴心小冰棍  阅读(290)  评论(0编辑  收藏  举报