今天介紹下天空盒的相關內容,如果熟悉的同學請跳過,這塊比較簡單
一、如何創建天空盒
要創建新的天空盒材質,需執行以下操作:
1、從菜單欄中,單擊 Assets > Create > Material。
2、在 Shader 下拉選單中,單擊 Skybox,然後單擊要使用的天空盒著色器。
3、現在可以填寫材質的屬性以設置天空盒。材質的可用屬性取決於材質使用的天空盒著色器。
二、怎麼設置天空盒
創建天空盒材質後,Unity 可將其用於在場景中產生環境光照。
1、打開 Lighting 窗口(菜單:Window > Rendering > Lighting Settings)。
2、將所選天空盒分配給 Skybox Material 屬性。
3、單擊 Source 下拉選單,然後從列表中單擊 Skybox。
如果隻想在特定攝像機的背景中繪制天空盒,請使用 Skybox 組件。將此組件附加到帶有攝像機的遊戲對象時,它會覆蓋攝像機繪制的天空盒。要附加並設置 Skybox 組件,需執行以下操作:
1、選擇場景中的一個攝像機,然後在 Inspector 窗口中進行查看。
2、單擊 Add Component > Rendering > Skybox。
3、在 Skybox 組件中,將天空盒材質分配給 Custom Skybox 屬性。
三、天空盒的種類
Unity 提供瞭多個天空盒著色器供使用。每個著色器使用一組不同的屬性和生成技術。每個著色器都屬於以下兩類之一:
1、紋理化:從一個或多個紋理生成一個天空盒。源紋理代表各個方向的背景視圖。此類別中的天空盒著色器有:
6 面 (6 Sided)。
立方體貼圖 (Cubemap)。
全景 (Panoramic)。
2、程序化:不使用紋理,而是使用材質上的屬性來生成天空盒。此類別中的天空盒著色器有:程序化 (Procedural)。
四、如何制作天空盒所需的6張圖呢?
1、上網找素材
2、用3dMax來生成
3、利用Stellarium制作天空盒
4、用Terragen 4 制作
如果有其他制作方式,歡迎留言指教
五、天空盒的底層原理是怎樣的?
假設我們站在世界上的某一點,那我們看到的世界是什麼樣的?
上圖黑色小圓的圓心是我們所處的位置,淡黃色的線是投影線。世間萬物的光輝,最終都因投影到瞭我們的視野內而為我們所感知。如果我們的視野是一個球面,對這個球面貼圖便能夠實現我們想要的天空盒。
如何進行對球面的貼圖?投影當然是選擇之一,其方法也有很多,常見的有墨卡托投影、等距離投影等等。但對於遊戲開發而言,我們有±X、±Y、±Z三個軸六個方向,我們是否能將這個圓劃分為六個面,分別進行貼圖呢?
於是天空盒誕生瞭,其劃分方法是,將一個立方體和球體,以體心和球心重疊的方法放置,連接球心到立方體的8個頂點,與球面相交。將對應點以原立方體棱邊的形式連接:
形成的球面幾何體被稱為球面立方體:
對外面這個大立方體進行貼圖,貼圖中每個像素點經過與圓心的連邊映射到球面上,形成我們視野的貼圖。
這樣我們就可以得到如下的天空盒:
參考鏈接:
天空 – Unity 手冊
劉冬煜:【shader篇】天體系統(1) 系外恒星與天空盒
劉冬煜:【美工與材質篇】做一個自己的天空盒吧!
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部