رندر کردن آواتارهای VRM در SwiftUI
Scowld از یک مدل VRM بلادرنگ همراه با همگامسازی لب (lip sync) و حالات چهره استفاده میکند.
من یک pipeline سهبعدی را از صفر بازسازی نکردم. در عوض، از رویکرد متفاوتی استفاده میکنم.
این اپلیکیشن three.js و three-vrm را درون یک WKWebView رندر میکند. این بخش از طریق WKScriptMessageHandler با Swift ارتباط برقرار میکند.
این تفکیک وظایف به خوبی عمل میکند:
- بخش native وظیفه مدیریت AI، صدا و تبدیل گفتار به متن را بر عهده دارد.
- بخش web وظیفه مدیریت رندر سهبعدی و همگامسازی لب را بر عهده دارد.
کاربران کنترل کامل دارند. آنها میتوانند آواتارها، نامها، صداها و شخصیتها را تغییر دهند.
این روش در زمان صرفهجویی میکند و منطق سهبعدی را پایدار نگه میدارد.
کد را اینجا بررسی کنید: https://github.com/apoorvdarshan/scowld
پست کامل: https://dev.to/apoorvdarshan/rendering-a-customizable-vrm-avatar-in-a-swiftui-app-3ken