注:在ui介面顯示中,場景中需要乙個清屏的攝像機,所以至少應該有兩個攝像機。
1.當ui介面中有粒子特效時,給ui新增canvas,不會影響粒子的層級。
2.ui中新增貼圖特效時,ui中的canvas的order in layer層級不能太高,太高會使使貼圖的特效看不見,如果硬是要這樣,那只能修改粒子的渲染佇列數值。
1.camera的depth
depth小的先渲染
2.sorting layer
在tags & layers設定中可見
3.order in layer
相對於sorting layer的子排序,用這個值做比較時只有都在同一層時才有效。
4.render queue
shader中對tags設定的「queue」。
排序結果1、camera depth
永遠最高。camera depth小的一定先進渲染管線。除非ugui的screen space - overlay
2、當sorting layer和order in layer相同時
renderqueue小的先進渲染管線。
3、當sorting layer和order in layer不相同時!
3.1 當兩個材質使用了不同的renderqueue,且這兩個renderqueue都在[0~2500]或[2501~5000]時,sortinglayer和orderinlayer的排序生效。
3.2 當兩個材質使用了不同的renderqueue,且這兩個renderqueue分別在[0~2500]和[2501~5000]時,則一定會按照renderqueue繪製,無視sortinglayer、orderinlayer的排序。
2500為unity作為opacity(不透明)和transparent(透明)的分界線,因此如果兩個材質的queue分別在分界線的兩邊,也就是乙個不透明乙個透明,則unity一定會先把不透明的物體送進渲染管線,無論sorting layer和order in layer到底怎麼排序。
ugui:
1.unity3d中的渲染順序如下:
不同的camera的depth
相同camera下的不同sortinglayer
相同sortinglayer下的不同z軸/order in layer
2.改變控制項之間的層級關係
(1)同一canvas下:
改變控制項transform的siblingindex,
transform.getsiblingindex();
transform.setsiblingindex(int index); //index值越大,越後渲染,層級越大,越顯示在前面
(2)不同canvas下:
設定canvas下的sort order
meshrenderer的sortinglayer與canvas的sortinglayer相同
meshrenderer的sortingorder與canvas的orderinlayer相同
css中的層級問題
在css中,涉及到定位 浮動 z index的層級問題時很容易讓人雲裡霧裡。本來我以為想讓誰的層級更高就直接給它設定z index就好了。可是這次做京東專案時,我設定的卻不起作用。情況類似於這樣 class d1 class d2 div div class d3 div d1的高度100px,d2...
Unity中UI和遊戲物體之間的層級渲染
之前使用乙個uicamera和乙個maincamera做場景,希望給場景加上乙個background,但是將background和操作的ui都綁在uicamera,將遊戲物體正常地用maincamera渲染時,出現了遊戲物體遮擋住button或者background直接遮擋住了整個場景的情況。在不清...
Unity指令碼在層級面板中的執行順序測試1
第二篇測試迴圈時和動態建立時的呼叫順序 link 測試版本unity4.6。因為新版本對transform的排序做了改變,所以不排除舊版本的測試結果不一樣。測試時,使用awake中新增debug.log name 來測試順序 1.不管prefab還是非prefab。執行順序最高的均是最後建立的。比如...