ขอแนะนำระบบควบคุมแอนิเมชันใหม่ล่าสุดจาก Craftland Studio PC
คุณสมบัติ
ระบบควบคุมแอนิเมชันของ Craftland Studio PC รองรับคุณสมบัติต่อไปนี้:
- ดูตัวอย่างแอนิเมชัน
- จัดการการเล่นและเปลี่ยนผ่านของคลิปแอนิเมชันในรูปแบบแทร็ก
- จัดการกลุ่มของคลิปแอนิเมชันโดยใช้สถานะ4. แยกชิ้นส่วนของริกเพื่อเล่นเฉพาะแอนิเมชันของริกเฉพาะภายในคลิปแอนิเมชัน
- เพิ่มคีย์เฟรมและส่งเหตุการณ์ที่คีย์เฟรมเพื่อใช้ตรรกะของสคริปต์
การเตรียมทรัพยากร
ในการใช้ Animation Controller คุณต้องเตรียม:
- โมเดล2. ทรัพยากรแอนิเมชันที่ตรงกับโมเดล
ตัวแก้ไขมีตัวละคร FreeFire ที่สร้างไว้ล่วงหน้าและแอนิเมชันที่สอดคล้องกันอยู่แล้ว:
การเข้าสู่ระบบ
เพื่อใช้ Animation controller คุณจำเป็นต้องสร้างไฟล์ Animation Controller:

ดับเบิลคลิกเพื่อเปิดไฟล์คอนโทรลเลอร์แอนิเมชันที่สร้างขึ้นใหม่ และหน้าต่างการแก้ไขแอนิเมชันจะเปิดขึ้น:

การใช้โมเดล
คลิกที่แถบโมเดลหรือลากโมเดลไปยังอินเทอร์เฟซเพื่อดูตัวอย่างโมเดลที่จะเล่นแอนิเมชัน

หากโมเดลมีคอมโพเนนต์ Appearance และมีการตั้งค่า rigs และ appearances ที่เหมาะสม หน้าต่างแสดงตัวอย่างจะแสดงโมเดล คุณสามารถซูมเข้าหรือออกโดยใช้ล้อเลื่อนของเมาส์ ลากกล้องโดยใช้ปุ่มกลางของเมาส์ หรือกดปุ่มเมาส์ขวาค้างไว้เพื่อหมุนกล้อง—เหมือนกับใน Scene editor
หากคุณต้องการใช้ตัวละครหรือรูปลักษณ์สัตว์เลี้ยงเริ่มต้นของ FreeFire คุณสามารถค้นหาลักษณะที่เหมาะสมได้ในไดเรกทอรี Library/FFUMA ภายใต้ไดเรกทอรีของโปรเจกต์ ลักษณะเหล่านี้จะแสดงในตัวเลือกด้วยเช่นกัน
เพิ่มคลิปแอนิเมชัน
ลากแอนิเมชันจากโปรเจกต์ไปยังแทร็กเพื่อเพิ่มคลิปแอนิเมชัน หากคุณไม่ทราบว่าแอนิเมชันใดบ้างที่มีอยู่ในโปรเจกต์ ให้ใช้ฟีเจอร์เพิ่มแอนิเมชันเพื่อเรียกดูแอนิเมชันทั้งหมด อย่างไรก็ตาม คุณต้องตรวจสอบให้แน่ใจว่าแอนิเมชันตรงกับโมเดลเสมอ โดยทั่วไปแล้ว แอนิเมชันที่ไม่เข้ากันจะไม่สามารถเล่นได้ แต่บางครั้งแอนิเมชันอาจทำงานผิดปกติ เช่น ส่วนต่างๆ ของโมเดลอาจยืดหรือหดตัวผิดปกติ

