相机

游戏中的相机是用来捕捉场景画面的主要工具。我们通过调节相机相关参数来控制可视范围的大小,在 Cocos Creator 3D 编辑器中相机呈如下表示:

camera

相机的可视范围是通过 6 个平面组成一个 视锥体(Frustum) 构成, 近裁剪面(Near Plane)远裁剪面(Far Plane) 用于控制近处和远处的可视距离与范围,同时它们也构成了视口的大小。

camera view

相机组件

相机组件是我们用来呈现场景画面的重要功能组件。

camera component

属性名称说明
priority相机的渲染优先级,值越小越优先渲染
visibility可见性掩码,声明在当前相机中可见的节点层级集合。
clearFlags相机的缓冲清除标志位,指定帧缓冲的哪部分要每帧清除。包含:
DONT_CLEAR:不清空;
DEPTH_ONLY:只清空深度;
SOLID_COLOR:清空颜色、深度与模板缓冲;
SKYBOX:启用天空盒,只清空深度
clearColor指定清空颜色
clearDepth指定深度缓冲清空值
clearStencil指定模板缓冲清空值
projection相机投影模式。分为 透视投影(PERSPECTIVE)正交投影(ORTHO)
fovAxis指定视角的固定轴向,在此轴上不会跟随屏幕长宽比例变化
fov相机的视角大小
orthoHeight正交模式下的视角
near相机的近裁剪距离,应在可接受范围内尽量取最大
far相机的远裁剪距离,应在可接受范围内尽量取最小
aperture相机光圈,影响相机的曝光参数
shutter相机快门,影响相机的曝光参数
iso相机感光度,影响相机的曝光参数
rect此相机最终渲染到屏幕上的视口位置和大小
targetTexture指定此相机的渲染输出目标贴图,默认为空,直接渲染到屏幕

相机分组渲染

分组渲染功能是通过相机组件(Camera) 的 Visibility 属性配合节点的 Layer 属性共同决定。用户可通过代码设置 Visibility 的值来完成分组渲染。所有节点默认都属于 DEFAULT 层,在所有相机都可见。