Рендеринг VRM-аватаров в SwiftUI
Scowld использует VRM-модель в реальном времени с липсинк-анимацией и мимикой.
Я не стал переписывать 3D-пайплайн с нуля. Вместо этого я использовал другой подход.
Приложение рендерит three.js и three-vrm внутри WKWebView. Оно взаимодействует со Swift через WKScriptMessageHandler.
Такое разделение обязанностей отлично работает:
- Нативная часть управляет AI, голосом и преобразованием речи в текст.
- Веб-часть отвечает за 3D-рендеринг и липсинк.
У пользователей есть полный контроль. Они могут менять аватары, имена, голоса и характеры.
Этот метод экономит время и обеспечивает стабильность 3D-логики.
Check the code here: https://github.com/apoorvdarshan/scowld
Full post: https://dev.to/apoorvdarshan/rendering-a-customizable-vrm-avatar-in-a-swiftui-app-3ken