อัด Mocap เพื่อสร้าง Loop Animation สำหรับท่าทางการเคลื่อนที่ของตัวละครในเกม

อัด Mocap เพื่อสร้าง Loop Animation สำหรับท่าทางการเคลื่อนที่ของตัวละครในเกม

ถ้าพูดถึงตัวละครในเกมที่ถือว่าเป็นที่ถือว่าเป็นจุดศูนย์กลางของเกมและเป็นส่วนสำคัญอันดับหนึ่ง แต่ส่วนที่สำคัญที่รองลงมาและจะขาดไปไม่ได้ เพราะเป็นส่วนสำคัญที่ทำให้ผู้เล่นได้รับรู้
และมีปฏิสัมพันธ์กับตัวเเกม นั่นก็คือท่าทางการเคลื่อนไหวของตัวละคร เช่น การเดิน การวิ่ง คลาน กระโดด หรือแม้กระทั่ง การที่ตัวละครไม่ได้ทำอะไรเลย ก็ยังมีท่าพักของตัวละคร จะเห็นได้ว่า
ท่าทางการเคลื่อนไหวของตัวละคร มีเป็นส่วนประกอบอยู่ตลอดเวลาของการดำเนินเกม ซึ่งการ Animate หรือการทำให้ตัวละครเคลื่อนไหวนั้น ก็ไม่ใช่ว่าจะสร้างการเคลื่อนไหวยาวทั้งตัวเกม
แต่จะสร้างการเคลื่อนไหวที่สามารถเล่นวนลูปได้ยาว ไปเรื่อยๆไม่รู้จบ หรือเรียกว่า ” Loop Animation “ ซึ่งจะสร้างแยกกันในแต่ละท่า

ตัวอย่าง Idle Animation หรือท่าพักของตัวละคร

สำหรับการสร้างแอนิเมชั่นในเกมนั้น เดิมทีสร้างด้วยการ Animate หรือการทำให้ตัวละครเคลื่อนไหว เป็นแบบ Keyframe โดยจะทำโดย Animator เซ็ทการขยับของตัวละคร โดยดูทีละเฟรม
จนสร้างการเคลื่อนไหวที่ต้องการ แต่วันนี้เราจะมาแชร์อีกหนึ่งทางเลือกการทำงาน โดยการนำเทคโนโลยี Motion Capture มาช่วยให้กระบวนการ การทำงานในส่วนนี้ใช้เวลาลดลงได้
โดยเปลี่ยนจากการที่ต้องสร้างการเคลื่อนไหวด้วยมือ เป็นการแสดงด้วยนักแสดงและบันทึก Mocap ด้วยชุด Rokoko Smart Suit Pro II และ Rokoko Smart Gloves จากนั้นเราจะมา
Edit Animation ที่ได้ให้เป็น Loop Animation โดยจะมีขั้นตอนการทำงานดังนี้

Mocap Record
ในส่วนของการบันทึกการแสดงด้วย Mocap สำหรับการนำไปสร้าง Loop Animation นั้นก่อนอื่นต้องเข้าใจหลักการคร่าวๆของ Loop Animation ซะก่อน ซึ่งหลักการของ Loop Animation
จะทำงานได้จะต้องมีการเคลื่อนไหวระยะหนึ่งที่จะต้องมีท่าทางในจุดๆหนึ่งที่เป็นท่าเดิมซ้ำกัน ยกตัวอย่างเช่น การเดิน ถ้าหากเราเดินก้าวเท้าซ้ายแกว่งมือขวา แล้วสลับก้าวเท้าขวาแกว่งมือซ้าย
เราก็ควรทำท่าแบบเดิมไปเรื่อย ให้สม่ำเสมอในจัวหวะที่เท่ากันไปตลอดเพื่อง่ายต่อการทำงาน ฉะนั้นแล้วการแสง Mocap อาจจะต้องมีการซ้อมก่อนซักหน่อยก่อนอัดจริง โดยในท่าทางที่มีการเคลื่อนที่
สามารถใช้ตัวช่วยได้โดยการทำการแสดงบนลู่วิ่งไฟฟ้าได้ จะทำให้ได้ท่าทางการแสดงที่ดูสมูธกว่า และตัวละครก็จะอยู่กับที่ ทำให้ทำงานได้ง่ายกว่า แต่ถ้าหากไม่มีลู่วิ่ง ก็สามารถเดินบนพื้นได้เลย
โดยเราจะใช้การตั้งค่าช่วยให้ตัวละครอยู่กับที่ในภายหลัง

