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,渲染的结果不是替换的,是

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM