UGUI粒子特效层级

昨天,在做一个功能,结算功能,其中特效用到了粒子+Animation。

很尴尬的是特效被其他界面挡住了。

当然此时第一反应肯定是调整粒子的Renderer下面的Order in Layer。调整到高于遮挡的UI

调整完之后。粒子确实是没有被挡住。但是Animation控制的资源还是被挡住了。

然后找模型的Render 发现找不到Renderer组件相关属性。

最后解决是直接加脚本控制

public class UIEffectSort : MonoBehaviour 

 { 

 public int sortingOrder = 100;

 private Renderer[] m_EffectRend; 

 void Awake() 

 { 

//获取脚本下所有Renderer

    m_EffectRend = GetComponentsInChildren();

       //遍历Renderer 

       for (int i = 0; i < m_EffectRend.Length; i++)

            {

                m_EffectRend[i].sortingOrder = sortingOrder; //设置层级

            }

        }

    }

把此脚本挂在ui的粒子特效上面就可以。然后根据需要调整sortingOrder 。

你可能感兴趣的:(UGUI粒子特效层级)