ฟิสิกส์ทางกลวิภาพที่เป็นกลาง (IK) เป็นเทคนิคที่พบบ่อยในการอนิเมชันคอมพิวเตอร์เพื่อทำให้ตัวละครเคลื่อนที่และใช้ชีวิตอย่างเป็นจริงกับสภาพแวดล้
เทคนิคการอนิเมชั่นนี้สามารถให้คำตอบสำหรับตัวอย่างต่อไปนี้:
IKControl และ
คุณสามารถใช้ IKControl เพื่อเพิ่ม IK ให้กับตัวละครของคุณโดยอัตโนมัตินอกเหนือการเปิดใช้งานในเครื่องมือแก้ไขอนิเมชัน สตูดิโอช่วยให้คุณเป็นโปรแกรมเมอร์ที
เมื่อเพิ่ม IKControl ให้ตั้งค่า number1 ค่าสมบัติที่ต้องการให้ถูกต้องเพื่อหลีกเลี่ยงผลการเคลื่อนไหวที่ผิดปกติและไม่ธรรมชาติ เช่นเดียวกับการเคลื่อนไหวทั้งหมด ทดสอ
ต้องการโปรไฟล์
เมื่อเพิ่ม IKControl ลงใน Humanoid หรือ AnimationController ของตัวละครของคุณ คุณต้องกำหนดสิ่งต่อไปนี้เพื่อให้ IK เปิดใช้งานได้:
สมบัติ | คำอธิบาย |
---|---|
Type | ระบุประเภทการปฏิสัมพันธ์ของ IK ดู Enum.IKControlType สําหรับรายการตัวเลือกการปฏิสัมพันธ์ ประเภทการปฏิสัมพันธ์ทั่วไปคือ Position หรือ Transform |
EndEffector | A BasePart หรือ Bone ในตัวละครของคุณริกที่เชื่อมติดกับ Target ตัวอย่างเช่น |
Target | วัตถุที่ EndEffector ไปยังหรือชี้ไปที่ วัตถุ Target สามารถเป็นวัตถุใดก็ได้ที่มีตำแหน่งโลก |
ChainRoot | กำหนดค่าของโซ่ Class |
การทดสอบ IKControls
คุณสามารถเพิ่มและแก้ไขโปรแกรม IKControl ได้อย่างโปรแกรมมาตรฐานหรือโดยตรงผ่าน Explorer คุณยังสามารถเพิ่มและทำการเปลี่ยนแปลงให้กับโปรแกรม IKControl ได้ในระหว่างการทดส
เพื่อทดสอบรวดเร็วของคุณ IKControl โดยใช้เป้าหมาย Attachment
ในแท็บทดสอบ เลือก เล่น เพื่อเริ่มการทดสอบเล่น
คลิกไอคอน ⊕ ข้างฮีโร่โมเดลของคุณและเพิ่ม HumanoidRootPart
เลือก อุปกรณ์เสริม และใช้เครื่องมือ ย้าย เพื่อวางตำแหน่งวัตถุให้อยู่หน้าตัวละครของคุณในหน้าต่าง
ใน หน้าต่าง Explorer เลือกไอคอน ⊕ รอบ ๆ ตัวละครของคุณและเพิ่ม Humanoid เพื่อให้คุณสามารถใช้งานได้
เลือก IKControl และตั้งค่ามูลค่าสมบัติต่อไปนี้ในแผง โปรพีพี :
- พิมพ์ : เลือก Transform จากรายการดรอปดาวน์
- เป้าหมาย : เลือก วัตถุ อุปกรณ์เสริม ที่สร้างขึ้นใหม่ใน Explorer
ข้อมือซ้ายของตัวละครของคุณตอนนี้ควรจะถึงเป้าหมาย Attachment คุณสามารถทดลองใช้การย้าย Attachment หรือการแก้ไขสมบัติของ IKControl เพื่อให้ได้ผลลัพธ์ที่แตกต่างกัน
เพิ่มข้อจํากัด
คุณสามารถใช้ Constraints เพื่อจำกัดวิธีการเคลื่อนที่ของข้อต่อเมื่อถึงเป้าหมาย ข้อจํากัดสามารถให้แน่ใจว่าข้อเชื่อมเช่นข้อมือและข้อเท้ายืดเยื้อตามธรรมชาติหรือทําให้ข้อเ
เพื่อเพิ่มข้อจํากัดให้กับตัวละครของคุณโดยใช้ IKControl ความจํากัดของคุณและข้อจํากัดต้องตรงตามเงื่อนไขต่อไปนี้:
- สิ่งที่แนบมาที่อ้างอิงในคุณสมบัติของข้อจํากัด Attachment0 / Attachment1 สิ่งที่แนบมาจะแนบกับส่วน
- ข้อจํากัดและ IKControl แชร์พ่อของเดียวกัน Model
คำแนะนำต่อไปนี้อธิบายวิธีการเพิ่ม HingeConstraint เพื่อจํากัดการหมุนของข้อมือของตัวละครและเพิ่ม BallSocketConstraint เพื่อข้อมือเพื่อจํากัดมุมหมุน
หัวเข่า
ตัวละคร Roblox R15 มีอุปกรณ์ติดตั้งในข้อต่อของพวกเขาที่คุณสามารถใช้เพื่อให้ความกดข้างเดียว สำหรับข้างเดียว ทั้งซ้ายขึ้นและซ้ายลง คุณ
เพื่อเพิ่ม HingeConstraint และอุปกรณ์เสริมบนบุตร:
ใน Explorer ค้นหา ขวาล่างแขนซ้าย ของรุ่นของคุณและคลิกปุ่ม ⊕
เพิ่ม HingeConstraint ด้วยชื่อ LeftElbowConstraint
ใน Explorer, ไปที่ ซ้ายบน Arm.LeftElbowRig และเพิ่มอุปกรณ์ติดตั้ง:
คลิกปุ่ม ⊕ เพื่อเพิ่ม การแนบมา ด้วยชื่อ LeftElbowConstraintAttachment0
ในหน้าต่างเลือกอุปกรณ์และใช้เครื่องมือ หมุน เพื่อหมุนอุปกรณ์เพื่อให้สีเหลือง PrimaryAxis เป็นตำแหน่งการหมุนของคุณ
ตั้งค่าสมบัติ LeftElbowConstraint.Attachment0 ให้กับการแนบมาใหม่นี้
ใน Explorer, ไปยัง ซ้ายล่างขวา. ล็อคอาวุธซ้ายเอวริงแอทชันเพิ่มตัวแปร:
- คลิกปุ่ม ⊕ และเพิ่ม การแนบมา ด้วยชื่อ LeftElbowConstraintAttachment1
- ตั้งค่าสมบัติ LeftUpperArm.LeftElbowConstraint.Attachment1 ให้กับการแนบมาใหม่นี้
- คัดลอก LeftElbowConstraintAttachment0.CFrameOrientation สมบัติทรัพย์และวางเป็น LeftElbowConstraint.Execution1.CFrameOrientation ค่า
ทดสอบ IKControl ของคุณเพื่อตรวจสอบว่าหัวเข่าเท่านั้นหมุนได้เกี่ยวกับแกนหมุน:
ข้อมือ
แม้ว่าจะมีข้อจำกัดของหัวเข่า แต่ IKControl ก็ยังสามารถผลิตท่าทางกายภาพที่เป็นไปไม่ถึงด้วยข้อจำกัดของข้อมือ
คุณสามารถปรับปรุงสิ่งนี้ได้โดยการเพิ่ม BallSocketConstraint เพื่อจํากัดการหมุนของข้อมือ ในขณะที่สิ่งนี้เหมือนกับกระบวนการเพิ่ม Class.H
เพื่อเพิ่ม BallSocketConstraint สำหรับข้อมือ:
- ใน Explorer ค้นหา มือซ้าย ของรุ่นของคุณและคลิกปุ่ม ⊕ ปุ่มเลือก 1. เพิ่ม BallSocketConstraint ด้วยชื่อ LeftWristConstraint
- ค้นหา LeftLowerArm.LeftWristRigRotationAttachment ของโมเดลของคุณและเพิ่มอุปกรณ์ติดตั้ง:
- คลิกปุ่ม ⊕ และเพิ่ม อุปกรณ์เสริม ด้วยชื่อ LeftWristConstraintAttachment0
- ใน viewport เลือกอุปกรณ์และใช้เครื่องมือ หมุน เพื่อหมุนอุปกรณ์ให้สามารถหันไปที่นิ้วของผู้ใช้ได้
- ตั้งค่าสมบัติ LeftWristConstraint.Attachment0 ให้กับ LeftWristConstraintAttachment0 ใหม่
- ค้นหา LeftHand.LeftWristRigRotationAttachment ของรุ่นของคุณ และเพิ่มอุปกรณ์ติดตั้ง:
- คลิกปุ่ม ⊕ และเพิ่ม อุปกรณ์เสริม ด้วยชื่อ LeftWristConstraintAttachment1
- คัดลอก LeftWristConstraintAttachment0.CFrameOrientation สมบัติทรัพย์และวางเป็นสมบัติทรัพย์ LeftWristConstraintAttachment1.CFrameOrientation 3. ตั้งค่าสมบัติ LeftWristConstraint.Attachment1 ให้กับ LeftWristConstraintArrow1 ใหม่นี้
- ใน Explorer, เลือก LeftWristConstraint 5. ในตัวแก้ไขรายละเอียด, กำลังติดตาม:
- เปิดใช้งาน จํากัดการเปิดใช้งาน .
- ตั้ง มุมสูง เป็น 80 ค่านี้ควบคุมว่าข้อจํากัดสามารถหมุนได้มากเท่าไหร่และ 80 องศาคือประมาณว่าข้อมือสามารถเก็บได้
- ขึ้นอยู่กับตัวละครของคุณคุณอาจต้องการปรับทิศทางที่เมฆชี้ไป คุณสามารถทำเช่นนี้โดยใช้เครื่องมือ หมุน เพื่อหมุน การแนบมา0 ของข้อจํากัด
เมื่อเลือก รัศมีซ้ายข้าง จะปรากฏเป็นรูปสีเขียวที่แสดงระยะการเคลื่อนไหวของข้อมือ
เมื่อกำหนดความจํากัดเรียบร้อยแล้ว ทดสอบ IKControl ด้วยมือที่ชี้ไปข้างหน้าของตัวละครและข้อมือควรหมุนและเก็บตัวเองมากขึ้น