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

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

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