UGUI 上使用 Particle System 支持 Sorting Layer 排序渲染
Unity 中 Particle System 在 UGUI 上是可以根据 Sorting Layer 以及 Order in Layer 和 UI 组件(Image、Text等) 排序渲染的
Layer 值高的能够遮挡 Layer 值低的 组件
开发中会有这样的需求:要求 Particle System 显示在 A Image 上方,但是还要被 B Image、C Text 等遮挡
先看效果
上图中 四个UI 组件的显示优先级为
Text > Image红 > Particle System 特效 > Image 蓝
配置如下
Canvas Render Mode 选择为 WorldSpace 或 Screen Space -Camera 然后配置一个 Camera
Canvas 下新建三个 空节点,添加 Canvas
分别命名为 Sorting0, Sorting1000,Sorting2000
勾选 Canvas 中 Override Sorting
Sorting0 的 OrderInLayer 设置为 0
Sorting1000 的 OrderInLayer 设置为 1000
Sorting2000 的 OrderInLayer 设置为 2000
根据上图
在 Sorting0 下面创建一个 Image 颜色设置为 蓝色
在 Sorting1000 下面创建一个 Particle System
在 Sorting2000 下面创建一个 Image 设置为红色,创建一个 Text 内容设置为 AAAAA
然后选择 Particle System,在 Renderer 模块中
设置 Sorting Layer Id:Defalut (跟Sorting0,Sorting1000,Sorting2000 相同)
设置 Order In Layer :1000
然后运行Unity即可得到想要的效果