ความสามารถ ใน Character Controller Library (CCL) ประเมินว่าตัวละครสามารถทำอะไรได้บ้าง เช่น ความสามารถในการวิ่ง กระโดด ปีน และว่ายน้ำ แทนที่จะพึ่งพาสถานะตัวละครที่ถูกกำหนดโดยเอนจินอย่างเข้มงวด เช่นใน Enum.HumanoidStateType, CCL ช่วยให้คุณประกอบพฤติกรรมต่าง ๆ ได้อย่างยืดหยุ่น เช่น ตัวละครสามารถเคลื่อนที่ได้ในขณะที่ตั้งเป้าและนั่งยอง
เปิดใช้งาน CCL
CCL คือ เลือกเข้าใช้ ผ่านหน้าต่าง การตั้งค่าอวตาร์ ของ Studio เพื่อเปิดใช้งาน:
จากแท็บ อวตาร์ ให้เปิด การตั้งค่าอวตาร์.

เลือกแท็บ การเคลื่อนไหว ที่ด้านซ้ายของหน้าต่างและในส่วน ความสามารถ ให้เลือก ห้องสมุดตัวควบคุมตัวละคร.

ความสามารถมาตรฐานทั้งหมด เช่น การวิ่ง, การกระโดด, และ การปีน ถูกเปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดการใช้งานความสามารถใด ๆ ในระหว่างการทำงาน ให้ยกเลิกการเลือกกล่องที่เกี่ยวข้อง
การตั้งค่า
ในขณะที่เกมของคุณกำลังทำงาน (หรือผ่านสคริปต์ที่ทำงานจาก ServerScriptService), คุณสามารถทดลองกับการตั้งค่าความสามารถที่มีอยู่ คุณยังสามารถปรับแต่ง คอนโทรลเลอร์ เฉพาะเพื่อปรับการจำลองทางกายภาพของตัวละครและการโต้ตอบกับสิ่งแวดล้อม เช่น ความเร็วพื้นฐานของการเคลื่อนไหวของตัวละคร
ระยะการทำงาน
เพื่อทดลองกับการตั้งค่าความสามารถในระยะการทำงาน:
เริ่มการทดสอบการเล่น
เลือกความสามารถที่มีมาแล้วหนึ่งอย่าง และภายในส่วน Attributes ของหน้าต่าง Properties ปรับแต่ง attributes เช่นที่กล่าวถึงด้านล่าง
ความสามารถ Attributes Climbing - SpeedMultiplier — ตัวคูณสำหรับ ClimbController.MoveSpeedFactor เมื่อตัวละครปีน
Dead - Enabled — ตัวละครจะตายเมื่อสุขภาพอยู่ที่ 0 หรือน้อยกว่า
- Health ⇔ Humanoid.Health
- MaxHealth ⇔ Humanoid.MaxHealth
- RequiresNeck ⇔ Humanoid.RequiresNeck
FacingMoveDirection - Enabled ⇔ Humanoid.AutoRotate
FallingDown Freefall - SpeedMultiplier — ตัวคูณสำหรับ AirController.MoveSpeedFactor เมื่อตัวละครตกฟรี หมายเหตุว่าผลอาจจะเล็กน้อยเมื่อตัวละครตกฟรีในระยะเวลาสั้น ๆ
GettingUp Jumping - JumpHeight ⇔ Humanoid.JumpHeight
- JumpPower ⇔ Humanoid.JumpPower
- UseJumpPower ⇔ Humanoid.UseJumpPower
NoLocomotion Running - SpeedMultiplier — ตัวคูณสำหรับ GroundController.MoveSpeedFactor เมื่อการเคลื่อนไหวของตัวละครคือการวิ่ง
Sitting Swimming - EnableFastRise — สามารถขึ้นสู่ผิวได้เร็วขึ้นโดยการกดปุ่มกระโดด
- SpeedMultiplier — ตัวคูณสำหรับ SwimController.MoveSpeedFactor เมื่อการเคลื่อนไหวของตัวละครคือการว่ายน้ำ
แบบสคริปต์
เพื่อกำหนดค่าความสามารถสำหรับตัวละครทั้งหมดผ่านสคริปต์:
สร้าง Script ใหม่ในฝั่งเซิร์ฟเวอร์ภายใน ServerScriptService และเปลี่ยนชื่อเป็น 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)
