UGUI Canvas 與 特效


UGUI Canvas SortingLayer決定了該Canvas下面的所有子物體的SortingLayer,一個Canvas下面的子物體按照上下順序排序,越靠前的越容易被遮擋,當子物體擁有Canvas組件時,渲染隊列將被重寫,該物體的遮擋關系取決於當前物體的Canvas的orderInLyaer,所以UI應該優先按照Layer排序,然后同意Layer按照OrderInLayer進行排序,同一個OrderInLayer的Canvas下,按照上下順序排序。
 
特效同樣支持sortingOrder與sortingLayerName,當特效與UI的sortingLayerName一致時,調整特效的sortingOrder可以調整特效在UI中的顯示位置,例如特效需要加在A的上面,特效的在orderLayerName一致的情況下,sortingOrder應該大於A的Canvas(從A往上找其父物體,第一個帶Canvas的父物體的Canvas就是A的Canvas,A本身可以沒有Canvas,此處Canvas類似於NGUI的panel概念)的sortingorder,如果特效要在A,B中間,那么A,B應該在2個不同的Canvas下面,特效的sortingorder也在A,B 2個Canvas的sortingOrder中間。
 
特效需要掛的腳本
   Renderer []renders  =  GetComponentsInChildren<Renderer>();
    if(renders == null)
     return;
    for(int i = 0; i < renders.Length; i++){
     renders[i].sortingOrder = order;
     renders[i].sortingLayerName = "Default";
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM