Camera摄像机游戏对象是Unity场景中最重要的游戏对象。每个场景至少需要一个激活的Camera摄像机游戏对象,否则无法显示。玩家或者用户能看到的内容都是通过Camera摄像机游戏对象来展示的。添加或者新建场景以后,默认都会有一个名叫【Main Camera】的Camera摄像机游戏对象。
Unity的Camera提供了2种投影模式,Perspective透视模式Orthographic正交模式。
透视模式是近大远小的模式。
正交模式是远近一样大的模式,常用于2D。
Field of View 视野可以设置视野的夹角,默认为60度,和人眼的舒适视野基本一致。常用于望远镜、瞄准镜、小地图的制作。
Clipping Planes剪裁平面用于设置摄像机看的距离,默认为0.3-1000。简单说就是只能看到距离0.3米-1000米范围内的东西,太近了看不到,太远了也看不到。
Clear Flags清除标识是用于处理屏幕没有渲染的部分显示什么内容。默认为Skybox天空盒。
Culling Mask剔除遮罩可以根据游戏对象的Layer图层决定是否显示该游戏对象。默认为全部都显示。
设置Culling Mask剔除遮罩
设置Layer图层
显示效果
Depth 深度用于设置多个摄像机的显示顺序,数值大的显示在前面,数值小的显示在后面。数值相同的时候,在Inspector层级视图中,下面的显示在前面。
Viewport Rect 用于设置显示范围。“X,Y”是起始坐标,取值范围是0-1,屏幕左下角为“0”,右上角为“1”。“W,H”是高和宽,取值范围是0-1。
Viewport Rect和Depth常用于多个摄像机同时使用时候的设置。
主视角摄像机
地图显示摄像机
显示效果
场景默认的摄像机Main Camera游戏对象的Tag标签默认值为“MainCamera”。Tag标签为“MainCamera”的摄像机并且激活时,可以在脚本中用“Camera.main”的方式直接获取。而之后添加的摄像机,默认的Tag标签都是“Untagged”。
通过直接添加游戏对象添加出来的摄像机游戏对象,默认带有“Audio Listener”组件。该组件的是判断声音源方向和距离的参照。
每个场景中,只能有一个被激活的“Audio Listener”组件,否则运行时会不停的有消息提示。所以,当场景中有多个摄像机游戏对象时,必须删除或禁用多余的“Audio Listener”。
示例场景资源链接: