跳到主要内容

相机基础

相机实体​

PlayCanvas 应用使用相机实体将场景渲染到屏幕,以便查看。相机以组件的形式添加到实体上。

要从 PlayCanvas Editor 运行场景,场景中必须至少存在一个已启用的相机实体。

创建相机实体​

最快的添加方式是使用层级面板:

  • 点击层级面板右上角的 +(添加实体)按钮,或右键点击现有实体。
  • 从菜单中选择 Camera。

这会创建一个已经附加相机组件的新实体。

也可以为已有实体添加相机:选中实体,在检查器中点击 Add Component,然后选择 Camera。

下面的视频展示了这些按钮在编辑器中的位置:

相机属性​

与其他组件一样,相机组件通过一组属性控制行为。下面介绍让场景显示到屏幕时最重要的属性。完整列表见相机组件参考。

Enabled(启用)​

启用后,相机会在场景加载时将场景渲染到其渲染目标。可以同时启用多台相机,例如实现分屏游戏或小地图。Priority 属性决定已启用相机的渲染顺序。

Clear Color Buffer / Clear Color(清除颜色缓冲 / 清除颜色)​

启用 Clear Color Buffer 后,相机会在渲染场景前清除渲染目标中的已有内容(上一帧的渲染结果),并使用 Clear Color 填充。

Projection(投影)​

投影类型决定如何将 3D 场景转换为页面上渲染的 2D 画面。

Perspective(透视)是游戏中最常见的投影类型。Orthographic(正交)则在渲染时不产生透视效果,适合 2D 游戏。正交相机使用 Ortho Height 属性代替视野角度。

Field of View(视野角度)​

透视相机的视野角度决定能显示多少场景内容,以度(°)为单位。默认值 45° 表示,从相机位置看,画面上边缘和下边缘形成 45° 的夹角。

视野角度

视野角度独立于显示区域宽度,因此宽屏视图(浅蓝色)在垂直方向与窄屏视图(深蓝色)显示相同范围,但水平方向显示更多内容。

Near Clip / Far Clip(近裁剪 / 远裁剪)​

近、远裁剪距离定义了相机空间中绘制几何体的范围。距离相机小于 Near Clip 或大于 Far Clip 的内容均不会被渲染。

Priority(优先级)​

当多台相机同时启用时,此数值决定渲染顺序。数值越小,优先级越高,越先渲染。

Viewport(视口)​

视口是相机渲染目标中的一个矩形区域,由四个 0 到 1 之间的归一化数值组成,依次表示从左下角测量的 X、Y、宽度、高度。例如,要将相机限制在屏幕左下四分之一区域渲染,设置为 0, 0, 0.5, 0.5。

脚本接口​

运行时,可以通过脚本组件读取和修改上述属性。完整脚本接口见 CameraComponent API。

另请参阅​