MyMallow - ไดอารี่อารมณ์ของตัวละคร 3D ที่สร้างด้วย RealityKit
(blog.devstory.co.kr)ขอแนะนำ MyMallow แอป iOS ที่ให้ผู้ใช้ทำให้อารมณ์ของตัวเองเป็นตัวละคร 3D และตกแต่งได้ด้วยตัวเอง เป็นโปรเจกต์ที่พัฒนาตลอด 2 เดือน โดยไม่ได้หยุดแค่การเขียนไดอารี่ แต่โฟกัสไปที่ 'การสร้างคอนเทนต์ 3D แบบมีส่วนร่วมจากผู้ใช้'
ฟีเจอร์หลัก
- เท็กซ์เจอร์แบบกำหนดเอง: ระบบจะวิเคราะห์ภาพวาดที่ผู้ใช้วาดบนแคนวาสด้วย Vision framework แล้วแมปเข้ากับ material ของโมเดล 3D แบบเรียลไทม์
- โมชั่นแคปเจอร์ของฉันเอง: นอกจากโมชั่นที่มีมาให้ในตัว 195 แบบแล้ว ยังสามารถใช้ Body Position Tracking ของ ARKit เพื่อบันทึกท่าทางของผู้ใช้โดยตรงและนำไปใช้กับตัวละครได้
- NPC ที่ทำพฤติกรรมได้เอง: ผสาน State Machine และ pathfinding ของ GameplayKit เข้าด้วยกัน เพื่อให้ตัวละครแสดงพฤติกรรมตามสภาพแวดล้อมได้เอง เช่น เต้นรำใกล้กองไฟ
จุดสำคัญในการพัฒนาเทคโนโลยี
- RealityKit & 3D pipeline: ใช้งานโมเดลที่สร้างด้วย Blender โดยแปลงเป็น
.usdzและควบคุมเท็กซ์เจอร์กับโครงสร้าง rigging ของโมเดลแบบไดนามิกขณะรันไทม์ - การปรับแต่งโมชั่นให้เหมาะสม: เพื่อลด noise ของข้อมูลที่จับมาได้ มีการใช้ Low-pass filter และ Slerp (การอินเตอร์โพเลตเชิงเส้นทรงกลม) เพื่อสร้างแอนิเมชันที่ลื่นไหล
- ฟิสิกส์และเสียงเชิงพื้นที่: สร้างพื้นที่ 3D ที่ชวนดื่มด่ำด้วยการจำลองฟิสิกส์บนพื้นฐาน Collision Detection และระบบพาร์ติเคิลที่รองรับ Spatial Audio
- การรวมโครงสร้าง Bone: เพื่อแก้ปัญหาโครงสร้าง bone ที่ต่างกันระหว่าง Mixamo (65 จุด) และ Apple ARBody (91 จุด) จึงเลือกใช้วิธีสลับโมเดลที่ rigged ไว้ตามสถานการณ์
นี่คือโปรเจกต์ที่ก้าวข้ามการเป็นเพียงเครื่องมือบันทึก เพื่อสำรวจความเป็นไปได้อันหลากหลายของ RealityKit
1 ความคิดเห็น
น่าประทับใจมากครับ เดิมทีผมไม่ได้สนใจไลบรารีนี้เท่าไร แต่ต้องขอบคุณบทความที่สรุปไว้ได้ดีนี้ ทำให้ผมมีโอกาสเปิดมุมมองได้กว้างขึ้นครับ