Unity Camera -- (2)相机投影设置
在Editor中调整相机
和场景视图中的其他游戏物体一样,相机本身也可以通过使用移动和旋转工具来进行调整。但这种方式比较难用,调整起来又慢又不精确。我们可以使用Move To View功能来快速调整相机所拍摄的画面。
1. 打开Camera_Projection_Scene(Scenes目录)。
2. 在Hierarchy中找到PlayerArmature,然后按F键,定位到这个游戏物体。
3. 旋转缩放场景视图到我们想要相机所能看到的画面。
4. 在Hierarchy中选中Main Camera,然后按Ctrl+Shift+F(Windows)或Command+Shif+F(MAC)。或者在菜单中选择GameObject->Align With View。

透视投影
在Unity中,相机有两种投影类型:透视投影(Perspective)和正交投影(Orthographic)。默认情况下,Unity采用透视投影类型。

设置视野(Filed of View)
FOV表示相机的可视角度,换句话说就是相机能看到场景里多少东西。这个值的单位是度,默认是60度。
我们尝试将这个值设置为30度来对比看看。在相机的Inspector中,将Field of View修改成30。


相机FOV的值的选取非常重要。如果FOV值较低,可能会造成用户产生晕动症(motion sickness)。这个值可以做成是用户可配置的,如果用户无法配置,则要确保FOV值满足一定的指导原则。参考:
对于电视游戏,用户和屏幕之间的距离至少有几米远,相机的FOV的值至少要是60度(Unity的默认值)。但如果用户游玩时用的显示幕和玩家的眼睛靠的很近,则FOV要设置到一个比较大的值,至少是90度。
下面,我们将相机的FOV设置为120度。设置完后,我们会发现相机所能看到的东西大大增加了。但同时我们也可以看到,场景也被不自然地拉伸了(类似广角镜头拍摄的图)。这种方式可以用来实现出一些我们想要的美术效果,但我们也要注意,大于90度的FOV同样可能会引起晕动症。
正交投影
正交投影相机,也叫做2D相机,只会绘制场景X轴和Y轴的信息,Z轴信息(深度)被完全丢弃。
1. 在Main Camera的Inspector中,将Projection修改为Orthographic。
现在场景看起来会发生很大的不同,所有物体看起来就好像是在同一个平面上一样。

我们可以发现,无论角色是远离相机还是靠近相机,角色的大小都没有发生变化,这是由于Z轴并没有被绘制。因此,正交投影相机对于卷轴游戏(side-scrolling games)非常有用。
调整相机的大小
1. 退出Play模式,回到场景视图。
2. 在Main Camera的Inspector中,调整一下Size属性看看效果。
我们可以在相机预览窗口看到,调整Size属性后,在场景视图中,相机整体的缩放框在变化。正交相机只能整体缩放,无法进行单个轴的scale调整。

