Roblox 的內建相機提供了預設的 第三人稱 模式和可選的 第一人稱 模式,因此您不需要自己構建跟隨相機。對於更自訂的場景,您可以調整 Camera 中的預設屬性或完全替換它,例如肩膀上方、等距和武器瞄準視圖。
基本設置
您可以直接在 Studio 的 StarterPlayer 物件中配置常見的相機設置。這些設置包括 縮放距離 和各種 相機、遮擋 和 移動 模式。
在 Explorer 窗口中,選擇 StarterPlayer 物件。

在 Properties 窗口中,向下滾動以找到 Camera 區域。您可以直接或通過腳本配置以下屬性。

縮放距離
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,則應每幀更新此屬性,因為某些視覺效果的細節取決於它們與焦點的距離。 |