1. 程式人生 > >particle system 渲染在sprite之後,修改渲染層級(即要在sprite之前)

particle system 渲染在sprite之後,修改渲染層級(即要在sprite之前)

製作中比如作一個sprite作為2d動畫序列幀渲染動畫,想要新增店particle system ,

(假如修改了sprite的Order in Layer > 0)那麼此時會發生粒子系統無法在sprite前面顯示,因為系統中預設的layer是

default,對應的Sorting Order為0,就會出現sprite擋住了particle system, 在3d場景檢視中就可以很明顯地看到,那麼就需要

寫個指令碼去修改Sorting Order,

程式碼如下所示:(只需要掛在particle system下就可以了,不過要執行遊戲後才有效果)

using UnityEngine;
using

 System.Collections;

publicclassRendererHandle:MonoBehaviour{

publicintorder;

publicstringlayerName;

//Usethisfor initialization
voidStart(){
GetComponent<Renderer>().sortingLayerName=layerName;
GetComponent<Renderer>().sortingOrder=order;
}
}

也可以通過particle system中的Render面板屬性修改,可以直接看到效果(前面的做法是參照網上資料的,後面的做法是看到5.0後,把Renderer作為Component,所以在屬性中可以查詢到該元件),如下圖所示: