Augmented RealityUnity 3D

ARCore Face Rig บน Unity 3D

ถ้าจะบอกว่า AR กลายเป็นเรื่องพื้นฐาน และเรื่องธรรมดาของคนยุคนี้ก็คงจะจริง วันนี้มาแกะดู AR Core ส่วนของการจับใบหน้า Face Rig กันดีกว่า

จากบทความก่อนเราทำความรู้จัก ARCore กันไปเล็กน้อยแล้วที่: มาลองใช้งาน ARCore ของ Google บน Android Studio และ Unity 3D กัน

โดยพื้นฐานสามารถใช้งานบน Android Studio หรือ iOS (ที่เป็น ARKit) ก็ได้ แต่หลังๆ ถ้าต้องพัฒนาแอปพลิเคชันแบบ Cross Platform ก็คงต้องผ่าน Unity 3D นี่แหละปัจจุบันมี Unity Hub มา Control Version ก็ยิ่งโอเค

เอาเป็นว่าเรามาลองดู Feature นี้ของเจ้า ARCore กันดีกว่า นั่นคือ Face Rig หรือ Face Detection (คำเตือน โทรศัพท์ของคุณต้องเป็นเวอร์ชัน Android P, version 28 ขึ้นไปนะครับถึงจะรองรับ ARCore)

เริ่มต้นให้สร้าง Project บน Unity ขึ้นมาใหม่

หลังจากนั้นให้เราไปดาวน์โหลด ARCore for Unity เวอร์ชัน 1.9 ที่เว็บไซต์: https://developers.google.com/ar/develop/unity/quickstart-android

เมื่อดาวน์โหลดเสร็จแล้วให้ไปที่เมนู Assets->Import Custom Package เลือกไฟล์ SDK ของเราเข้ามาใน Project เลยทันที เลือก Import All เสีย

หลังจากนั้นให้ไปที่ Windows -> Package Manager

เปิดใช้งาน Multiplayer HLAPI (มีผลกับฟังก์ชัน Cloud Archor ของ ARCore, ไว้จะเขียน Tutorial บทต่อๆไป) และเปิดใช้อีกตัวคือ XR Legacy Input Helpers

ทำการ Install ทั้งสอง Package ให้เรียบร้อย หลังจากนั้น ไปที่ Player Settings ส่วนของ Others Setting ให้ไปที่ Graphics APIs ให้นำ APIs ที่ไม่จำเป็นออกเหลือแค่ OpenGLEs3 ตัวเดียว ดังภาพข้างล่าง

เสร็จแล้วไปที่ XR Settings ทำการเลือก ARCore Supported ให้เรียบร้อย

 เท่านี้ Project ของเราก็พร้อมใช้งานแล้ว เปิด Scene ใหม่ขึ้นมา ทำการลบ Main Camera ออกแล้วให้ลาก ARCore Devices จาก Folder ชื่อ GoogleARcore -> Prefabs -> ARCore Device

ทำการลากไปวางแทนกล้อง Camera

ขั้นตอนต่อมาทำการสร้าง Empty GameObject ขึ้นมาใหม่ ตั้งชื่ออะไรก็ได้

ที่ Empty GameObject ให้แทรก C# ที่ Add Component ใหม่เลือก Augmented Faces Example Controller

สร้าง Empty GameObject ใหม่ขึ้นมาอีกตัวตั้งชื่อว่า Face

แทรก Add Component ตัว C# เข้าไปใหม่ชื่อว่า AR Core Augmented Face Rig คลิกเครื่องหมายถูกที่ Auto Bind

สังเกตจะเห็นว่า Face จะมีการสร้าง Child Object ขึ้นมาคือตำแหน่ง จมูก และ ครึ่งศรีษะบนซ้าย ขวา โดยอัตโนมัติ

ต่อมาไปที่ GameObject ให้เราลาก Face ไปวางที่ตำแหน่ง Face Attachment

ไปหา Model หน้าการ์ตูนสักตัวมาจากเน็ต หลังจากนั้นทำการ ปรับระยะ และ ขนาดของหน้า การ์ตูนที่จะแนบ Face Rig ของเราให้เรียบร้อย ค่อย Build App ของเราลง Android

ทดสอบหน้า Face Rig กับพี่เสือ Frosty ของเราสักหน่อยดีกว่า:

จะเห็นว่าตอนนี้ การทำ Face Detection ผ่าน ARcore ไม่ได้ยากเลย ไม่ต้องเขียนโปรแกรมด้วยซ้ำไป ยังไงหากใครติดอะไร สามารถสอบถามได้นะครับ

Asst. Prof. Banyapon Poolsawas

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน