Unity3D MainCamera和NGUI UICamera的小插曲


集成NGUI

在實際的項目中,經常會使用NGUI來制作UI,用Main Camera來表現3D,但是NGUI的Camer的投射是正交視圖而非透視,它綁定UICamer的腳本而且它的Tag默認是Untagged

UICamera(UI相機)

image

 

MainCamera(主相機)

image

 

遇到的問題

搭建完場景之后運行,在Game視圖只有NGUI的渲染,而Main Camer渲染的完全看不到,調Layer及Culling Mask都是沒有出現Main Camera的渲染

image

 

解決方法

1. 修改兩個camera的clear flags為depth only

2.設置UICamera.depth>MainCamera.depth

 

對比兩個Camera的異同,剛開始沒看清楚UICamera的Clear Flags是Skybox

image

想了想之后,Unity手冊上有講解Camera.Clear Flags的作用。

Clear Flags

Clear Flags 確定了屏幕哪些部分將被清除,這是為了方便使用多個攝像機渲染不同的游戲元素,每個相機在渲染時都會存儲顏色和深度信息。

屏幕的未繪制部分是空的,默認情況下會顯示天空盒。

當你使用多個相機時,每一個相機都將自己的顏色和深度信息存儲在緩沖區中,還將積累每個相機大量的的渲染數據。當場景中任何特定的相機進行渲染時,你可以設定清除標記來清除緩沖區信息的不同集合

camera.clear flags=Solid Color (純色)表示屏幕上的任何空的部分將顯示當前相機的背景顏色。

資料參考:Unity 3D-- 攝像機Clear Flags和Culling Mask屬性用途詳解

 

文檔資料

攝像機 Camera

 


免責聲明!

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



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