สร้าง Meta Human จากคนจริงเพื่อใช้ในงาน Animation

สร้าง Meta Human จากคนจริงเพื่อใช้ในงาน Animation

การจำลองมนุษย์เสมือนจริงขึ้นมาในโลกดิจิทัลอย่าง Meta Human เดิมทีก็เป็นสิ่งที่น่าสนใจไม่น้อยเนื่องจากสามารถนำไปต่อยอดในงานได้หลายอย่าง ไม่ว่าจะเป็น งานภาพยนตร์อนิเมชัน หรืองานเกม
แต่จะเป็นอย่างไรหากเราสามารถนำคนจริงๆมาแปลงเป็น Meta Human ให้อยู่ในโลกดิจิทัลได้ เราก็อาจสามารถใช้เป็นตัวแทนของเราในโลกดิจิทัลได้ โดยที่ตัว Meta Human ก็จะเหมือนร่าง Copy ของเรา
เพียงแค่คิดก็ดูเป็นอะไรที่น่าสนใจไม่น้อย โดยวันนี้เราจะมาแชร์เทคนิคการสร้าง Meta Human ผ่าน Unreal Engine ซึ่งถือเป็นอีกหนึ่งโปรแกรมที่ใช้จำลองโลกเสมือนได้ดีเลยทีเดียว
ที่มาพร้อมกับระบบ Real-Time Rendering ที่โดดเด่น ซึ่งขั้นตอนในการสร้าง Meta Human จากคนจริง ก็ไม่ได้ยากอย่างที่คิดโดยอาศัยเครื่องมือที่ไม่ได้ซับซ้อน ถ้าพร้อมแล้วก็มาเริ่มกันได้เลย

ขั้นตอนการสร้าง Meta Human จากคนจริง
1.3D Scanning
2.Clean File & Export
3.Create Metahuman
4.Customization

1.3D Scanning
มาเริ่มที่ขั้นตอนแรกกันเลย โดยการที่จะเปลี่ยนคนจริง ๆเป็น Meta Human ได้ แน่นอนว่าอย่างแรกเราก็ต้องมีข้อมูลใบหน้า ของคนที่เราต้องการสร้าง Meta Human ก่อน โดยที่เราจะต้องเก็บข้อมูล
ในรูปแบบของไฟล์ 3 มิติ ซึ่งการที่จะได้ไฟล์ 3 มิติสามารถทำได้หลายวิธีอย่างเช่น การประมวลผลจากภาพถ่าย หรือ ระบบ Photogrammetry เป็นต้น แต่ทว่าวิธีที่มีประสิทธิภาพที่สุดคงหนีไม่พ้น
การแสกนด้วย 3D Scanner ที่ปัจจุบันสามารถแสกนวัตถุออกมาโดยมีรายละเอียดสูง รวมทั้งยังเก็บข้อมูลของสี หรือ Texture ได้อีกด้วย แต่หากเราไม่มีเครื่องสแกน 3 มิติ ก็คงต้องใช้อุปกรณ์ใกล้ตัว
อย่างมือถือแทนได้โดยปัจจุบันแอพพลิเคชั่นที่ใช้แสกนไฟล์ได้ก็มีหลายตัวเลยทีเดียว แต่คุณภาพการแสกนก็อาจจะไม่เทียบเท่าเครื่องแสกน 3 มิติ แต่ก็ถือว่าพอใช้งานได้


การแสกนจะเน้นในส่วนของใบหน้าเป็นหลัก โดยควรระวังไม่ให้เกิดการซ้อนของ Mesh เพื่อไม่ให้เกิดความยุ่งยากในการ Clean File ในภายหลัง นั่นก็คือตัวแบบควรนิ่งที่สุดขณะแสกนนั่นเอง
จากนั้น Export 3D File และ Texture เพื่อใช้ทำงานต่อไป

2.Clean File & Export
ในขั้นตอนนี้จะเป็นการเตรียมไฟล์ก่อนที่จะส่งไปประมวลผลในเป็น Meta Human ใน Unreal Engineซึ่งสิ่งที่เราจะทำหลักๆ นั่นก็คือการตัดส่วนที่ไม่จำเป็นต้องใช้ออก อย่างส่วนผม, ส่วนหลังหัว, และคอ
หรือเรียกง่ายๆ คือเก็บแต่ส่วนของใบหน้าไว้ ในขั้นตอนนี้สามารถทำในโปรแกรม 3D Sculpting ที่ถนัดได้เลยไม่ว่าจะเป็น Zbrush หรือ Blender

ควรมีพื้นฐานเกี่ยวกับไฟล์ 3 มิติมาบ้างเพื่อจัดการ Mesh ให้สามารถนำไปทำงานต่อได้ ซึ่งต้องผ่านเงื่อนไขเหล่านี้

1.ไม่มีเศษ Mesh ที่ลอยแยกตัวอยู่โดยไม่เชื่อมต่อกับส่วนไหน หรือเหมือนลอยอยู่กลางอากาศ ควรลบออกให้หมด
2.เส้น Edges หรือขอบของ Polygon ควรเชื่อมต่อกัน หรือสรุปง่ายๆใบหน้าทั้งหน้าต้องเป็นชิ้นเดียวกันไม้ได้แยกออกเป็นชิ้นๆ
3.Point หรือจุดแต่ละจุดต้องเชื่อมกัน เพราะบางทีก็มีจุดสองจุดที่ซ้อนกันอยู่ในตำแหน่งเดียวกัน ซึงอาจเช็คได้ยาก
ต้องพึ่งเครื่องมือของโปแกรม เช่น Merge Vertex ใน Blender หรือ Weld Point ใน Zbrush เป็นต้น

ตัวอย่างการ Setting Export จาก Blender

จากนั้น Export .fbx ไฟล์ โดยเอา Texture ไปด้วย เพราะหากมี Texture จะทำให้ประมวลผลในการสร้าง Meta Human ทำได้ดียิ่งขึ้น

3.Create Metahuman
มาถึงขั้นตอนสำคัญในการสร้าง Meta Human โดยขั้นตอนนี้จะเป็นการใช้ข้อมูล 3 มิติของใบหน้าที่เราแสกนมาทำการ Mapping เข้ากับ Model สำเร็จของMeta Human ซึ่งก็ถือว่าเป็นวิธีการ
ที่ทำได้ง่ายมากเลยทีเดียว ซึ่งก่อนที่จะไปทำกัน ก่อนอื่นก็ต้องติดตั้ง Plug-in ที่ชื่อว่า “Metahuman” ซะก่อนโดยสามารถค้นหา และ Download ได้จาก Marketplace ของ Unreal ได้เลย

จากนั้นเปิด Unreal Engine ขึ้นมาและไปที่ Edit>Plugin และค้นหา Metahuman ให้ติ้กถูกเพื่อ Enable และ Restart โปรแกรม เพียงแค่นี้ Plugin ก็พร้อมใช้งานแล้ว

จากนั้นลากไฟล์.fbx ที่เราเตรียมไว้เข้า Content Browser ได้เลย และกด Add เพื่อค้นหาและเพิ่ม Metahuman identity จากนั้นดับเบิ้ลคลิกเข้าไป

โปรแกรมจะเด้งหน้าต่าง Metahuman identity ขึ้นมา ให้ Login Account ของ Epic Game เพื่อที่หลังจากเราสร้าง Meta Human ได้แล้วจะสามารถนำไปปรับแต่งต่อได้บนเว็บไซส์
โดยลิงค์จาก Account เดียวกัน

คลิกที่ปุ่ม Components from Mesh เลือกไฟล์หน้าที่เราแสกนมาจากนั้นปรับหมุมกล้องมาที่กลาง Scene ซูมให้พอดีแล้วปรับ Field of view ที่ 15 เพื่อให้ได้มุมกล้องที่กว้างพอ
หลังจากนั้นเราจะกด Promote Frame หรือล็อคมุมกล้องที่ต้องการ Tracking ใบหน้า


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

และเมื่อได้ที่ดีแล้ว กดที่ Meta Human Identity Solve ตามด้วยกด Mesh to Meta Human เพื่อสร้าง Meta Human และโปรแกรมจะแจ้งเตือน ให้เราสามารถไปปรับแต่งต่อได้บนเว็บไซต์

สามารถเช็คได้ว่า Meta Human ที่เราสร้างมีความเหมือนแบบแค่ไหน

4.Customization
และในขั้นตอนสุดท้ายนั่นก็คือการปรับแต่ง Meta Human ของเรานั่นเองโดยจะทำการปรับแต่งผ่านเว็บไซต์โดย Login ผ่าน Account ของ Epic Game จะเห็น Meta Human ที่เราสร้างมา
โดยที่จะเป็นเหมือน Mesh เปล่าๆเราจะต้องไปใส่ส่วนที่เหลือเพิ่มเติมให้กด Edit เพื่อปรับเริ่มแต่ง

การปรับทำตามส่วนต่างๆที่อยากปรับได้ตามใจเลย ไม่จำเป็นต้องปรับตามลำดับทีละส่วน สามารถปรับไปมาได้ตามชอบ เช่นอยากจะปรับรูปหน้าแล้วไปปรับสีผิว ปรับเส้นผมแล้วกลับมาปรับรูปหน้า
ซึ่งก็ถือว่าทำได้อย่างอิสระมาก ถ้าจะให้ดีควรมี Reference ของตัวแบบมาเทียบเพื่อปรับเพิ่มเติมในส่วนที่คิดว่ายังไม่เหมือน หรือปรับเติมในส่วนที่โปรแกรมไม่ได้สร้างให้ อย่างสีผิว หรือเส้นผมเป็นต้น
ซึ่งไม่ได้มีแค่การปรับหน้าเพียงอย่างเดียว ยังสามารถเลือก Bodyและปรับเสื้อผ้าได้อีกด้วย

และอีกหนึ่งเหตุผลที่ Meta Human จาก Unreal น่านำไปใช้งานต่อในการทำ Animation นั่นก็คือมีการ Rigging ใบหน้าที่สามารถขยับตามการเคลื่อนไหวของกล้ามเนื้อใบหน้าไว้ให้แล้ว
ทำให้การแสดงอารมณ์หรือสีหน้าของตัวละครทำออกมาได้อย่างสมจริงเลยทีเดียว โดยสามารถดูได้จากการกดเลือก Preset อารมณ์ต่างๆที่มี

เพียงแค่นี้การสร้าง Meta Human จากคนจริงๆก็เสร็จแล้ว โดยเมื่อสร้างเสร็จจะถูก Save อัตโนมัติ สามารถส่งไปทำงาน Animation ต่อ โดยโหลดผ่าน Plugin Quixel Bridge ใน Unreal ได้เลย

วิดีโอแสดง Work-Flow การสร้าง Meta Human จากคนจริง