最近看到一个 Meta 的开源项目:AI4AnimationPy。它是一个用于 AI 驱动角色动画的 Python 框架。简单来说,它把原本依赖 Unity 的 AI4Animation 工作流,搬到了 Python 里。以前做 AI 角色动画,往往要在 Python 里训练模型,再切到 Unity 里做可视化,中间还要处理 ONNX、数据流、通信管线等问题。AI4AnimationPy 想解决的就是这个断裂感。
现在,从 motion capture 数据处理、特征提取、模型训练、推理,到动画可视化,都可以在一个 Python 环境里完成。底层主要基于 NumPy 和 PyTorch,对研究者和动画工程师来说,迭代会轻很多。
为什么这个项目值得关注?
AI 角色动画一直是游戏和虚拟角色领域里很重要的一环。比如,一个角色如何自然地走路、转身、奔跑、跳跃,甚至根据不同风格做出不同动作,这些过去都需要大量动画资产和工程调参。
AI4AnimationPy 提供的是一套更统一的实验环境。你可以在 motion capture 数据上训练模型,训练过程中直接看到输入和输出效果,不需要频繁切换工具。它也支持 headless 模式,可以放到服务器上跑训练;如果需要可视化,也可以用内置 renderer 直接查看动画结果。
这对于做 AI animation research 的人来说,最大的价值不是“多了一个工具”,而是工作流变短了。
它能做什么?
项目里已经提供了不少 demo。
比如 Locomotion Demo,可以展示双足角色的风格化行走控制;
Quadruped Demo 则是四足动物的运动控制,可以做步态切换和动作姿态;
还有 IK Demo,用于实时 inverse kinematics 求解;
Motion Editor Demo 可以浏览动画和查看动作特征。
它还支持常见的 motion capture 数据导入,包括 GLB、FBX、BVH 等格式,并会统一转成内部的 .npz motion 格式。这意味着,很多公开动作数据集都可以接进来使用,例如 100Style、LaFan、ZeroEggs、Motorica、NSM、MANN 等。
和 Unity 版本相比,变化在哪里?
原来的 AI4Animation 很依赖 Unity。Unity 做 runtime 和可视化很强,但如果你主要在 PyTorch 里做模型研究,两个环境之间来回切换就会比较麻烦。AI4AnimationPy 的思路是:把训练、推理和可视化尽量放到同一个 Python 框架里。
官方给出的对比也很明显:20 小时 mocap 数据的训练数据生成,在 AI4AnimationPy 里不到 5 分钟,而 Unity 版本需要 4 小时以上;新实验的 setup 时间,也从 4 小时以上降到大约 10 分钟。更重要的是,它支持通过 inference 做 backprop,这在 Unity 版本里是做不到的。
一个趋势:AI 动画工具正在变得更“研究友好”
过去很多 AI 动画工具更像是一个工程系统,能跑,但不一定方便研究和快速迭代。
AI4AnimationPy 更像是把游戏动画工程和深度学习研究往一起拉了一步:既保留 ECS、update loop、rendering pipeline 这些游戏引擎式设计,又把核心计算放在 NumPy / PyTorch 里。
这可能会让 AI character animation 的实验门槛降低不少。未来如果再加入 physics simulation、path planning、audio support,整个框架会更接近一个完整的 AI 动画实验平台。
试用
很简单的用 Antigravity 装了一下。