这里说的层级是指特效与UI之间的层级,比如说两张图片之间夹一个特效。一般情况下,我们都会有唯一的UI相机,照所有的UI,而特效也同样可以用这个相机去照,而不用再新建相机了。控制层级可以用sortingLayer或者sortingOrder,这两个属性是renderer下面的,所以UI和特效都是有这两个属性。
下面给出个设置特效层级的脚本EffectDepth
using UnityEngine;
public class EffectDepth : MonoBehaviour {
[SerializeField]string m_SortingLayerName;
[SerializeField]int m_SortingOrder;
// Use this for initialization
void Start () {
SortingLayerName = m_SortingLayerName;
SortingOrder = m_SortingOrder;
}
public string SortingLayerName
{
get
{
return m_SortingLayerName;
}
set
{
m_SortingLayerName = value;
Renderer[] renders = this.GetComponentsInChildren<Renderer>();
foreach (Renderer render in renders)
{
render.sortingLayerName = m_SortingLayerName;
}
}
}
public int SortingOrder
{
get
{
return m_SortingOrder;
}
set
{
m_SortingOrder = value;
Renderer[] renders = this.GetComponentsInChildren<Renderer>();
foreach (Renderer render in renders)
{
render.sortingOrder = m_SortingOrder;
}
}
}
}