unity3D遊戲開發八之天空盒

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方式就可以了,如下圖:


操作完成以後,可以發現,天空盒轉折處的接縫以及完全消失

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章