UGUI特效和UI公用摄像机渲染时,渲染先后问题

首选,主Canvas的渲染层默认设置为

UGUI特效和UI公用摄像机渲染时,渲染先后问题_第1张图片

在不改动Canvas的情况下 ,改动动效的渲染层,也就是下图位置

UGUI特效和UI公用摄像机渲染时,渲染先后问题_第2张图片

sorting layer ID 是可以添加的渲染层级列表 ,点Default的下拉框可以设置如下图

UGUI特效和UI公用摄像机渲染时,渲染先后问题_第3张图片

目前设置一个font层,此时如果特效的渲染层为front,那么特效就会显示在UI前面,如下图,粉红色为特效

 

如果 使用默认层级 Default ,那么设置Order in Layer 为1 ( 大于Canvas的渲染),特效就会显示在UI前

UGUI特效和UI公用摄像机渲染时,渲染先后问题_第4张图片

如果想显示在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下,转了好几次坐标,浪费计算)

 

你可能感兴趣的:(Unity,UGUI,unity,UGUI特效和UI渲染顺序)