Render VRM Avatar trong SwiftUI
Scowld sử dụng mô hình VRM thời gian thực với khả năng đồng bộ môi (lip sync) và biểu cảm.
Tôi không xây dựng lại toàn bộ quy trình (pipeline) 3D từ đầu. Thay vào đó, tôi sử dụng một cách tiếp cận khác.
Ứng dụng render three.js và three-vrm bên trong một WKWebView. Nó giao tiếp với Swift thông qua WKScriptMessageHandler.
Sự phân chia nhiệm vụ này hoạt động rất hiệu quả:
- Phía native quản lý AI, giọng nói và chuyển đổi giọng nói thành văn bản (speech to text).
- Phía web quản lý việc render 3D và đồng bộ môi (lip sync).
Người dùng có toàn quyền kiểm soát. Họ có thể thay đổi avatar, tên, giọng nói và tính cách.
Phương pháp này giúp tiết kiệm thời gian và giữ cho logic 3D luôn ổn định.
Xem mã nguồn tại đây: https://github.com/apoorvdarshan/scowld
Bài viết đầy đủ: https://dev.to/apoorvdarshan/rendering-a-customizable-vrm-avatar-in-a-swiftui-app-3ken