实时摄像头到 VRM 重定向
仅凭一个摄像头,浏览器能否驱动 3D 虚拟形象?
我测试了 MediaPipe Holistic,以观察它是否能够估算身体、面部和手部动作,从而实时控制 VRM 1.0 虚拟形象。我在 Apple M1 Max 上使用 CPU 和 WASM 进行了这项测试。
结果表明,标准的摄像头无需昂贵的动作捕捉设备即可驱动 3D 虚拟形象。
测试结果: • 硬件:Apple M1 Max • 输入:1280x720 摄像头流 • 有效速度:17.3 FPS • 平均推理时间:49.17 ms • 成功率:所有 141 个检测到的姿态帧均更新了 VRM 骨骼
工作原理: 该系统使用多阶段流水线来追踪 553 个点:
- 33 个身体姿态点
- 478 个面部网格点(包括虹膜)
- 每只手 21 个点
处理流程如下:
- MediaPipe 从摄像头中检测关键点 (landmarks)
- 坐标转换为 Three.js 空间
- 数据映射到 34 个 VRM 骨骼和表情
- 平滑算法通过插值运动来减少抖动
重定向通过将两个关键点之间的方向与 VRM 骨骼方向对齐来实现。例如,它通过映射肩部到肘部来设置手臂旋转。面部系数直接映射到虚拟形象的表情,如眨眼或张嘴。
局限性:
- 速度:17.3 FPS 对于演示来说很不错,但对于专业的 60 FPS 动作捕捉来说还不够流畅。
- 旋转:这是一种方向上的近似。它无法解决前臂或脚踝的精确扭转问题。
- 复杂度:由于测试时间较短,该测试未能证明能够同时稳定地追踪面部和双手。
这种方案为创建浏览器内的虚拟形象演示和手势交互界面提供了一种轻量级的方法。
