嘿 r/gamedev 👋
动捕很贵。 Rokoko 套装、OptiTrack rigs 或支付动画包的费用会迅速增加,尤其是对 solo devs 和小团队来说。所以我建造了一个免费的开源替代品,它从任何单个 RGB 视频中提取人类运动并将其导出为 BVH,准备将其添加到您的角色中。
为此演示,我尝试了将游戏和电影动画剪辑跟踪回 BVH 文件——完全圆圈,游戏播放 → 可复用的动捕数据可以在您的管道中清理。
它做了什么:
- 🎥 单个 RGB 视频输入 → BVH 输出(Blender、Unity、Unreal、MotionBuilder)
- 👥 多人跟踪 — 每个主题自动导出到自己的 BVH 文件
- 🦴 全身 + 手部,70 个 3D 关键点
- 🎚 Butterworth 时间平滑 → 减少抖动以清理
- 🔄 实时模式,或者离线多次迭代以获得更清洁的结果
使用:
# Webcam
scripts/webcam.sh --from /dev/video0
# 实时
scripts/video.sh --from clip.mp4 --save clip_rendered.mp4 --bvh clip.bvh
# 离线(多次迭代,更加平滑)
scripts/offline_video.sh --from clip.mp4 --save clip_rendered.mp4 --bvh clip.bvh
堆栈(对于引擎专家):native C++ 运行时基于 Meta 的 SAM-3D-Body 模型,通过 ONNX Runtime + ggml 构建,CUDA 加速,CPU fallback。没有 PyTorch,Python 在推理时没有使用。有一个简单的 C API,允许您将其集成到 Unity/Unreal 插件或您的引擎中。
诚实的期望:它是单目,无法替代真正的动捕舞台的主角动画 —— 深度/尺寸是估计的,重叠会破坏它。但是,对于预视、NPC 背景运动、格子图、参考和独立项目,它是真正可用的,直接导出 BVH 给您一个清洁的起始点,以 keyframe 过去。
仓库:https://github.com/AmmarkoV/SAM3DBody-cpp
评论 (0)