Edit & Export to Unreal
เมื่อเราได้ท่าทางการแสดงที่ต้องการแล้ว ต่อไปจะทำการเลือกส่วนที่เราจะใช้งานแล้ว Export เป็น .FBX สำหรับนำไปทำงานใน Unreal ต่อไป โดยที่เราจะ ดับเบิ้ลคลิกเข้าไปที่ Clip ที่เรา Record ไว้
จากนั้น Playhead หรือกดเล่น Motion หาจุดที่ต้องการ โดยที่เราจะแยกเป็นท่าๆ จากนั้นเลื่อนจุด Start และจุด End เพื่อกันส่วนที่ไม่จำเป็นออก จะทำให้ง่ายต่อการทำงานมากขึ้น


จากนั้นมาในส่วนของการ Export โดยเราจะไปทำงานต่อใน Unreal เลือก Format เป็น .FBX จากนั้นติ้กถูกที่ Override skeleton/mesh แล้วเลือก Preset เป็น Unreal Engine 5
(หรือเวอร์ชั่นที่เราใช้อยู่) ในส่วนของ Advance Setting เราจะต้องติ้ก Extract Root Motion ด้วย เพราะในจุดนี้เองที่เราจะใช้ตั้งค่าให้ตัวละครเคลื่อนไหวอยู่กับที่ใน Unreal ได้
จากนั้นเลือก Folder ปลายทางแล้วกด Export Clips ได้เลย

Unreal Setting
เริ่มด้วยการสร้าง Project กันก่อนโดยเลือกเป็น Game Project เพื่อให้มีตัวละครเกมเริ่มต้นให้เพื่อที่เราจะได้ Edit Animation ได้ ใน Content Drawer ให้เราสร้าง Folder และลากไฟล์ Mocap
ที่ Export มาใส่ได้เลยเพื่อ Import เข้า Unreal จะมีหน้าต่างตั้งค่าสำหรับ Import ขึ้นมาก ในส่วนของ Skeleton Mesh ให้เราเลือกเป็น SK_Mannequin (หรือตามเวอร์ชัน Unreal ที่ใช้)
และกด Import All ก้จะเห็นว่า Mocap Animation ทั้งหมดถูก Import เข้ามา สามารถดับเบิ้ลคลิกเพื่อ Preview Animation ดูได้


เราจะเห็นว่า Animation ของเราจะมีการเคลื่อนที่ออกจากจุดศูนย์กลางของ Scene ไปตามตำแหน่งที่นักแสดงเดินไป เราจะต้องตั้งค่าให้ตัวละครเคลื่อนไหวอยู่กับที่ก่อนเพราะในการนำ
Loop Animation ไปใช้งานนั้น หากเป็นท่าสำหรับทำให้ตัวละครเคลื่อนที่ แต่ในตัว Animation นั้นจำเป็นต้องเป็นท่าที่ไม่เคลื่อนออกจากตำแหน่ง เพราะจะนำไปตั้งค่าร่วมกับความเร็ว
ในการเคลื่อนที่ และไดนามิกของการเคลื่อนที่ต่างๆ แล้วค่อยทำให้ตัวละครเคลื่อนที่โดย Control Key ในภายหลัง โดยการตั้งค่าให้ไปที่หน้าต่าง Asset Detail ที่แท็บ Root Motion
ให้ติ้กถูกที่ EnableRootMotion ก็จะเห็นว่า Animation ของเราก็จะเคลื่อนไหวอยู่กับที่แล้ว ให้เรากด Save ได้เลย จากนั้นทำแบบเดียวกันกับทุกๆท่าที่เรานำเข้ามา


ก่อนที่เราจะไป Edit animation เพื่อให้ตัวละครสามารถเคลื่อนไหวเท้าได้จะต้องตั้งค่าเพิ่มเติมซักเล็กน้อย โดยไปที่ Blueprint ของตัวละครหลักของเรา จากนั้นเปิด Anim graph
แล้วเข้าไปที่ Node Controlrig จะเห็น Graph ในส่วนต่างๆของร่างกายตัวละคร ให้เราไปที่ Node Full Body IK ในส่วนของ Root ให้เปลี่ยนจาก Pelvis เป็น animation_root
จากนั้นกด Complie และ Save

Edit Animation
เริ่มด้วยการสร้าง Create New Level Sequence ก่อนจากนั้นลากตัวละครเริ่มต้นเข้าไปใน Scene จากนั้นลากตัวละครของเราจาก Outliner เข้า Sequence เราจะเห็น Controlrig
สำหรับควบคุมตัวละคร ซื่งเราจะไม่ได้ใช้ ให้เราเลือก Timeline ของ Controlrig จากนั้น Delete ทิ้ง



จากนั้นเราจะนำ Animation ของเรามาใส่ใน Timeline โดยไปที่ timeline Character จากนั้นกด + Animation แล้วเลือก Aniamtion ที่จะนำมาทำ Loop ได้เลย Animation จะถูกนำเข้ามาใน
Timeline เราจะ Edit Timeline ตรงนี้เองให้เป็น Loop Animation


ซึ่งหลักการก็คือท่าเริ่มกับท่าจบต้องเป็นท่าเดียวกัน ก็คือเราจะหาท่าที่ซ้ำกันซัก 2 จังหวะยกตัวอย่างจากท่าเดินเช่น เริ่มจากก้าวขาขวาก่อน และสลับก้าวขาซ้ายแล้วกลับมาก้าวขวา นับเป็น 1 จังหวะ
จากนั้นเลื่อน ไปอีก 1 จังหวะ คือก้าวซ้ายแล้วก้าวขวา จากนั้นเราจะ Trim timline ส่วนท้ายที่ท่าก้าวขวา


จากนั้นเราจะ Trim Timeline ปิดส่วนหัวโดยข้ามจังหวะแรกไป เพราะเราจะใช้ส่วนนั้นสำหรับ Blend Animation เท่านั้น เท่ากับว่า Timeline ของเราตอนนี้จะเป็นก้าวขวา ก้าวซ้าย แล้วกลับมาก้าวขวา


เราจะลากจุด Start และจุด End มาปิดหัวท้าย สำหรับกำหนดกรอบส่วนที่เราจะใช้งาน

จากนั้นกด Alt ค้างจากนั้นคลิกลาก Timeline เพื่อ Duplicate ขึ้นมาอีกอันมาต่อท้ายอักแรก จากนั้นยืดเพิ่มส่วนหัว แล้วลากมาทับ Timeline แรก เพื่อ Blend Animation จากนั้นลองเล่นดู
โดยเปิดเล่นวนลูป ก็จะเห็นว่า Animation ของเราเป็นลูปแล้ว


จากนั้นเราสามารถ Export Animation เก็บไว้ได้เพื่อใช้งานต่อไป โดยคลิกขวาที่ Timeline Character แล้วเลือก Bake Animation Sequence แล้วเลือก Folder ปลายทางแล้ว Export ได้เลย

ตัวอย่าง Loop Animation ท่าต่างๆที่ได้จากการอัด Mocap