SwiftUI에서 VRM 아바타 렌더링하기
Scowld는 립싱크와 표정 기능이 포함된 실시간 VRM 모델을 사용합니다.
3D 파이프라인을 처음부터 다시 구축하지 않았습니다. 대신, 다른 접근 방식을 사용했습니다.
이 앱은 WKWebView 내부에서 three.js와 three-vrm을 렌더링합니다. 그리고 WKScriptMessageHandler를 사용하여 Swift와 통신합니다.
이러한 역할 분담은 매우 효과적입니다:
- 네이티브 측에서는 AI, 음성 및 음성 인식(speech to text)을 관리합니다.
- 웹 측에서는 3D 렌더링과 립싱크를 관리합니다.
사용자는 모든 것을 제어할 수 있습니다. 아바타, 이름, 목소리, 그리고 성격을 자유롭게 바꿀 수 있습니다.
이 방식은 시간을 절약해주며 3D 로직을 안정적으로 유지해 줍니다.
코드는 여기서 확인하세요: https://github.com/apoorvdarshan/scowld
전체 포스트: https://dev.to/apoorvdarshan/rendering-a-customizable-vrm-avatar-in-a-swiftui-app-3ken