前言
  這篇文章將會講述關於相機的核心和常用知識。


Camera | 相機
  相機是 Unity 中非常關鍵的遊戲物件,相機運用的能力會大大改變遊戲製作的豐富程度,幾乎每一種遊戲都會使用到相機的一些技巧,如果想要製作動畫更是不可避免,甚至要進化成相機魔術師。


ClearFlags | 清除標誌
  它的英文翻譯為清除標記,用於定義相機如何清除背景,官方的介紹謹此於此,更白話的說法為,相機中完全沒有任何遊戲物件的地方,應該怎麼處理渲染方式和畫面。


Culling Mask | 剔除圖層
  在 Unity 的世界中,每個物件都有自己的 Layer Mask,這個設定在相機中有相當大的用處,我們可以讓相機無視某些物件,並只顯示某些物件。


Depth | 深度
  Unity 相機的運作方式很特殊,它能進行多個相機的疊加,也就是說能一台相機作為遊戲主畫面、一台相機照射介面、一台相機播放介面特效,其中深度的運作方式為數字越小越先被繪製。


ClearFlags | 清除標記
  接下來談談最重要的相機設定,也就是多重相機疊加最重要的知識點,這跟深度高度配合,越晚被渲染的相機排在越上面,因此深度數字越大的相機,代表它越上面,這種相機越需要設定。


  相機的運作原理為,這個函式會對螢幕指定區域進行清除,通常在對多個相機渲染時才會用到。


Skybox | 天空盒
  當相機的 ClearFlags 選擇天空盒作為選項,那就代表這個相機會占據整張螢幕,因此這個相機不能放置在最上層,它會覆蓋所有後面的相機。
02. 天空盒相機.jpg
  在相機中沒有照射到遊戲物件的地方,就會用天空盒去渲染。


Solid Color | 純色
  當相機的 ClearFlags 選擇純色為選項,那就代表這個相機會占據整張螢幕,因此這個相機也不能放置在最上層,它一樣會覆蓋所有後面的相機。
03. 純色相機.jpg
  在相機中沒有照射到遊戲物件的地方,就會用選擇好的顏色去渲染。


Depth Only | 只清除深度緩存
  在沒有照射到的地方,相機就不會有任何東西,這就像是 PNG 圖檔中透明的背景一樣,能讓它放置在其他相機的上面,這是我們在多相機疊加時,最常使用到的選項。
04. 深度相機.jpg
05. 深度相機畫面.jpg
 

Dont Clear | 不清除
  效果與 Depth Only 完全相同,不過它不會清除任何緩存,所以如果被渲染的物件被擋住,那就依然會被擋住,就像真實的相機在拍攝一樣。


後記
  這篇文章我參考了超級多的文章,從官方的 API 到其他人寫的部落格,我整理出了一套比較容易理解的知識,讓看完這篇文章的讀者就能直接上手,至少知道哪些東西常用就好了。


瓶裝雪
想了解我更多嗎

參考資料
《Unity API | Camera.clearFlags》
《Unity API | Camera component》
《Unity3D 攝像機(Camera)屬性詳解》
《Unity 初识:Camera(相机)》
《9. [Unity 3D 介面 - 中文教學] Main Camera - 小視窗製作》
《透彻解析Unity Camera的Clear Flag属性》
《探寻 Unity Camera 属性之 Clear Flags》

arrow
arrow
    創作者介紹
    創作者 bottledsnowTW 的頭像
    bottledsnowTW

    《遊設計》

    bottledsnowTW 發表在 痞客邦 留言(0) 人氣()