การตั้งค่าคลิปแอนิเมชัน
ในโปรเจ็กต์ คุณสามารถดูข้อมูลคลิปแอนิเมชันได้เท่านั้น อย่างไรก็ตาม หลังจากลากแอนิเมชันเข้าไปในแทร็กแล้ว คุณสามารถแก้ไขพารามิเตอร์สำหรับแทร็กปัจจุบันได้ในแผงตรวจสอบ
-
คลิป: คลิปนี้ใช้แอนิเมชันที่ระบุไว้ คุณสามารถเปลี่ยนคลิปแอนิเมชันได้ด้วยตนเอง
-
ความเร็วการเล่น: ความเร็วที่แอนิเมชันเล่น 1 คือความเร็วเริ่มต้น
-
โหมดการห่อหุ้ม: หลังจากขยายคลิปแอนิเมชันแล้ว ตัวเลือกนี้จะกำหนดวิธีที่ส่วนที่ขยายออกจะวนซ้ำ
- คงที่: คงท่าทางแอนิเมชันของเฟรมสุดท้ายไว้
- วนซ้ำ: วนซ้ำคลิปแอนิเมชันในส่วนที่ขยายออก
- วนซ้ำตลอดไป: วนซ้ำคลิปแอนิเมชันอย่างต่อเนื่องหลังจากสิ้นสุด ทำให้คลิปถัดไปไม่มีผล
- ไม่มี: ไม่มีการกระทำใดๆ ตัดกลับไปที่ท่าทางเริ่มต้นทันที
-
Post-Extrapolate: วิธีการจัดการการเปลี่ยนผ่านระหว่างคลิปปัจจุบันกับคลิปถัดไป
- None: ไม่มีการดำเนินการ; ตัดกลับไปยังท่าเริ่มต้น
- Maintain: รักษาท่าทางแอนิเมชันของเฟรมสุดท้าย
- Loop: วนลูปส่วนของแอนิเมชันในส่วนระหว่างสองส่วน
- เมื่อการตั้งค่าการดันถอยหลังถูกตั้งค่าเป็น “รักษา” หรือ “วนซ้ำ” จะสามารถมองเห็นได้ชัดเจนที่ปลายของเซ็กเมนต์:
-
ระยะเวลาการผสมเฟด: ระยะเวลาของแอนิเมชันการเปลี่ยนเมื่อสลับไปยังคลิปแอนิเมชันนี้
-
ในระหว่างระยะเวลาการผสมเข้า ระบบแอนิเมชันจะลดน้ำหนักของแอนิเมชันก่อนหน้าโดยอัตโนมัติและเพิ่มน้ำหนักของคลิปแอนิเมชันนี้จนกว่าเวลาการเฟดเข้าจะสิ้นสุดลง
- เล่นคลิปแอนิเมชันนี้จนจบเมื่อเวลาเฟดอินสิ้นสุดลง
- หากตั้งพารามิเตอร์นี้เป็น 0 การเปลี่ยนผ่านจะเกิดขึ้นทันที ซึ่งอาจดูแปลก แต่บางครั้งจำเป็นต้องตัดต่อแบบทันทีสำหรับแอนิเมชันที่ต้องการให้เกิดขึ้นทันที เช่น การยิงปืนหรือการหลบหลีก
-
เมื่อมีการเปลี่ยนผ่านจากแอนิเมชัน A ไปยังแอนิเมชัน B ในแทร็ก ระยะเวลาเฟดอินสำหรับแอนิเมชัน B จะถูกตั้งค่าโดยอัตโนมัติตามระยะเวลาที่คลิปทั้งสองทับซ้อนกันในแทร็ก:
-
แม้ว่าจะไม่มีคลิปแอนิเมชันที่เชื่อมต่อโดยตรงบนแทร็ก แต่เมื่อใช้ตัวควบคุมแอนิเมชันในทางปฏิบัติ จะมีกรณีที่แอนิเมชัน “เปลี่ยนไปใช้คลิปนี้” ตัวอย่างเช่น เมื่อเปลี่ยนจากสถานะ ‘นั่ง’ เป็นสถานะ “วิ่ง” หากสถานะวิ่งใช้คลิปแอนิเมชันเพียงคลิปเดียว จะมีการเปลี่ยนผ่านอย่างราบรื่นจากการนั่งไปเป็นการวิ่งตามพารามิเตอร์นี้ สำหรับรายละเอียดเกี่ยวกับสถานะ โปรดดูส่วนด้านล่าง
-
-
เวลาเริ่มต้น: เวลาที่คลิปแอนิเมชันนี้เริ่มเล่นบนแทร็ก
-
เวลาสิ้นสุด: เท่ากับเวลาเริ่มต้นบวกกับระยะเวลาการเล่น ไม่สามารถแก้ไขได้ และถูกกำหนดโดยอัตโนมัติตามเวลาเริ่มต้นและระยะเวลาการเล่น
-
ระยะเวลาการเล่น: ระยะเวลาการเล่นของคลิป เมื่อยาวกว่าความยาวของทรัพยากร พารามิเตอร์โหมดลูปจะมีผล; เมื่อสั้นกว่าความยาวของทรัพยากร แอนิเมชันจะถูกตัดจากจุดสิ้นสุด
-
ความยาวของทรัพยากร: ความยาวที่แท้จริงของทรัพยากรแอนิเมชัน ไม่สามารถแก้ไขได้ และถูกกำหนดโดยทรัพยากรแอนิเมชันเอง
*การยืดและบีบอัดคลิปแอนิเมชัน
คุณสามารถเปลี่ยนความยาวของส่วนแอนิเมชันได้โดยการลาก หากความยาวที่ลากสั้นกว่าความยาวของส่วนแอนิเมชัน แอนิเมชันจะถูกตัดออก หากความยาวที่ลากยาวกว่าความยาวของส่วนแอนิเมชัน ความยาวส่วนเพิ่มเติมจะถูกเพิ่มหลังจากแอนิเมชันเริ่มต้นเล่น ความยาวส่วนเพิ่มเติมนี้จะถูกจัดการตามโหมด Wrap ที่ตั้งค่าไว้ใน Inspector ของส่วนแอนิเมชัน
การรวมคลิปแอนิเมชัน
ตามที่ได้กล่าวไว้ก่อนหน้านี้เมื่อพูดถึงระยะเวลาการผสม เมื่อคลิปแอนิเมชัน A เปลี่ยนไปยังคลิปแอนิเมชัน B การเปลี่ยนผ่านจะเกิดขึ้นภายในระยะเวลาการผสมของคลิปแอนิเมชัน B
ตอนนี้เรามีภาพเคลื่อนไหวสองอัน: 1 คือทั้งสองมือยกอะไรบางอย่างขึ้น และ 2 คือมือเดียว:
1:
2:
หากเราเพียงแค่เชื่อมต่อทั้งสองเข้าด้วยกัน จะดูเหมือนว่าแอนิเมชันมือเดียวเริ่มต้นทันทีหลังจากแอนิเมชันสองมือสิ้นสุดลง:
หากเราใช้การผสม (blending) จะปรากฏเหมือนกับการเคลื่อนไหวด้วยมือเดียวเริ่มต้นก่อนที่การเคลื่อนไหวด้วยมือทั้งสองข้างจะสิ้นสุดลงอย่างสมบูรณ์:
ตามที่คุณเห็น แอนิเมชันที่ 2 ได้เริ่มขึ้นก่อนที่แอนิเมชันที่ 1 จะเสร็จสิ้น และน้ำหนักค่อยๆ เปลี่ยนไปทางแอนิเมชันที่ 2 โดยแอนิเมชันที่ 2 จะเล่นจนจบเมื่อการผสมเสร็จสิ้น
โดยการใช้การผสมแอนิเมชัน คุณสามารถทำให้การเปลี่ยนผ่านระหว่างแอนิเมชันดูเป็นธรรมชาติมากขึ้น
หากเราเพียงแค่เชื่อมต่อทั้งสองเข้าด้วยกัน จะดูเหมือนว่าแอนิเมชันมือเดียวเริ่มต้นทันทีหลังจากที่แอนิเมชันสองมือสิ้นสุดลง:
หากเราใช้การผสม (blending) จะปรากฏเหมือนกับการเคลื่อนไหวด้วยมือเดียวเริ่มต้นก่อนที่การเคลื่อนไหวด้วยมือทั้งสองข้างจะสิ้นสุดลงอย่างสมบูรณ์:
ตามที่คุณเห็น การเคลื่อนไหวที่ 2 ได้เริ่มต้นก่อนที่การเคลื่อนไหวที่ 1 จะเสร็จสิ้น และน้ำหนักค่อยๆ เปลี่ยนไปสู่การเคลื่อนไหวที่ 2 เมื่อการผสมเสร็จสิ้น แอนิเมชัน 2 จะเล่นจนจบ การผสมแอนิเมชันสามารถทำให้การเปลี่ยนผ่านของแอนิเมชันดูเป็นธรรมชาติมากขึ้น
หากคุณตั้งเวลาเฟดอินก่อนเฟรมแรกของสถานะ การผสมแบบอัตโนมัติจะถูกนำไปใช้เมื่อเปลี่ยนไปยังสถานะนี้จากสถานะอื่น
การแสดงตัวอย่างแอนิเมชัน
เมื่อดูตัวอย่างเอฟเฟกต์แอนิเมชัน คุณสามารถใช้ประโยชน์จากการดำเนินการและข้อมูลในแผงควบคุมได้อย่างมีประสิทธิภาพ
แผงควบคุมช่วยให้คุณดำเนินการดังต่อไปนี้:
- กระโดดไปยังจุดเริ่มต้น, กระโดดไปยังจุดสิ้นสุด
- เฟรมถัดไป, เฟรมก่อนหน้า
- หยุดชั่วคราว, เล่น
นอกจากนี้ ด้านขวาจะแสดงหมายเลขเฟรมและเวลาที่เริ่มต้นจากส่วนของแอนิเมชัน โดยทั่วไปแล้ว แอนิเมชันจะเล่นที่อัตราคงที่ 30 เฟรมต่อวินาที
เพิ่มคีย์เฟรม
คลิกที่จุดใดก็ได้ในแทร็กเพื่อเพิ่มคีย์เฟรม
คุณสามารถลบคีย์เฟรมนี้ได้โดยการเลือกมัน
คีย์เฟรมคือจุดสำคัญที่ถูกทำเครื่องหมายด้วยมือในแอนิเมชัน คุณสามารถเพิ่มเหตุการณ์ต่างๆ ให้กับคีย์เฟรมเพื่อให้บริการตามสคริปต์ได้
เหตุการณ์
เลือกเพิ่มเหตุการณ์แอนิเมชันในแผงตรวจสอบของคีย์เฟรมเพื่อกระจายเหตุการณ์ที่กำหนดเองที่หมายเลขเฟรมที่ระบุในแอนิเมชันปัจจุบัน:
การสร้างแอนิเมชันส่วนของร่างกาย
เมื่อคุณต้องการเล่นแอนิเมชันเฉพาะส่วนของร่างกาย เช่น แอนิเมชันที่แตกต่างกันสำหรับส่วนบนและส่วนล่างของร่างกาย คุณจำเป็นต้องใช้การสร้างแอนิเมชันส่วนของร่างกาย
ก่อนอื่น คุณต้องสร้างโปรไฟล์ริก:

