Unity 渲染层级 RenderQueue SortingLayer SortingOrder

相机渲染顺序

  相机的渲染顺序,由Camera的Depth参数控制

RenderQueue

  Queue分为五个队列:

    Background,天空盒,天生用来被覆盖的(1000)

    Geometry,不透明物渲染队列(2000)

    AlphaTest,通道测试的几何体使用这个队列,这些物体的渲染有点介于Opaue与Transparent之间(2450)

    Geometrylast,特殊的点,定义了透明与不透明的分界点(2500)

    Transparent,不写深度的物体,一般是透明物或粒子效果(3000)

    Overlay,最后渲染的内容,天生覆盖别人的,如UI(4000)

RenderQueue与SortingLayer与Order之间的关系

  1. Queue > 2500的物体绝对会在Queue <= 2500之后渲染,这时Layer、Order将完全不起作用

  2. Queue位于1中的同一侧时,Layer低的先渲染,无视Queue与Order值

  3. Queue位于1中的同一侧时,Layer相同,Order低的先渲染,无视Queue

  4. Layer与Order都一样时,Queue低的先渲染

Opaque调整SortingLayer,SortingOrder为什么没作用?

  因为不透明物体是打开ZWrite的,即使改了SortingLayer与Order,让一个本来在后边(Z值大)的物体先渲染了,但是另一个物体渲染时

    由于Z值小,写深度以后,立马把前边的物体覆盖了,结果总是一样的;透明物渲染时,关闭了ZWrite,渲染的结果不是替换的,是

    混合的,所以先渲染后渲染,结果就可能会不同(与混合的方式有关)

posted on 2020-03-13 21:43  胖福  阅读(1857)  评论(0编辑  收藏  举报

导航