ควบคุมความเคลื่อนไหวย้อนกลับ

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

ควบคุมความเคลื่อนไหวย้อนกลับ (IK) เป็นเทคนิคทั่วไปในการทำแอนิเมชันคอมพิวเตอร์เพื่อทำให้ตัวละครเคลื่อนไหวและมีปฏิสัมพันธ์กับสภาพแวดล้อมได้อย่างสมจริง เทคนิคนี้สร้างการเคลื่อนไหวที่สมจริงสำหรับตัวละครมักต้องมีการปรับแต่งและเปลี่ยนแปลงในหลายๆ แบบของข้อต่อ ด้วย IK คุณสามารถจัดท่าและทำแอนิเมชันสำหรับหลายส่วนของตัวละครโดยการจัดท่าหรือปรับเปลี่ยนวัตถุเพียงอย่างเดียว

เทคนิคการทำแอนิเมชันนี้สามารถให้โซลูชันสำหรับตัวอย่างต่อไปนี้:

จับและจัดท่ามือของตัวละครในขณะที่ปรับข้อต่อที่เกี่ยวข้องโดยอัตโนมัติเช่นข้อมือ, ข้อศอก และไหล่
ทำให้เท้าของตัวละครมีปฏิสัมพันธ์อย่างสมจริงบนพื้นผิวและลาดเอียงที่แตกต่างกัน
จับและย้ายวัตถุเป้าหมายเพียงหนึ่งเดียวเพื่อสร้างการมีปฏิสัมพันธ์อย่างสมจริงกับตัวละครและอุปกรณ์ประกอบฉากของคุณอย่างรวดเร็ว

IKControl

คุณสามารถใช้ IKControl เพื่อเพิ่ม IK ให้กับระบบตัวละครของคุณนอกเหนือจาก Animation Editor สตูดิโอช่วยให้คุณสามารถนำ IK ไปใช้กับตัวละครทั้งหมด เช่น R15, Rthro และตัวละครที่นำเข้ามาที่กำหนดเอง เพื่อสร้างการเคลื่อนไหวและปฏิสัมพันธ์อย่างสมจริงในเกมของคุณ

เมื่อเพิ่ม IKControl ให้ตั้งค่าคุณสมบัติ ที่ต้องการ ให้ถูกต้องเพื่อหลีกเลี่ยงผลลัพธ์แอนิเมชันที่ไม่คาดคิดและไม่เป็นธรรมชาติ เช่นเดียวกับการทำแอนิเมชันทั้งหมด ทดสอบ IKControls ของคุณ เพื่อให้แน่ใจว่าคุณได้รับพฤติกรรมที่ต้องการ

คุณสมบัติที่ต้องการ

เมื่อเพิ่ม IKControl ให้กับ Humanoid ของตัวละครของคุณหรือ AnimationController คุณต้องตั้งค่าคุณสมบัติที่ต้องการต่อไปนี้เพื่อเปิดใช้ IK:

คุณสมบัติคำอธิบาย
Typeระบุประเภทพฤติกรรมของการควบคุม IK ดู Enum.IKControlType เพื่อดูรายการตัวเลือกพฤติกรรม ประเภทพฤติกรรมทั่วไปคือ Position หรือ Transform
EndEffectorส่วน BasePart หรือ Bone ในระบบตัวละครของคุณที่ติดตามไปยัง Target ตัวอย่างเช่น คุณสามารถตั้งค่ากระดูก LeftHand เป็น EndEffector เพื่อเข้าถึงวัตถุที่เป็นลูกบิดประตูที่ตั้งไว้เป็น Target
Targetวัตถุที่ EndEffector เข้าถึงหรือชี้ไปที่ วัตถุ Target อาจเป็นวัตถุใด ๆ ที่มีตำแหน่งในโลก
ChainRootกำหนดโซ่ของ BaseParts หรือ Bones ที่ IKControl มีผลกระทบ ทุกส่วนที่เชื่อมต่อระหว่าง ChainRoot และ EndEffector จะได้รับผลกระทบจาก IKControl โดยใช้ประเภทพฤติกรรมที่กำหนดไว้

ตัวอย่างเช่น หาก LeftHand ของตัวละครของคุณถูกตั้งค่าเป็น Target คุณสามารถใช้ IK กับแขนซ้ายทั้งหมดโดยตั้งค่า ChainRoot เป็น LeftUpperArm หากต้องการใช้ IK ให้เฉพาะกับส่วนด้านล่างของข้อศอก ให้ตั้งค่า ChainRoot เป็น LeftLowerArm

ทดสอบ IKControls

คุณสามารถเพิ่มและแก้ไข IKControl ได้โดยโปรแกรมหรือโดยตรงผ่าน Explorer คุณยังสามารถเพิ่มและทำการเปลี่ยนแปลงกับ IKControl ระหว่างการทดสอบเล่นเพื่อให้ตรวจสอบได้อย่างรวดเร็วว่าคุณสมบัติต่างๆ ส่งผลกระทบต่อลักษณะการเคลื่อนไหวของตัวละครอย่างไร

