ถ้าจะบอกว่า 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 ไม่ได้ยากเลย ไม่ต้องเขียนโปรแกรมด้วยซ้ำไป ยังไงหากใครติดอะไร สามารถสอบถามได้นะครับ
One Comment