有时候需要在UI界面上挂粒子特效,但是不管怎么移动特效的位置,在Game里面都看不到特效。 这是因为
粒子特效的默认渲染层级比UI的渲染层级低。 UI默认的渲染层级为3000,把粒子特效的渲染层级改到3000以上就可以了。
public static void SetMaterialRenderQueue(Transform trans, int renderQueue)
{
Renderer[] renders = trans.GetComponentsInChildren<Renderer>();
if (renders != null)
{
for (int i = 0; i < renders.Length; ++i)
{
if (renders[i].material != null) renders[i].material.renderQueue = renderQueue;
}
}
}
renderQueue默认一般为3000,如果想要渲染的物体层级在默认的层级上面,那么renderQueue的值大于3000即可,反之亦然!