Skip to content
摄像机

摄像机

阅读本文大概需要 5 分钟。

对于 3D 游戏而言,什么样的摄像机设置,配合什么样的游戏风格与类型也是十分重要的,例如动作类游戏、RPG 类游戏、RTS 类游戏、恐怖类游戏、赛车类游戏等等,这些游戏配合不同的摄像机设置才能达到最佳的游戏效果。

更多摄像机使用见产品文档:摄像机

1. 摄像机设置

首先我们要了解什么是摄像机,编辑器中的摄像机就类似我们现实生活中的摄像机一样,被摄像机拍摄到的内容,最终会显示到屏幕上,也就是说玩家在玩游戏时,屏幕上显示的内容就是摄像机当前正在拍摄的内容,你也可以认为摄像机就是代替玩家去看游戏世界的一双眼睛。

在我们的编辑器中,默认每个场景会存在一个摄像机,该摄像机会自动跟拍我们的玩家角色,所以即便你创建了一个空工程,也会看到游戏画面会随着角色移动而移动。

在我们编辑器的“对象管理器”窗口中,可以看到一个游戏物体叫做 Camera,该游戏物体就是我们当前游戏使用的摄像机了,鼠标单击选中“Camera”,可以看到在属性面板中包含了大量的摄像机设置,可以根据自己的需要进行设置修改,如图:

image-20230726105221009

2. 摄像机预设

预设种类:

模式英文名称枚举值说明
第一人称FirstPerson0第一人称视角的摄像机效果
第三人称ThirdPerson1第三人称视角的摄像机效果
俯视角TopDownAngle2俯视角 45 度的摄像机效果
默认Default3类似樱花校园模拟器的默认效果
TPS 过肩视角TPSOverShoulderAngle4第三人称过肩视角的摄像机效果
FPS 射击视角FPSShootingAngle5第一人称射击视角的摄像机效果

切换摄像机预设的代码:

typescript
@Component
export default class CameraControl extends Script {
    /** 当脚本被实例后,会在第一帧更新前调用此函数 */
    protected onStart(): void {
        //客户端才能获取到相机
        if (SystemUtil.isClient()) {
            // 获取当前摄像机
            let cs = Camera.currentCamera;
            // 切换摄像机预设
            cs.preset = CameraPreset.FirstPerson
        }
    }
}
@Component
export default class CameraControl extends Script {
    /** 当脚本被实例后,会在第一帧更新前调用此函数 */
    protected onStart(): void {
        //客户端才能获取到相机
        if (SystemUtil.isClient()) {
            // 获取当前摄像机
            let cs = Camera.currentCamera;
            // 切换摄像机预设
            cs.preset = CameraPreset.FirstPerson
        }
    }
}