前言
這篇文章將會講述關於相機的核心和常用知識。
Camera | 相機
相機是 Unity 中非常關鍵的遊戲物件,相機運用的能力會大大改變遊戲製作的豐富程度,幾乎每一種遊戲都會使用到相機的一些技巧,如果想要製作動畫更是不可避免,甚至要進化成相機魔術師。
ClearFlags | 清除標誌
它的英文翻譯為清除標記,用於定義相機如何清除背景,官方的介紹謹此於此,更白話的說法為,相機中完全沒有任何遊戲物件的地方,應該怎麼處理渲染方式和畫面。
Culling Mask | 剔除圖層
在 Unity 的世界中,每個物件都有自己的 Layer Mask,這個設定在相機中有相當大的用處,我們可以讓相機無視某些物件,並只顯示某些物件。
Depth | 深度
Unity 相機的運作方式很特殊,它能進行多個相機的疊加,也就是說能一台相機作為遊戲主畫面、一台相機照射介面、一台相機播放介面特效,其中深度的運作方式為數字越小越先被繪製。
ClearFlags | 清除標記
接下來談談最重要的相機設定,也就是多重相機疊加最重要的知識點,這跟深度高度配合,越晚被渲染的相機排在越上面,因此深度數字越大的相機,代表它越上面,這種相機越需要設定。
相機的運作原理為,這個函式會對螢幕指定區域進行清除,通常在對多個相機渲染時才會用到。
Skybox | 天空盒
當相機的 ClearFlags 選擇天空盒作為選項,那就代表這個相機會占據整張螢幕,因此這個相機不能放置在最上層,它會覆蓋所有後面的相機。
在相機中沒有照射到遊戲物件的地方,就會用天空盒去渲染。
Solid Color | 純色
當相機的 ClearFlags 選擇純色為選項,那就代表這個相機會占據整張螢幕,因此這個相機也不能放置在最上層,它一樣會覆蓋所有後面的相機。
在相機中沒有照射到遊戲物件的地方,就會用選擇好的顏色去渲染。
Depth Only | 只清除深度緩存
在沒有照射到的地方,相機就不會有任何東西,這就像是 PNG 圖檔中透明的背景一樣,能讓它放置在其他相機的上面,這是我們在多相機疊加時,最常使用到的選項。
Dont Clear | 不清除
效果與 Depth Only 完全相同,不過它不會清除任何緩存,所以如果被渲染的物件被擋住,那就依然會被擋住,就像真實的相機在拍攝一樣。
後記
這篇文章我參考了超級多的文章,從官方的 API 到其他人寫的部落格,我整理出了一套比較容易理解的知識,讓看完這篇文章的讀者就能直接上手,至少知道哪些東西常用就好了。
瓶裝雪
參考資料