在 SwiftUI 中渲染 VRM Avatars
Scowld 使用带有唇形同步 (lip sync) 和表情功能的实时 VRM 模型。
我并没有从零开始重建 3D 流水线。相反,我采用了一种不同的方法。
该应用在 WKWebView 中渲染 three.js 和 three-vrm。它通过 WKScriptMessageHandler 与 Swift 进行通信。
这种职责分离的方式效果很好:
- 原生端负责管理 AI、语音和语音转文本 (speech to text)。
- Web 端负责管理 3D 渲染和唇形同步。
用户拥有完全的控制权。他们可以更换虚拟形象 (avatars)、名称、声音和性格。
这种方法节省了时间,并保持了 3D 逻辑的稳定性。
在这里查看代码:https://github.com/apoorvdarshan/scowld
完整文章:https://dev.to/apoorvdarshan/rendering-a-customizable-vrm-avatar-in-a-swiftui-app-3ken