Unity 2D Sprite 渲染排序
渲染排序优先级
Sorting Group(排序组) -> Sorting Layer(排序图层) -> Order in Layer(图层中的顺序) -> Distance to Camera(与摄像机的距离)
Sorting Layer(排序图层)
按照 Layer 索引,从小到大的顺序渲染。
Order in Layer(图层中的顺序)
按照 Order 大小,从小到大的顺序渲染。
Distance to Camera(与摄像机的距离)
根据 Project Settings -> Graphics -> CameraSettings 中的设置规则排序。
- 如果设置为:
Transparency Sort Mode: Default, Transparency Sort Axis: 0, 0, 1
,择按照 Sprite 的 Sort Point 的 z 值从大到小的排序渲染。(这是默认设置) - 如果设置为:
Transparency Sort Mode: Custom Axis, Transparency Sort Axis: 0, 1, 0
,择按照 Sprite 的 Sort Point 的 y 值从大到小的顺序渲染。(这是 2.5D 游戏的常见功能)
Sort Point(排序点)
Distance to Camera 的测量位置是 Sprite 的 Sort Point,Sort Point 可以选择为 Center 或 Pivot 。
Sorting Group(排序组)
注意:在此排序过程中,Unity 不会再考虑其子节点每个渲染器的 Distance to Camera(与摄像机的距离) 属性。
本文参考:
https://docs.unity3d.com/cn/2019.4/Manual/2DSorting.html
https://docs.unity3d.com/cn/2019.4/Manual/class-SortingGroup.html
https://docs.unity3d.com/cn/2019.4/ScriptReference/TransparencySortMode.CustomAxis.html