ในการทดสอบอย่างรวดเร็ว IKControl ของคุณโดยใช้ Attachment เป็นเป้าหมาย:

  1. จาก mezzanine ของ Studio เริ่มการทดสอบเล่น.

  2. ใน Explorer ให้ไปที่ Workspace → โมเดลของผู้ใช้ของคุณ Model โดเมน Model นี้จะมีชื่อเหมือนบัญชี Roblox ปัจจุบันของคุณ

  3. คลิกที่ไอคอน ข้าง HumanoidRootPart ของโมเดลตัวละครของคุณและเพิ่ม Attachment.

  4. เลือก Attachment และใช้เครื่องมือ Move เพื่อตำแหน่งวัตถุให้ตั้งอยู่ด้านหน้าตัวละครของคุณในมุมมอง

  5. ในหน้าต่าง Explorer ให้เลือกไอคอน ข้าง Humanoid ของตัวละครของคุณและเพิ่ม IKControl

  6. เลือก IKControl และตั้งค่าค่าคุณสมบัติต่อไปนี้ในหน้าต่าง Properties:

    1. Type: เลือก Transform จากรายการดรอปดาวน์
    2. EndEffector: เลือก MeshPart LeftHand ของโมเดลของคุณใน Explorer
    3. Target: เลือกวัตถุ Attachment ที่เพิ่งสร้างขึ้นใน Explorer
    4. ChainRoot: เลือก MeshPart LeftUpperArm ของโมเดลของคุณใน Explorer
    คุณสมบัติของ IKControl
    Explorer - โมเดลตัวละคร

    แขนซ้ายของตัวละครของคุณจะยื่นไปหาวัตถุ Attachment เป้าหมาย คุณสามารถทดลองการเคลื่อนที่ Attachment หรือแก้ไขคุณสมบัติ IKControl เพื่อให้ได้ผลลัพธ์ที่แตกต่างกัน

เพิ่มข้อจำกัด

คุณสามารถใช้ Constraints เพื่อตรวจสอบการเคลื่อนไหวของข้อต่อเมื่อเข้าถึงเป้าหมาย ข้อจำกัดสามารถทำให้มั่นใจว่าข้อต่อเช่นข้อศอกและหัวเข่าจะงอนอย่างเป็นธรรมชาติ หรือทำให้ข้อต่อทางกลหมุนในทิศทางที่เฉพาะเจาะจง

ข้อศอกงออย่างไม่เป็นธรรมชาติ
ข้อศอกงออย่างถูกต้อง

ในการเพิ่มข้อจำกัดให้กับตัวละครของคุณโดยใช้ IKControl IKControl และข้อจำกัดต้องเป็นไปตามเงื่อนไขต่อไปนี้:

  • การเชื่อมโยงที่อ้างอิงใน Attachment0/Attachment1 ของข้อจำกัดต้องเชื่อมต่อกับส่วนเดียวกันกับ Motor6D Part0/Part1
  • ตำแหน่งสัมพัทธ์ของ Attachment0/Attachment1 ต้องเท่ากับตำแหน่งที่เกี่ยวข้องของ Motor6D C0/C1 CFrames
  • ข้อจำกัดและ IKControl ต้องแชร์ Model พาเรนต์เดียวกัน

คำแนะนำด้านล่างอธิบายถึงกระบวนการในการเพิ่ม HingeConstraint เพื่อตรวจสอบการหมุนของข้อศอกของตัวละครและเพิ่ม BallSocketConstraint ไปยังข้อมือเพื่อลดมุมการหมุน

ข้อศอก

ตัวละคร Roblox R15 มักจะรวมถึงการเชื่อมโยงในข้อต่อที่คุณสามารถใช้เพื่อนำข้อจำกัดข้อศอกไปใช้ สำหรับข้อศอก ทั้ง LeftUpperArm และ LeftLowerArm จะมี LeftElbowRigAttachment ร่วมกับการเพิ่มข้อจำกัด คุณยังต้องเพิ่มการเชื่อมโยงลูกสาวเพิ่มเติมไปยัง LeftElbowRigAttachment ของแต่ละส่วนเพื่อตั้งค่าทิศทางที่ข้อศอกสามารถหมุนได้

