集成NGUI
在實際的項目中,經常會使用NGUI來制作UI,用Main Camera來表現3D,但是NGUI的Camer的投射是正交視圖而非透視,它綁定UICamer的腳本而且它的Tag默認是Untagged
UICamera(UI相機)
MainCamera(主相機)
遇到的問題
搭建完場景之后運行,在Game視圖只有NGUI的渲染,而Main Camer渲染的完全看不到,調Layer及Culling Mask都是沒有出現Main Camera的渲染
解決方法
1. 修改兩個camera的clear flags為depth only
2.設置UICamera.depth>MainCamera.depth
對比兩個Camera的異同,剛開始沒看清楚UICamera的Clear Flags是Skybox
想了想之后,Unity手冊上有講解Camera.Clear Flags的作用。
Clear Flags
Clear Flags 確定了屏幕哪些部分將被清除,這是為了方便使用多個攝像機渲染不同的游戲元素,每個相機在渲染時都會存儲顏色和深度信息。
屏幕的未繪制部分是空的,默認情況下會顯示天空盒。
當你使用多個相機時,每一個相機都將自己的顏色和深度信息存儲在緩沖區中,還將積累每個相機大量的的渲染數據。當場景中任何特定的相機進行渲染時,你可以設定清除標記來清除緩沖區信息的不同集合
camera.clear flags=Solid Color (純色)表示屏幕上的任何空的部分將顯示當前相機的背景顏色。
資料參考:Unity 3D-- 攝像機Clear Flags和Culling Mask屬性用途詳解
文檔資料