ตัวควบคุม

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ใน ห้องสมุดตัวควบคุมตัวละคร (CCL) อินสแตนซ์ ControllerManager หลักจะจัดการการจำลองทางกายภาพของตัวละครและการโต้ตอบกับสภาพแวดล้อม ซึ่งรวมถึงการเปลี่ยนแปลงโดยเจตนาในด้านการเคลื่อนที่และความรู้สึกที่ออกแบบมาเพื่อแก้ไขความไม่สอดคล้องกันของ Humanoid ที่เกิดจากการออกแบบเดิม รวมถึงการปรับปรุงทางกายภาพ เช่น ความเสียดทานของพื้นดิน เส้นโค้งการเร่งเชิงเส้น และการอนุรักษ์โมเมนตัมเชิงเส้นและเชิงมุมอย่างสมจริงเมื่อกระโดด

เปิดใช้งาน CCL

CCL คือ เลือกเข้าใช้ ผ่านหน้าต่าง การตั้งค่าอวตาร์ ของ Studio เพื่อเปิดใช้งาน:

  1. จากแท็บ อวตาร์ ให้เปิด การตั้งค่าอวตาร์.

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

    การเปิดปิดห้องสมุดตัวควบคุมตัวละครในหน้าต่างการตั้งค่าอวตาร์
  3. ความสามารถมาตรฐานทั้งหมด เช่น การวิ่ง, การกระโดด, และ การปีน ถูกเปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดการใช้งานความสามารถใด ๆ ในระหว่างการทำงาน ให้ยกเลิกการเลือกกล่องที่เกี่ยวข้อง

โครงสร้าง

ภายใต้การจัดการของอินสแตนซ์ ControllerManager หลักภายในโมเดลตัวละคร ตัวควบคุมแต่ละตัว เช่น GroundController และ AirController จะกำหนดวิธีการใช้การเคลื่อนไหวกับตัวละคร ความสามารถต่าง ๆ จะโต้ตอบกับ ControllerManager และลูกหลานของมันเพื่อปรับเปลี่ยนพฤติกรรมของตัวควบคุมหรือตัดสลับระหว่างตัวควบคุม

การตั้งค่า

ในขณะที่เกมของคุณกำลังทำงาน (หรือผ่านสคริปต์ที่ทำงานจาก ServerScriptService) คุณสามารถทดลองกับ ControllerManager และตัวควบคุมที่สร้างขึ้นมา

ระหว่างการทำงาน

เพื่อทดลองกับการตั้งค่าตัวควบคุในขณะทำงาน:

  1. เริ่มการทดสอบการเล่น

  2. ใน Explorer ค้นหาโมเดลตัวละครใน Workspace และขยายต้นไม้ ControllerManager:

  3. เลือก either ControllerManager หรือหนึ่งในลูกหลานของมันและในหน้าต่าง Properties ปรับแต่งคุณสมบัติต่าง ๆ เช่นที่สรุปไว้ในตารางด้านล่าง (โปรดทราบว่าตารางเหล่านี้ไม่ได้ครบถ้วน; กรุณาอ้างอิงเอกสาร คลาส API สำหรับตัวเลือกคุณสมบัติเพิ่มเติม)

    คุณสมบัติคำอธิบาย
    BaseMoveSpeedความเร็วการเคลื่อนไหวเชิงเส้น พื้นฐาน ที่ใช้โดยตัวควบคุมทั้งหมด ตัวควบคุมจะปรับความเร็วการเคลื่อนไหวให้เหมาะสมจากคุณสมบัติ MoveSpeedFactor ของตนเอง
    BaseTurnSpeedความเร็วการหมุนเชิงมุม พื้นฐาน ที่ใช้โดยตัวควบคุมทั้งหมดเพื่อจัดเรียงตัวละครให้หันไปในทิศทางที่ต้องการ ตัวควบคุมบางตัวปรับความเร็วการหมุนผ่านคุณสมบัติ TurnSpeedFactor ของตนเอง
    UpDirectionVector3 ซึ่งบ่งบอกเวกเตอร์ที่หันขึ้นสำหรับ ControllerManager.RootPart

สคริปต์

เพื่อกำหนดค่าตัวควบคุมสำหรับตัวละครทั้งหมดผ่านสคริปต์:

  1. สร้าง Script ฝั่งเซิร์ฟเวอร์ใหม่ภายใน ServerScriptService และเปลี่ยนชื่อเป็น ControllerScript

  2. คัดลอกและวางรหัสต่อไปนี้ลงในสคริปต์ใหม่ ตัวอย่างนี้จะเพิ่มความเร็วในการเคลื่อนที่/หมุนแบบอยู่กับที่บนพื้น รวมถึงเพิ่มเวลาการเร่งและการลดความเร็วเล็กน้อย คุณสามารถปรับแต่งคุณสมบัติอื่น ๆ เช่นที่อธิบายไว้ใน ตารางข้างต้น หรือสำหรับแต่ละคลาสตามเอกสาร (ControllerManager; GroundController; AirController; ClimbController; SwimController)

    สคริปต์ใน ServerScriptService

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")
    if ControllerManager then
    local GroundController = ControllerManager:FindFirstChild("GroundController")
    if GroundController then
    -- เพิ่มความเร็วในการเคลื่อนที่และหมุนเป็นสองเท่า
    GroundController.MoveSpeedFactor *= 2
    GroundController.TurnSpeedFactor *= 2
    -- เพิ่มเวลาการเร่งและการลดความเร็วเล็กน้อย
    GroundController.AccelerationTime = 0.2
    GroundController.DecelerationTime = 0.4
    end
    end
    end
    local function onPlayerAdded(player)
    if player.Character then
    onCharacterAdded(player.Character)
    end
    player.CharacterAdded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