UGUI特效和UI公用摄像机渲染时,渲染先后问题
首选,主Canvas的渲染层默认设置为
在不改动Canvas的情况下 ,改动动效的渲染层,也就是下图位置
sorting layer ID 是可以添加的渲染层级列表 ,点Default的下拉框可以设置如下图
目前设置一个font层,此时如果特效的渲染层为front,那么特效就会显示在UI前面,如下图,粉红色为特效
如果 使用默认层级 Default ,那么设置Order in Layer 为1 ( 大于Canvas的渲染),特效就会显示在UI前
如果想显示在UI后面,那么保持Default 以及0 值,或者设置更小的值即可,
注意: 博主采用Canvas 模式为 Screen Space -Camera ,
所以,注意如果特效的Z轴坐标小于Canvas(默认为0,不可更改,子物体可以被修改) 的Z轴坐标 ,不然同一Sorting Layer ID下 ,永远显示在UI的前方。
总结 : 控制等级 : Sorting Layer ID > Z轴坐标 > Order in Layer
题外话--> 使用UI层特效 ,直接拿UI的transform坐标,赋值给特效就行了(刚开始为了把特效放到canvas下,转了好几次坐标,浪费计算)