Unity中的天空盒實際上是一種使用了特殊類型Shader的材質,該種類型材質可以笼罩在整個遊戲情境之外,並根據材質中指定的紋理類比出來類似遠景,天空等的效果,使遊戲情境看起來更完整。
依次開啟功能表列Assets->Import Package->Skyboxes,如:
為項目工程匯入Skyboxes.UnityPackage,匯入時會彈出Importing package對話方塊,對話方塊內會列出資源套件中的所有內容,如:
資源被匯入後,資源套件中包含9個天空盒,如:
在Unity中,天空盒的使用方法有兩種,一種是在Unity中Render Settings(渲染設定)裡進行指定,這種方法是針對遊戲情境的,簡單地講,就是在同一個遊戲情境中,無論使用哪個攝像機對象,天空盒都保持不變,並且該方式指定天空盒可以在Scene視圖中直接顯示。
依次開啟功能表列中的Edit->Render Settings選項,在Inspector視圖中會顯示出Render Settings的參數面板,單擊Skybox Material項右側的圓圈按鈕,在彈出的Select Material對話方塊中為遊戲情境指定天空盒材質,如:
另一種方式是為攝像機對象添加天空盒組件,然後在天空盒組件中進行指定,這種方法只針對攝像機本身,簡單地講,就是在同一個遊戲情境中,如果切換攝像機,天空盒會隨之變換,為攝像機指定的天空盒優先順序會高於在渲染設定中指定的天空盒。
選中攝像機對象,依次單擊功能表列中的Component->Rendering->Skybox選項,為攝像機對象添加天空盒組件,如:
然後照上面的方式添加天空盒材質,在Scene中看不見,所以我們點擊Game視圖,如:
除了skybox資源套件中提供的天空盒外,Unity還支援使用者自製天空盒材質,在製作天空盒材質之前,要準備6張圖片紋理,分別用於貼在天空盒材質的前、後、左、右、上、下等6個面上。圖片可以通過軟體產生或拍照等方式獲得,需要將其處理成無縫串連的效果。
我們先準備好6張紋理圖,然後依次開啟功能表列Assets->Create->Material,建立一個材質,在右側的屬性裡點擊shader下拉式清單裡選擇RenderFX->Skybox,如:
單擊Front(+Z)項右側紋理預覽窗中的Select按鈕,在彈出的Select Texture對話方塊中選擇相應的紋理,如:
依次開啟功能表列中的Edit->Render Settings選項,在Inspector視圖中會顯示出Render Settings的參數面板,單擊Skybox Material項右側的圓圈按鈕,在彈出的Select Material對話方塊中為遊戲情境指定剛才建立的天空盒材質,如:
仔細觀察天空盒的效果,可以發現在天空盒的轉折處又明顯的接縫,這是由於紋理的Warp Mode(迴圈模式)設定方式造成的,將該紋理的Warp Mode設定為Clamp方式就可以了,如:
操作完成以後,可以發現,天空盒轉折處的接縫以及完全消失
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~