unity3d从零開始(五):了解摄像机
1、简单介绍
Unity的摄像机是用来将游戏世界呈现给玩家的,游戏场景中至少有一台摄像机。也能够有多台。
2、类型
Unity中支持两种类型的摄像机,各自是Perspective(透视)以及Orthographic(正交)两种。
3、參数
在Unity中创建摄像机对象时。默认情况下除了Transform组件还会带有Camera、GUI Layer、Flare Layer和Audio Listener组件。以下介绍下Camera组件的參数。
3.1 Clear Flags
清除标记。
决定屏幕的哪个部分将被清除。
该项一般用于使用多台摄像机来描绘不同游戏对象的情况,有3中模式:
3.1.1 SkyBox
天空盒。该模式为默认设置。在屏幕中空白的部分将显示当前摄像机的天空盒。假设当前摄像机没有设置天空盒,它会默认使用Background色。
3.1.2 Solid Color
纯色。选择该模式屏幕上的空白部分将显示当前摄像机的Background色。
3.1.3 Depth Only
仅深度。该模式用于游戏对象不希望被裁剪的情况。
3.1.4 Don't Clear
不清除。
该模式不清除不论什么颜色或深度缓存。其结果是,每帧渲染的结果叠加在下一帧之上。一般与自己定义的Shader配合使用。
3.2 Background
背景。该项用于设置背景颜色。在镜头中的全部元素渲染完毕且没有指定Skybox的情况下,将设置的颜色应用到屏幕的空白处。
3.3 Culing Mask
剔除遮罩。根据游戏对象所指定的层来控制摄像机所渲染的游戏对象。
3.4 Projection
投射方式。有两种
3.4.1 Perspective
透视。摄像机将用透视的方式来渲染游戏对象。
3.4.2 Orthographic
正交。
摄像机将用无透视感的方式均匀的渲染游戏对象。
3.5 Field of view
视野范围(仅仅针对透视模式)。该项用于控制摄像机的视角宽度,以及纵向的角度尺寸。
3.6 Size
大小(仅仅针对正交模式)。
该项用于控制正交模式摄像机的视口大小。
3.7 Clipping Planes
剪裁平面。摄像机開始渲染与停止渲染之间的距离。
3.7.1 Near
近点。
摄像机開始渲染的近期的点。
3.7.2 Far
远点。摄像机開始渲染的最远的点。
3.8 Viewport Rect
标准视图矩形。用四个数值来控制该摄像机的视图将绘制在屏幕的位置及大小,该项使用屏幕坐标系,数值在0~1之间。
3.8.1 X
摄像机视图进行绘制的水平位置起点。
3.8.2 Y
摄像机视图进行绘制的垂直位置起点。
3.8.1 W
摄像机视图绘制到屏幕上的宽度。
3.8.1 H
摄像机视图绘制到屏幕上的高度。
3.9 Depth
深度。该项用于控制摄像机的渲染顺序,较大值的摄像机将被渲染在较小值的摄像机之上。
3.10 Rendering Path
渲染路径。该项用于指定摄像机的渲染方法。
3.10.1 Use Player Settings
使用Project Settings->Player中的设置。
该摄像机将使用设置的渲染路径。
3.10.2 Vertex Lit
顶点光照。摄像机将对所以的游戏对象作为顶点光照对象来渲染。
3.10.3 Forward
高速渲染。
摄像机将对全部的游戏对象将按每种材质一个通道的方式来渲染。如同在Unity2.x中的渲染方式。
3.10.4 DeferredLighting
延迟光照。摄像机先对所以游戏对象进行一次无光照渲染。用屏幕空间大小的Buffer保存几何体的深度、光线以及高光强度,生成的Buffer将用于计算光照。同一时候生成一张新的光照信心Buffer。
最后全部的游戏对象会被再次渲染,渲染时叠加光照信息Buffer的内容。
3.11 Target Texture
目标纹理。
该项用于将摄像机视图输出并渲染到屏幕。一般用于制作导航图或者画中画等效果。
3.12 HDR
高动态光照渲染。该项用于启用摄像机的高动态范围渲染功能。由于人眼对地范围的光照强度更为敏感。所以使用高动态范围渲染可以让场景更为真实,光照的变化不会显得太突兀。