標籤:unity 天空盒子 多個攝像機貼圖問題
天空盒子
一般的3D遊戲都會有著北京百年一遇的藍天,讓人驚歎不已。其實天空這個效果沒有什麼神秘的只需用到天空盒子這個組件就行,可以將天空設想成一個巨大的盒子,這個盒子將整個遊戲視圖和所有的遊戲元素包含其中。在unity中製作天空盒子非常方便,只需要像設定其他組件一樣設定下就行了。在製作天空盒子之前,我們需要搜集一些天空的貼圖,不過,unity很方便的為開發人員提供了天空盒子的資源套件。首先在project視圖中點擊滑鼠右鍵,然後選擇import package——skyboxes即可添加天空盒子的資源套件。
在資源套件裡有9個天空資源,因為天空盒子是立方體的,所有就需要6個面的貼圖,選擇第一個,在右側inspector視圖中就會顯示 天空盒子6個面的貼圖:
skybox組件
因為攝像機的正面是遊戲顯示的內容,所以在攝像機上綁定一個skybox組件用來顯示天空盒子貼圖。首先在hierarchy視圖中選擇攝像機對象,然後在導覽功能表欄中選擇component——rendering——skybox。即可將盒子添加到攝像機對象中。接著在盒子組件中設定custom skybox(自訂天空盒子)貼圖資源,點擊右側的按鈕,在彈出選擇天空盒子貼圖的視窗中選擇一款貼圖添加,然後運行,美麗的天空就會出現在你的視線中。
設定完後,調整下攝像機的位置天空效果如:
需要注意的是:如果一個遊戲裡有一個攝像機對象,這樣添加天空盒子是沒有問題的,但有多個攝像機對象,在攝像機之間切換後,天空盒子的貼圖位置就會出現問題。因為貼圖資源只是相對於當前攝像機對象的。那怎麼解決多個攝像機中天空盒子的問題咧?看下文。
在情境中添加天空盒子
在遊戲情境中直接設定盒子,可避免多個攝像機設定盒子切換後貼圖顯示問題。首先在導覽功能表中選擇edit——render setting。開啟渲染設定介面,在該介面中的skybox material(天空盒子材質)選項中設定天空的材質,然後將其直接應用與遊戲情境中。如此添加就可以避免問題,因為這將是真正的盒子放在遊戲界裡了。運行後:
自行添加天空盒子材質
開發人員可以自行添加盒子的材質已滿足不同的需求,首先某材質中,在shader(著色器)下拉式清單中選擇renderfx/skybox,然後使用貼圖資源將六面貼圖賦值填充後即可。