Unity Camera -- (2)相機投影設(shè)置
?在Editor中調(diào)整相機
? ? ? ? 和場景視圖中的其他游戲物體一樣,相機本身也可以通過使用移動和旋轉(zhuǎn)工具來進行調(diào)整。但這種方式比較難用,調(diào)整起來又慢又不精確。我們可以使用Move To View功能來快速調(diào)整相機所拍攝的畫面。
? ? ? ? 1. 打開Camera_Projection_Scene(Scenes目錄)。
? ? ? ? 2. 在Hierarchy中找到PlayerArmature,然后按F鍵,定位到這個游戲物體。
? ? ? ? 3. 旋轉(zhuǎn)縮放場景視圖到我們想要相機所能看到的畫面。
? ? ? ? 4. 在Hierarchy中選中Main Camera,然后按Ctrl+Shift+F(Windows)或Command+Shif+F(MAC)。或者在菜單中選擇GameObject->Align With View。

透視投影
? ? ? ? 在Unity中,相機有兩種投影類型:透視投影(Perspective)和正交投影(Orthographic)。默認情況下,Unity采用透視投影類型。

設(shè)置視野(Filed of View)
? ? ? ? FOV表示相機的可視角度,換句話說就是相機能看到場景里多少東西。這個值的單位是度,默認是60度。
? ? ? ? 我們嘗試將這個值設(shè)置為30度來對比看看。在相機的Inspector中,將Field of View修改成30。


? ? ? ? 相機FOV的值的選取非常重要。如果FOV值較低,可能會造成用戶產(chǎn)生暈動癥(motion sickness)。這個值可以做成是用戶可配置的,如果用戶無法配置,則要確保FOV值滿足一定的指導原則。參考:
? ? ? ?
????????對于電視游戲,用戶和屏幕之間的距離至少有幾米遠,相機的FOV的值至少要是60度(Unity的默認值)。但如果用戶游玩時用的顯示幕和玩家的眼睛靠的很近,則FOV要設(shè)置到一個比較大的值,至少是90度。
? ? ? ? 下面,我們將相機的FOV設(shè)置為120度。設(shè)置完后,我們會發(fā)現(xiàn)相機所能看到的東西大大增加了。但同時我們也可以看到,場景也被不自然地拉伸了(類似廣角鏡頭拍攝的圖)。這種方式可以用來實現(xiàn)出一些我們想要的美術(shù)效果,但我們也要注意,大于90度的FOV同樣可能會引起暈動癥。
正交投影
? ? ? ? 正交投影相機,也叫做2D相機,只會繪制場景X軸和Y軸的信息,Z軸信息(深度)被完全丟棄。
? ? ? ? 1. 在Main Camera的Inspector中,將Projection修改為Orthographic。
? ? ? ? ? ? 現(xiàn)在場景看起來會發(fā)生很大的不同,所有物體看起來就好像是在同一個平面上一樣。

? ? ? ? 我們可以發(fā)現(xiàn),無論角色是遠離相機還是靠近相機,角色的大小都沒有發(fā)生變化,這是由于Z軸并沒有被繪制。因此,正交投影相機對于卷軸游戲(side-scrolling games)非常有用。
調(diào)整相機的大小
? ? ? ? 1. 退出Play模式,回到場景視圖。
? ? ? ? 2. 在Main Camera的Inspector中,調(diào)整一下Size屬性看看效果。
? ? ? ? ? ? ?我們可以在相機預(yù)覽窗口看到,調(diào)整Size屬性后,在場景視圖中,相機整體的縮放框在變化。正交相機只能整體縮放,無法進行單個軸的scale調(diào)整。

