想把真人视频里的动作直接用到 3D 角色上,却不想从零制作骨骼动画?Motion2MixamoRig 是一个开源动作重定向工具:输入一段单人视频,或一张全身人物照片,再搭配 Adobe Mixamo 角色,就能生成对应的角色动作和可导入 Blender、Unity 的 .glb 文件。
它适合独立游戏、3D 动画与角色动作预览,但目前仍是实验性项目,更适合尝试和验证创意,而非不经检查直接进入正式制作流程。
官方项目示意图,来源:Motion2MixamoRig GitHub 仓库。
它能做什么?
- 视频转角色动画:从单人视频估计人体三维动作,再映射到 Mixamo 骨架角色。视频中的走路、转身、舞蹈等动作可以用来测试角色动画。
- 照片转静态姿态:用一张全身人物照片生成角色姿态预览;单张照片不能恢复完整的连续动作。
- 更换不同角色:同一段视频提取出的
skeleton_motion.npz可以复用,更换 Mixamo 角色时无需重新进行耗时的人体动作提取。 - 输出可编辑素材:除预览视频、对比画面外,还能得到带蒙皮的
mixamo_character.glb,用于 Blender 或 Unity 中继续处理。
这里的关键不是“把视频贴到模型上”,而是估计人体运动 → 适配角色骨架 → 输出角色动作。角色比例、原视频遮挡情况和骨架对应关系,都可能影响结果。
使用前准备
这个项目不是上传视频就能在线生成的网页工具,需要先在本地准备运行环境和素材:
- Python 3.11 或更高版本。项目目前提供命令行工作流;另有面向 Blender 4.2+ 的扩展程序。
- SMPL-X 人体模型。需按 SMPL-X 官网要求单独下载,文件放在
assets/body_models/smplx/SMPLX_NEUTRAL.npz。 - Mixamo 角色 FBX。可以从 Adobe Mixamo获取,例如 Y Bot,放入
assets/mixamo/。 - 单人视频或全身照片。视频放到
assets/video/,照片放到assets/image/;人物须清晰、尽量全程从头到脚出现在画面中。
首次运行会下载约 5 GB 的推理权重;建议提前准备足够磁盘空间。官方也建议安装 FFmpeg,以便输出视频保留音频并兼容浏览器播放。以上依赖及素材并非全部打包在仓库内。
基本工作流程
安装方式、依赖兼容说明以官方中文 README为准。尤其注意旧依赖 chumpy 的安装要求,不建议省略官方提供的安装步骤。
准备好素材后,可以先检查环境,再执行视频或照片流程:
m2mr doctor
m2mr run --video assets/video/dance.mp4
# 也可以输入照片
m2mr run --image assets/image/pose.jpg每次运行会在 outputs/ 下新建结果目录。常用文件包括:
mixamo_character.glb:最终带皮角色,可导入 Blender / Unity。skeleton_motion.npz:提取出的人体动作骨架,方便复用。mixamo_rotations.npz:角色骨骼逐帧旋转信息。videos/compare.mp4或images/compare.png:查看来源、人体骨架、Mixamo 骨架与角色结果的对比预览。
如果想把同一段动作转给另一位 Mixamo 角色,推荐复用第一次生成的骨架:
m2mr run --skeleton outputs/上一次运行目录/skeleton_motion.npz --rig assets/mixamo/Vampire.fbx此外,项目提供 Blender 扩展程序,可以从 Blender 界面发起相同流程,但依旧需要配置外部 Python 环境和模型素材。
使用限制与注意事项
- 画面中只能有一个人,并保持全身清晰可见;多人入镜、频繁遮挡、人物出画会增加动作估计失败或动作失真的风险。
- 照片不等于动作视频:单张静态照片只对应一个姿态,不会凭空恢复原本不存在的完整动作。
- 正式制作仍需人工检查:手部姿态、脚部接触、遮挡处的关节以及不同体型之间的适配,均可能需要在 Blender 内修正。
- 区分代码与素材授权:仓库代码采用 Apache-2.0;SMPL-X、推理权重、Mixamo 角色及输入视频分别适用各自的使用条款。商用前应逐项核对授权,不能只看代码许可证。
适合谁?
如果你是独立游戏开发者、Blender 使用者、动画创作者,想快速验证“真人动作驱动 3D 角色”的效果,Motion2MixamoRig 值得收藏。初次测试建议从固定镜头、单人全身、短时长且动作简单的视频开始,确认整个流程跑通后再尝试更复杂的动作。
项目与参考资料