UGUI粒子特效层级
2018-05-26 本文已影响0人
飘荡的句号
昨天,在做一个功能,结算功能,其中特效用到了粒子+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 。