首页 > 代码库 > unity3d从零开始(五):了解摄像机

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


                高动态光照渲染。该项用于启用摄像机的高动态范围渲染功能。因为人眼对地范围的光照强度更为敏感,所以使用高动态范围渲染能够让场景更为真实,光照的变化不会显得太突兀。

unity3d从零开始(五):了解摄像机