能力 在 角色控制器庫 (CCL) 中評估角色可以做什麼,例如跑步、跳躍、攀爬和游泳的能力。CCL 使行為的靈活組合成為可能,諸如角色可以在瞄準和蹲下的同時移動,而不是依賴於像 Enum.HumanoidStateType 中那樣的剛性引擎定義角色狀態。
啟用 CCL
CCL是透過Studio的虛擬角色設定視窗自選的。要啟用它:
從虛擬角色選項卡,打開虛擬角色設定。

在視窗左側選擇動作選項卡,並在能力部分中,選擇角色控制器庫。

所有標準能力,如跑步、跳躍和攀爬默認啟用。要在運行時禁用其中任何一項,請取消選中相關框。
配置
在遊戲運行時(或通過從 ServerScriptService 運行的腳本),您可以實驗內建的能力配置。您還可以修改特定的 控制器 來調整角色的物理模擬及其與環境的互動,比如角色的基本移動速度。
運行時
要在運行時實驗能力配置:
開始一次遊玩測試。
選擇一個內建能力,在 屬性 窗口的 屬性 部分中,自定義 屬性,如下面所述。
能力 屬性 攀爬 - SpeedMultiplier — 當角色攀爬時對 ClimbController.MoveSpeedFactor 屬性的乘數。
死亡 - Enabled — 當健康值為 0 或更低時角色死亡。
- Health ⇔ Humanoid.Health
- MaxHealth ⇔ Humanoid.MaxHealth
- RequiresNeck ⇔ Humanoid.RequiresNeck
面朝移動方向 - Enabled ⇔ Humanoid.AutoRotate
下墜 自由落體 - SpeedMultiplier — 當角色自由落體時對 AirController.MoveSpeedFactor 屬性的乘數。請注意,當角色自由落體的時間非常短時,效果可能不明顯。
起身 跳躍 - JumpHeight ⇔ Humanoid.JumpHeight
- JumpPower ⇔ Humanoid.JumpPower
- UseJumpPower ⇔ Humanoid.UseJumpPower
無運動 奔跑 - SpeedMultiplier — 當角色奔跑時對 GroundController.MoveSpeedFactor 屬性的乘數。
坐下 游泳 - EnableFastRise — 通過保持跳躍輸入來更快地上升到水面。
- SpeedMultiplier — 當角色游泳時對 SwimController.MoveSpeedFactor 屬性的乘數。
腳本化
要通過腳本為所有角色設置能力配置:
在 ServerScriptService 中創建一個新的伺服器端 Script,並將其重命名為 AbilitiesScript。
將以下代碼複製並粘貼到新腳本中。此示例將 Running 能力的基礎移動速度乘數設置為 2。隨意調整其他能力屬性,例如上述 表格 中描述的那些屬性。
Script in ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local AbilityManagerActor = character:WaitForChild("AbilityManagerActor")local Abilities = AbilityManagerActor:WaitForChild("Abilities")local Running = Abilities:FindFirstChild("Running")if Running then-- 雙倍基礎移動速度Running:SetAttribute("SpeedMultiplier", 2)endendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)
