Roblox 的内置相机支持默认的 第三人称 模式和可选的 第一人称 模式,因此您不需要构建自己的后续镜头。对于更多自定义场景,您可以调整 Camera 中的默认属性或完全替换它,如肩部、正射、武器瞄准视图。
基本设置
您可以在 Studio 的 StarterPlayer 对象中直接配置常用相机设置。这些设置包括缩放距离和各种相机、遮蔽和运动模式。
在 Explorer 窗口中,选择 StarterPlayer 对象。
在 属性 窗口中,向下滚动以找到 相机 部分。您可以直接配置以下属性或通过脚本配置。
缩放距离
一起,CameraMaxZoomDistance 和 CameraMinZoomDistance 设置玩家可以对相机进行缩放的范围,与其玩家角色相关。设置一个非常高的最大值,例如 500,可以让玩家将相机远离空间放大。如果您想将相机锁定在特定距离远离角色并防止缩放,将这两个属性设置为相同值。
本地脚本 - 相机缩放范围
local Players = game:GetService("Players")local player = Players.LocalPlayerplayer.CameraMaxZoomDistance = 25player.CameraMinZoomDistance = 50
相机模式
CameraMode 属性设置相机的整体行为在两个选项之间:
设置 | 描述 |
---|---|
经典 | 可以变为第一人称的经典 Roblox 第三人称相机。允许玩家缩放(除非缩放被锁定)并将相机旋转到他们的角色周围。 |
锁定第一个人物 | 将相机锁定为第一人称模式。在这种模式下,玩家角色的所有部分/元素对他们都是隐形的,除了配备的 Tools 。 |
遮蔽模式
DevCameraOcclusionMode 属性控制玩家无法看到他们的角色时,相机的行为,例如当它被BasePart遮蔽时。
设置 | 描述 |
---|---|
缩放 | 如果玩家角色移动到距离Transparency以下的物体后,相机会缩放到角色非常接近以便可见。一旦角色回到可见位置,相机就会缩小。 |
隐形相机 | 如果玩家的角色移动到 0.75 以下的对象后面,相机仍然不动,但对象变得半透明,因此可以看到角色。一旦角色返回到可见位置,对象就会恢复到正常的透明度。 |
移动模式
DevComputerCameraMovementMode 和 DevTouchCameraMovementMode 决定玩家如何移动相机。
设置 | 描述 |
---|---|
用户选择 | 相机将根据玩家的体验相机设置进行移动。 |
经典 | 相机保持在其 缩放距离 ,跟踪玩家的角色在世界上移动时。玩家还可以将相机视图向上/向下倾斜或环绕他们的角色。 |
跟随 | 与 经典 类似,但相机可能会稍微旋转以面向玩家角色,如果他们在任何与相镜头面向方向不平行的方向移动。 |
轨道 | 相机保持在固定的缩放距离,并跟随玩家的角色在世界上移动。玩家可以在他们的角色周围绕着相机转,但不能向上或向下倾斜视图。 |
相机切换 | 仅在计算机 (不是手机/平板) 通过 DevComputerCameraMovementMode 上功能。当玩家单击右键时,相机会切换到 经典 模式和一个“自由欣赏”模式,其中移动鼠标看到世界周围。 |
脚本相镜头
每个玩家 客户端 都有自己的 Camera 对象存在本地 Workspace ,通过 Workspace.CurrentCamera 属性访问。您可以通过将其 设置为 来覆盖 Roblox 的默认摄像头脚本,然后,最常见的是通过以下属性来控制相机。
属性 | 描述 |
---|---|
Camera.CFrame | 相镜头的 CFrame 。这是在体验中定位和旋转 Scriptable 相机最常使用的属性。 |
Camera.FieldOfView | 可在屏幕上看到的观察到的 3D 空间的范围,在 Camera.FieldOfViewMode 定义的方向上的 1–120 度之间测量。默认值为 70。 |
Camera.CameraType | 在 Enum.CameraType 中切换各种相机行为,其中一些模仿可选的 运动模式。将其设置为 Scriptable 可让你完全控制相镜头。 |
Camera.Focus | 相机所看到的 3D 空间的位置。如果你将 Camera.CameraType 设置为 Scriptable ,你应该在每个框架更新此属性,因为某些视觉效果会根据它们与焦点的距离更详细地显示。 |