ในการเพิ่ม HingeConstraint และการเชื่อมโยงลูกสาว:

  1. ใน Explorer ให้ค้นหา LeftLowerArm ของโมเดลของคุณและคลิกที่

  2. เพิ่ม HingeConstraint ที่มีชื่อว่า LeftElbowConstraint

  3. ใน Explorer ให้ไปที่ LeftUpperArm.LeftElbowRigAttachment และเพิ่มการเชื่อมโยง:

    1. คลิกที่ เพื่อเพิ่ม Attachment ที่มีชื่อว่า LeftElbowConstraintAttachment0

    2. ในมุมมองให้เลือกการเชื่อมโยงและใช้เครื่องมือ Rotate เพื่อหมุนการเชื่อมโยงเพื่อให้ PrimaryAxis สีเหลืองเป็นแกนที่ข้อศอกควรหมุน

    3. ตั้งค่า LeftElbowConstraint.Attachment0 เป็นการเชื่อมโยงใหม่นี้

  4. ใน Explorer ให้ไปที่ LeftLowerArm.LeftElbowRigAttachment ของโมเดลของคุณและเพิ่มการเชื่อมโยง:

    1. คลิกที่ และเพิ่ม Attachment ที่มีชื่อว่า LeftElbowConstraintAttachment1
    2. ตั้งค่า LeftUpperArm.LeftElbowConstraint.Attachment1 เป็นการเชื่อมโยงใหม่นี้
    3. คัดลอกคุณสมบัติ LeftElbowConstraintAttachment0.CFrameOrientation และวางลงในค่า LeftElbowConstraint.Attachment1.CFrameOrientation

ทดสอบ IKControl ของคุณเพื่อยืนยันว่าข้อศอกหมุนอยู่บริเวณแกนบานพับเท่านั้น:

ข้อมือ

แม้ว่าจะมีการจำกัดข้อศอก แต่ IKControl ยังสามารถสร้างท่าโพสที่ไม่สมจริงกับข้อมือได้

ข้อมืองออย่างไม่เป็นธรรมชาติที่ทิศทางบางอย่าง

คุณสามารถปรับปรุงได้โดยการเพิ่ม BallSocketConstraint เพื่อลดการหมุนของข้อมือ แม้ว่ากระบวนการนี้จะคล้ายคลึงกับการเพิ่ม HingeConstraint ให้กับข้อศอก แต่คุณสามารถใช้คุณสมบัติ LimitsEnabled บนข้อจำกัดนี้เพื่อควบคุมช่วงของการเคลื่อนไหวของข้อมือได้มากขึ้น

ในการเพิ่ม BallSocketConstraint สำหรับข้อมือ:

  1. ใน Explorer ให้ค้นหา LeftHand ของโมเดลของคุณและคลิกที่
    1. เพิ่ม BallSocketConstraint ที่มีชื่อว่า LeftWristConstraint
  2. ค้นหา LeftLowerArm.LeftWristRigAttachment ของโมเดลของคุณและเพิ่มการเชื่อมโยง:
    1. คลิกที่ และเพิ่ม Attachment ที่มีชื่อว่า LeftWristConstraintAttachment0
    2. ในมุมมองให้เลือกการเชื่อมโยงและใช้เครื่องมือ Rotate เพื่อหมุนการเชื่อมโยงเพื่อให้ PrimaryAxis สีเหลืองชี้ไปที่ปลายนิ้วของโมเดล
    3. ตั้งค่า LeftWristConstraint.Attachment0 เป็นการเชื่อมโยงใหม่ LeftWristConstraintAttachment0
  3. ค้นหา LeftHand.LeftWristRigAttachment ของโมเดลและเพิ่มการเชื่อมโยง:
    1. คลิกที่ และเพิ่ม Attachment ที่มีชื่อว่า LeftWristConstraintAttachment1
    2. คัดลอกคุณสมบัติ LeftWristConstraintAttachment0.CFrameOrientation และวางเป็นคุณสมบัติ LeftWristConstraintAttachment1.CFrameOrientation
    3. ตั้งค่า LeftWristConstraint.Attachment1 เป็น LeftWristConstraintAttachment1 ใหม่นี้
  4. ใน Explorer ให้เลือก LeftWristConstraint
  5. ในหน้าต่าง Properties ตั้งค่าให้ต่อไปนี้:
    1. เปิดใช้งาน LimitsEnabled
    2. ตั้งค่า UpperAngle เป็น 80 จำนวนนี้จะควบคุมว่าแกนของข้อจำกัดจะหมุนได้เท่าไหร่ โดย 80 องศาประมาณว่าข้อมือน่าจะสามารถงอได้เท่าไร
  6. ขึ้นอยู่กับตัวละครของคุณ คุณอาจต้องปรับทิศทางที่กรวยชี้อยู่ คุณสามารถทำได้โดยการใช้เครื่องมือ Rotate เพื่อหมุนการเชื่อมโยง Attachment0 ของข้อจำกัด

เมื่อเลือก LeftWristConstraint จะมีกรวยสีเขียวปรากฏขึ้นเพื่อแสดงถึงขอบเขตการเคลื่อนไหวของข้อมือ

เมื่อการจำกัดตั้งค่าเสร็จสิ้น ทดสอบ IKControl โดยให้มือชี้ลงไปข้างหน้าตัวละครและข้อมือควรหมุนและงอได้อย่างสมจริงมากขึ้น

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