กินามิกส์ย้อนกลับ

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

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

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

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

การควบคุม IK

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

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

คุณสมบัติที่จำเป็น

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

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

ทดสอบ IKControls

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

เพื่อทดสอบ IKControl อย่างรวดเร็วโดยใช้ Attachment เป็นเป้าหมาย:

  1. ในแท็บ ทดสอบ ของแถบเครื่องมือ เลือก เล่น เพื่อเริ่มการทดสอบเล่น

  2. ใน สํารวจ , นําทางไปที่ พื้นที่ทํางานModel .ตัวอย่างนี้ Model ได้รับชื่อว่าบัญชี Roblox ปัจจุบันของคุณ

  3. คลิกไอคอน ที่อยู่ติดกับรูปแบบตัวละครของคุณ HumanoidRootPart และเพิ่ม ส่วนแนบ

  4. เลือก แนบไฟล์ และใช้เครื่องมือ ย้าย เพื่อตำแหน่งวัตถุข้างหน้าตัวละครของคุณในหน้าต่างมุมมอง

  5. ในหน้าต่าง สํารวจ เลือกไอคอน ที่อยู่ติดกับตัวละครของคุณ Humanoid และเพิ่ม IKControl

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

    1. ประเภท : เลือก Transform จากกล่องเลื่อน
    2. เอฟเฟกต์สิ้นสุด : เลือก มือซ้าย MeshPart ในสํารวจ
    3. เป้าหมาย : เลือกวัตถุ แนบแน่น ที่สร้างขึ้นใหม่ใน Explorer
    4. ChainRoot : เลือก แขนซ้ายบน MeshPart ใน Explorer
    คุณสมบัติของ IKControl
    แผงนักสํารวจ - โมเดลตัวละคร

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

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

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

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

งอข้อศอกอย่างถูกต้อง

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

  • ไฟล์แนบที่อ้างถึงในคุณสมบัติของข้อจํากัด Attachment0 / Attachment1 จะติดกับชิ้นส่วนเดียวกับ Class.Motor6D``Class.Motor6D.Part0|Part0 / Part1
  • ตําแหน่งที่สัมพันธ์ของ Attachment0 / Attachment1 ต้องเท่ากับตําแหน่งที่ตรงกันของ Class.Motor6D``Class.Motor6D.C0|C0 / C1 CFrames
  • ข้อจํากัดและ IKControl แชร์พ่อเดียวกัน Model

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

ข้อศอก

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

เพื่อเพิ่ม HingeConstraint และสิ่งแนบที่เป็นลูก:

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

  2. เพิ่ม ข้อจำกัดบานพับ ด้วยชื่อ LeftElbowConstraint

  3. ใน Explorer นําไปยัง LeftUpperArm.LeftElbowRigAttachment และเพิ่มการแนบประกอบ:

    1. คลิกที่ปุ่ม เพื่อเพิ่ม แนบไฟล์ ด้วยชื่อ LeftElbowConstraintAttachment0

    2. ในหน้าต่างดูภาพ เลือกส่วนแนบและใช้เครื่องมือ หมุน เพื่อหมุนส่วนแนบให้สีเหลือง เป็นแกนหมุนของข้อศอกที่คาดว่าจะหมุน

    3. ตั้งค่าความจํากัดข้อศอกซ้าย LeftElbowConstraint.Attachment0 ไปยังแนบในใหม่นี้

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

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

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

ข้อมือ

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

ข้อศอกโค้งไม่เป็นธรรมชาติในบางทิศทาง

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

เพื่อเพิ่ม BallSocketConstraint สําหรับข้อมือ:

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

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