unity中控制渲染顺序的方式

https://www.cnblogs.com/DOGame/p/6188102.html
unity中控制渲染顺序的方式

1、Camera 
Camera是unity中最优先的渲染顺序控制。depth越大,渲染顺序越靠后。 

2、sortingLayer 和 sortingOrder 
Canvas和Renderer都有这个属性,优先级仅次于Camera的depth。 

https://www.jianshu.com/p/0341f0ab9020
1.Camera Depth: 越小越优先
2.RenderQueue 2500以下
    1. Sorting Layer/Order in Layer
           1. 按照Sorting Layer/Order in Layer 设置的值,越小越优先
           2. 无此属性,等同于 Sorting Layer=default ,Order in Layer=0 参与排序
     2.RenderQueue 越小越优先
     3.RenderQueue 相等,由近到远排序优先
3.RenderQueue 2500以上
     1. Sorting Layer/Order in Layer
           1. 按照Sorting Layer/Order in Layer 设置的值,越小越优先
           2. 无此属性,等同于 Sorting Layer=default ,Order in Layer=0 参与排序
     2.RenderQueue 越小越优先
     3.RenderQueue 相等,

说明一下:2500是关键值,它是透明跟不透明的分界点,因此我们考虑层级的时候要注意着点:renderqueue > 2500的物体绝对会在renderqueue <= 2500的物体前面,
    即渲染时renderqueue大的会挡住renderqueue小的,不论它的sortingLayer和sortingOrder怎么设置都是不起作用的。
    当两个的RenderQueue都在同一侧时,在SortingLayer高的绝对会在sortingLayer前面,无视renderqueue跟soringOrder,
    只有在sortingLayer相同的前提下,soringOrder高的会在sortingOrder低的前面,无视renderqueue。
    当sortingLayer跟sortingOrder相同时,才看renderqueue的高低,高的在前面。

注意,

1、粒子可以设置Renderer--Masking--Visible Inside Mask,结合SpriteMask达到裁剪的目的。

2、在ScrollView中,修改了子Item的SortingOrder将不会被裁剪

3、ScrollView中粒子和UI混合情况下(外层覆盖SpriteMask),mask要用Rect Mask 2D,才会有效果。

猜你喜欢

转载自blog.csdn.net/ycyc83/article/details/125898823