Roblox 的内置相机提供了默认的 第三人称 模式和可选的 第一人称 模式,因此您无需构建自己的跟随相机。对于更自定义的场景,您可以调整 Camera 中的默认属性,或完全替换它,适用于肩上视角、等距视角和武器瞄准视角。
基本设置
您可以直接在 Studio 的 StarterPlayer 对象中配置常见的相机设置。这些设置包括 缩放距离 以及各种 相机、遮挡 和 运动 模式。
在 资源管理器 窗口中,选择 StarterPlayer 对象。

在 属性 窗口中,向下滚动找到 相机 部分。您可以直接或通过脚本配置以下属性。

缩放距离
CameraMaxZoomDistance 和 CameraMinZoomDistance 一起设置玩家相对于其角色的相机缩放范围。设置一个非常高的最大值,比如 500,允许玩家将相机缩放到远处。如果您想将相机固定在距离角色特定的距离并防止缩放,将这两个属性都设置为相同的值。
LocalScript - 相机缩放范围local Players = game:GetService("Players")local player = Players.LocalPlayerplayer.CameraMaxZoomDistance = 25player.CameraMinZoomDistance = 50
相机模式
CameraMode 属性设置相机在两个选项之间的整体行为:
| 设置 | 描述 |
|---|---|
| 经典 | 经典的 Roblox 第三人称相机,可以缩放为第一人称。允许玩家缩放(除非缩放被锁定)并围绕其角色旋转相机。 |
| 锁定第一人称 | 将相机锁定在第一人称模式。当处于此模式时,玩家角色的所有部分/元素对他们是不可见的,除了装备的 Tools。 |
遮挡模式
DevCameraOcclusionMode 属性控制当玩家看不到他们的角色时相机的行为,例如当它被 BasePart 遮挡时。
| 设置 | 描述 |
|---|---|
| 缩放 | 如果玩家的角色移动到一个透明度低于 0.25 的物体后面,相机会非常靠近角色缩放,以便可以看到。当角色重新移动回可视位置时,相机会缩放回去。 |
| 隐形相机 | 如果玩家的角色移动到一个透明度低于 0.75 的物体后面,相机保持不动,但物体变为半透明,以便可以看到角色。当角色重新移动回可视位置时,物体会恢复到正常不透明度。 |
运动模式
DevComputerCameraMovementMode(电脑)和 DevTouchCameraMovementMode(手机/平板)决定玩家如何移动相机。
| 设置 | 描述 |
|---|---|
| 用户选择 | 相机将根据玩家在体验中的相机设置进行移动。 |
| 经典 | 相机保持在其 缩放距离 上,跟踪玩家角色在世界中的移动。玩家还可以上下倾斜相机视图,并围绕角色旋转。 |
| 跟随 | 类似于 经典,但如果玩家的角色朝任何与相机面朝方向不平行的方向移动,相机可能会稍微旋转以面对角色。 |
| 轨道 | 相机保持在固定的缩放距离,跟踪玩家角色在世界中的移动。玩家可以将相机围绕角色轨道,但不能上下倾斜视图。 |
| 相机切换 | 仅在电脑上(不适用于手机/平板)通过 DevComputerCameraMovementMode 功能。玩家右键单击时,相机在 经典 模式和“自由查看”模式之间切换,在此模式中移动鼠标可以查看世界。 |
脚本化相机
每个玩家 客户端 都有自己的 Camera 对象,位于本地 Workspace 中,可以通过 Workspace.CurrentCamera 属性访问。您可以通过将 CameraType 设置为 Scriptable 来覆盖 Roblox 的默认相机脚本,然后,通常通过以下属性控制相机。
| 属性 | 描述 |
|---|---|
| Camera.CFrame | 相机的 CFrame。这是在体验中定位和定向 Scriptable 相机时最常用的属性。 |
| Camera.FieldOfView | 可在屏幕上看到的可观察的 3D 空间的范围,测量在 Camera.FieldOfViewMode 定义的方向上为 1-120 度。默认值为 70。 |
| Camera.CameraType | 切换 Enum.CameraType 中概述的各种相机行为,其中一些模拟可选择的 运动模式。将其设置为 Scriptable 可让您完全控制相机。 |
| Camera.Focus | 相机正在注视的 3D 空间中的点。如果您已将 Camera.CameraType 设置为 Scriptable,则应在每帧更新此属性,因为某些视觉效果的细节取决于它们与焦点的距离。 |