ไฟล์กำหนดค่าของริกสามารถระบุส่วนหนึ่งของโหนดกระดูกของริก ซึ่งเราเรียกว่าส่วนของร่างกาย
หลังจากเลือกอุปกรณ์เฉพาะแล้ว คุณสามารถเห็นโหนดทั้งหมดในอุปกรณ์นั้นได้
โดยการสร้างส่วนต่าง ๆ ของร่างกาย คุณสามารถระบุชุดของโหนดกระดูกเฉพาะเพื่อเล่นแอนิเมชันได้ ซึ่งจะทำให้สามารถเล่นแอนิเมชันเฉพาะสำหรับส่วนต่าง ๆ ของร่างกายที่ต้องการได้ ตัวอย่างเช่น เราจะแยกส่วนบนและส่วนล่างของร่างกายออกจากกัน:
โหมดแทนที่ (Override mode) หมายความว่า เมื่อมีแอนิเมชันหลายตัวสำหรับโหนดริกเดียวกัน แอนิเมชันที่มีลำดับความสำคัญสูงที่สุดจะแทนที่แอนิเมชันอื่น ๆ ทั้งหมด ในทางกลับกัน โหมดเพิ่ม (Additive mode) จะพยายามผสมผสานแอนิเมชันที่มีลำดับความสำคัญต่ำกว่าเข้าด้วยกัน
อย่างไรก็ตาม โหมดการผสมมีข้อกำหนดที่สูงขึ้นสำหรับทรัพยากรแอนิเมชันและการปรับแต่ง และแม้ปัญหาเล็กน้อยก็สามารถส่งผลให้ประสิทธิภาพการทำงานไม่ดีได้ ขอแนะนำให้ใช้โหมด Override ก่อน
*ลำดับความสำคัญ: ในส่วนของชิ้นส่วน rig, ล้อ, และสถานะ, ลำดับความสำคัญที่ต่ำจะมีความสำคัญสูงกว่า ในรูปด้านบน ลำดับความสำคัญของชิ้นส่วน rig ด้านบนจะสูงกว่าชิ้นส่วน rig ด้านล่าง
ลากไฟล์การกำหนดค่า rig ที่กำหนดค่าแล้วเข้าไปในแผงแก้ไข และคุณจะพบชิ้นส่วน rig ที่กำหนดค่าใหม่ในเมนูแบบเลื่อนลงของแทร็ก:
แต่ละแทร็กจะสอดคล้องกับชิ้นส่วนของริก และแทร็กฐานจะถูกเลือกโดยค่าเริ่มต้นสำหรับชิ้นส่วนของริกทั้งหมด
ต่อไป มาใช้แอนิเมชันสองแบบที่แตกต่างกันเพื่อดูว่ามันทำงานอย่างไร
เราจะทำแอนิเมชันสองส่วน:
การนั่งยองและเดิน:
เดินพร้อมปืน:
ตามที่คุณเห็น ก้าวจะกว้างขึ้นเมื่อเดินพร้อมกับปืน ตอนนี้เรามาใช้แอนิเมชันของร่างกายส่วนบนจากการย่อตัวและเดิน และแอนิเมชันของร่างกายส่วนล่างจากการเดินพร้อมกับปืน:
แอนิเมชันการเดินพร้อมปืนสั้นกว่า ดังนั้นเรามาขยายแอนิเมชันการเดินพร้อมปืนให้ยาวขึ้นเพื่อให้ทั้งสองสอดคล้องกัน และตั้งค่าโหมดการวนลูปเป็น “วนลูป”
คุณสามารถเห็นได้ว่าแอนิเมชันได้เปลี่ยนเป็น:
แอนิเมชันร่างกายส่วนบนสำหรับการเดินในท่านั่งยองและแอนิเมชันร่างกายส่วนล่างสำหรับการเดินถือปืนจะถูกใช้พร้อมกัน
หากบางริกไม่ได้รับการกำหนดแอนิเมชันใดๆ เมื่อใช้แอนิเมชันของชิ้นส่วนริก พวกมันจะใช้อานิเมชัน IDLE
สถานะ
แทร็กและคลิปแอนิเมชันทั้งหมดเหล่านี้รวมกันเป็นสถานะ ซึ่งสามารถเห็นได้ในรายการของตัวควบคุมแอนิเมชันปัจจุบันทางด้านซ้ายของแผง:
เมื่อใช้ตัวควบคุมแอนิเมชันในทางปฏิบัติ การดำเนินการจะกระทำกับสถานะ การเล่นสถานะหนึ่งหมายถึงการเล่นแทร็กทั้งหมดของสถานะนั้นเริ่มจากเฟรม 0
ดังนั้น เมื่อแก้ไขตัวควบคุมแอนิเมชัน คุณสามารถวางแผนจำนวนสถานะที่คุณต้องการมีและแก้ไขการผสมผสานของคลิปแอนิเมชันที่เหมาะสมสำหรับแต่ละสถานะได้ ตัวอย่างเช่น สถานะของสัตว์ตัวเล็กคือ: นิ่ง, เคลื่อนที่, กิน, ตื่นตัว, และวิ่งหนี
สถานะ IDLE ต้องมีอยู่; มันเป็นสถานะเริ่มต้นของตัวควบคุมแอนิเมชัน และสถานะ IDLE ต้องถูกตั้งค่าให้เล่นซ้ำแบบวนรอบ
block script
การใช้สคริปต์ คุณสามารถเล่นหรือหยุดสถานะที่กำหนดสำหรับเอนทิตี้ที่มีตัวควบคุมแอนิเมชันแนบอยู่ หรือปรับเปลี่ยนน้ำหนักของน้ำหนักแอนิเมชันส่วนของร่างกายแบบไดนามิกได้
วิธีการใช้
ลากโมเดลที่เหมาะสมเข้าไปใน Scene:
เพิ่มคอมโพเนนต์ Animation Controller Attachable ให้กับมัน:
จากนั้นเพิ่มตัวควบคุมแอนิเมชันที่สร้างขึ้น:
ตอนนี้โมเดลจะเล่นสถานะ IDLE โดยค่าเริ่มต้น ใช้สคริปต์เพื่อสลับสถานะการเล่นบนอุปกรณ์จริงเมื่อเหมาะสม:
เมื่อผู้เล่นยิง เปลี่ยนสถานะการเล่นของ miniKelly