2026 秋 · 发自宁静基地
走进月球工作室 ↗
terryl.in月球基地日志 — 一个人在月球工作室的开发笔记
游戏开发

Kimodo 是什么?NVIDIA 免费开源 AI 动画生成,打字就能做角色动作

Kimodo 是 NVIDIA 免费开源的 AI 动画生成模型,打字就能生成 3D 角色动作,免动作捕捉。介绍与 Mixamo 的区别、显卡要求和用法,附游戏角色随音乐打鼓的实例。

宇航员在月球基地的电脑前打字,旁边一个蓝色人体模型照着屏幕上的文字摆出动作,身后拖着动作轨迹
宇航员在月球基地的电脑前打字,旁边一个蓝色人体模型照着屏幕上的文字摆出动作,身后拖着动作轨迹

用 AI 做游戏,角色模型这一步已经很快了:上一篇用 Tripo AI 把概念图转成 3D 模型,几分钟就好。可是模型做好之后,让它动起来一直是最卡的地方。现成的动作包只有走、跑、跳、挥剑这些通用动作,想让角色“坐在沙发上玩掌机”或“跟着音乐打鼓”,以前只能在 3D 动画软件里自己一帧一帧调,或者穿上动作捕捉服去录。

NVIDIA 今年免费开源的 Kimodo,就是来解决这件事的:输入一句描述,它直接生成一段 3D 角色动作,不用动作捕捉,也不用手动调关键帧。这篇整理 Kimodo 是什么、和 Mixamo 有什么区别、电脑要多强、没有显卡可以怎么用,最后看一位日本独立游戏开发者怎么把这种 AI 3D 动画生成用在真正的游戏里。

Kimodo 是什么?

Kimodo 是 NVIDIA Spatial Intelligence Lab 在 2026 年 3 月发布的开源模型,全名是 Kinematic Motion Diffusion,用扩散模型生成人物或人形机器人的骨骼动作。它用了约 700 小时、可以商用的光学动作捕捉数据训练,模型权重放在 Hugging Face,代码在 GitHub,授权是 NVIDIA Open Model License。

简单说,它做的是“文字生成动画”,跟 AI 生图很像,只是生成的不是一张图,而是每一帧骨骼关节的位置和角度。你写“一个人慢慢走过去坐下,再站起来伸懒腰”,它就生成这段动作的骨骼数据,可以导出成 BVH 或 GLB,拿去 Blender、Unity、Unreal 用。

Kimodo 官方演示:好几个蓝色人体模型各自做着不同的动作,有蹲下、挥手、翻滚、伸展
官方演示:不同的文字描述生成不同的动作。图:NVIDIA Kimodo(GitHub nv-tlabs/kimodo,Apache 2.0)

Kimodo 文字生成动画:能控制哪些东西?

只靠一句话,生成出来的动作常常和想象的不太一样。Kimodo 比较实用的地方是可以一边写文字、一边加约束条件:

  • 文字描述:要做什么动作。可以分段写,一段接一段生成。
  • 全身关键帧:指定某一帧的整个姿势,比如最后一帧要停在坐姿。
  • 指定关节的位置:只约束某几个关节,其他交给模型。
  • 手脚的位置:比如手要碰到某个点、脚要踩在地上。
  • 地面上的路线:给几个要经过的点,或一条路径,角色会沿着走。
Kimodo 的约束条件示意:走路的人体旁边标出手脚位置、全身关键帧和地面上的落点
灰色骨骼是手脚的位置约束,红色骨骼是全身关键帧,地上的圆圈是要经过的点。图:NVIDIA Kimodo(GitHub nv-tlabs/kimodo,Apache 2.0)

支持的骨骼有三种:NVIDIA 自己的 SOMA 人体、Unitree(宇树)G1 人形机器人,以及学术界常用的 SMPL-X。游戏常用的骨骼(Mixamo、各家引擎的人形骨骼,或模型自带的骨骼)都要再做一次动作重定向(retarget),才能套到自己的角色上。

Kimodo 支持的三种骨骼:SOMA 人体、Unitree G1 机器人、SMPL-X 人体
支持的三种骨骼:SOMA、G1、SMPL-X。图:NVIDIA Kimodo(GitHub nv-tlabs/kimodo,Apache 2.0)

Kimodo 和 Mixamo、动作捕捉有什么区别?

制作 3D 动画时,角色动作通常有三个来源,Kimodo 是第三种:

Mixamo

动作捕捉

Kimodo

动作从哪来

从现成的动作库里挑

真人穿上传感器或对着摄像头录

输入文字和约束条件,AI 生成

想要特别的动作

库里没有就没办法

可以,但要场地、设备和演员

可以,写得出来就能试

费用

免费(要 Adobe 账号)

买设备或租棚的成本最高

开源免费,但要自己的显卡或付云端费用

成品的稳定度

高,都是录好的动作

高,但要清理数据

不一定,常常要多生成几次、手动修

Mixamo 适合走、跑、跳、攻击这些通用动作,而且它也能自动绑骨骼;Kimodo 补的是“动作库里找不到、又不值得去录”的那些。两个可以一起用:角色先在 Mixamo 绑好骨骼,Kimodo 生成的动作从云端导出 Mixamo 骨骼的 FBX,就能直接套上去。

Kimodo 配置要求:显存约 17 GB

Kimodo 官方说明写得很直接:

  • 显卡:实际上必须是 NVIDIA。测试最多的是 RTX 3090、RTX 4090 和 A100。
  • 显存:全部放在 GPU 上跑约需 17 GB,大部分是文本编码器(Meta 的 Llama 3 8B)占用的。设置 TEXT_ENCODER_DEVICE=cpu 把文本编码改到 CPU 上做,可以降到 3 GB 以下,只是慢一点。
  • 系统:主要在 Linux 上开发和测试,Windows 建议用 Docker。
  • 环境:Python 3.10 以上、PyTorch 2.0 以上。
  • 账号:要有 Hugging Face 账号,并申请 Meta Meta-Llama-3-8B-Instruct 的使用权限。

我的笔记本只有 Intel 核显,没有 NVIDIA 显卡,所以没办法在本地跑。如果你也一样,可以看下一节的云端做法。

有 NVIDIA 显卡的话,官方也附了一个在浏览器里操作的界面(kimodo_demo):上方是 3D 预览,下方是时间轴,可以在时间轴上放文字描述和各种约束条件,右边选模型、设定时长后点 Generate。

Kimodo 官方的操作界面:中间是走路捡东西的人体动作和约束条件,下方是时间轴,右边是模型与生成设置
官方的本地操作界面 kimodo_demo。图:NVIDIA Kimodo(GitHub nv-tlabs/kimodo,Apache 2.0)

Kimodo 怎么用?免费的 UE 5.9 插件、云端和 Blender 三种做法

1. Unreal Engine 5.9 内置:AnimGenOffline

Epic 在 2026 年 11 月 9 日发布的 Unreal Engine 5.9 预览版,新增了一个 AnimGenOffline 插件,可以在 Sequencer 里直接用 AI 生成动画,第一个接入的模型就是 Kimodo。你在时间轴上摆好关键姿势、拉好路径、写好描述,它就把中间的动作补出来。

这是目前最省事的免费做法,但一样要有够强的 NVIDIA 显卡,而且还是预览版,插件名称和功能之后可能会改。

2. 云端:Replicate

没有显卡的话,Replicate 上有社区部署的 Kimodo(sprited/kimodo,不是 NVIDIA 官方),在网页上输入描述就能生成,可以导出 GLB、BVH,也能导出 Mixamo 骨骼的 FBX。如果你的角色本来就用 Mixamo 骨骼,这是最快能套上去的格式。Replicate 按使用的 GPU 时间计费,实际价格以页面为准。

3. Blender 动画插件:Animatica

Animatica 把 Kimodo 这一系列的模型做成 Blender、MotionBuilder、3ds Max 的插件,不用自己搭服务器。我看到的方案有每月 10 次的免费版、按次数买的点数包,以及年付的 Pro 版,方案变动很快,以官网为准。

Kimodo 游戏实例:让 AI 角色跟着音乐打鼓、弹贝斯

看完规格,最好的说明还是实际用在游戏里的例子。日本独立游戏开发者 ShadeLurk(音游《BEAT VISTA》的作者)最近分享了两段视频:一个角色跟着歌曲弹贝斯,另一个角色跟着歌曲打鼓。

AI 生成的角色坐在鼓组前跟着歌曲打鼓,左边是鼓谱轨道,下方显示每一击的实测判定
打鼓:左边是 AI 从歌曲里扒出来的鼓谱,下方实时测出鼓棒有没有打在对的地方。视频:@ShadeLurk,经作者同意转载

按他帖子里的说明,整条流程是四个工具分工:

步骤

工具

做什么

1. 角色

Tripo

生成 3D 角色模型

2. 谱面

Gemini 4 Carbon

从歌曲的音频里扒出鼓谱,并判断每一下该打哪个鼓

3. 动作

Kimodo(UE 5.9 的 AnimGenOffline)+ Fable 5.2

照着谱面生成演奏动作

4. 播放

Unity

照谱面播放动作,并做最后的修正

有几个地方特别值得看:

一、动作在 Unreal 生成,游戏在 Unity 跑。 Unreal 在这里只是一台“离线动画生成器”,生成完把动作带回 Unity。也就是说,就算你的游戏不是用 Unreal 做的,一样可以用 UE 5.9 的 Kimodo 插件来做动作。

二、他不是“看起来对”就算了,而是每一下都量。 视频下方实时显示鼓棒尖端离鼓面几毫米、离目标点几厘米,底鼓鼓槌是几度、有没有碰到鼓皮,再统计每个鼓“打对了几下”。整首歌 644 下,一下一下判定。

三、AI 生成的动作不是成品,要修。 贝斯那段视频把“Kimodo 生成的原样”和“修正后”放在一起对比:

左上角是 Kimodo 生成的原始动作,右边是修正后的版本,中间是指板特写,标出每个音该按的弦和位置
贝斯:左上是 Kimodo 生成的原样,右边是修正后。视频:@ShadeLurk,经作者同意转载

Kimodo 生成的大动作(抱着贝斯、身体律动、手在指板上移动)已经很自然,但手指不会刚好按在正确的弦和位置上。他在 Unity 里另外把指尖对到正确的弦位、把脚固定住,再加上身体的晃动。

这正好就是官方写的限制:Kimodo 看不到场景里的物体。它不知道贝斯的弦在哪、鼓放在多高,所以只要动作需要“碰到某个东西”,最后都要靠程序或手动修。

Kimodo 的局限

整理官方说明和上面的案例,用之前先知道这几点:

  • 不一定照着文字走:官方自己也写了,生成的动作不一定完全符合描述,常常要多生成几次再挑。
  • 看不到场景:椅子多高、桌子在哪、手要握什么,它都不知道。坐下、拿东西、演奏乐器这类动作,最后都要修。
  • 骨骼要转换:输出的是 SOMA、SMPL-X 或 G1 骨骼,套到自己的角色上要先重定向。
  • 门槛是显卡:本地跑要 NVIDIA 显卡,没有的话就要用云端。

我会怎么用 Kimodo

我的网站首页是一座月球基地,主角 Terry 可以走来走去、坐在工作室的椅子上、躺在沙发上打瞌睡,也可以拿起桌上的掌机玩贪吃蛇。这些动作都来自现成的动作包,坐下、躺下都有,但“拿着掌机低头玩”这种动作就没有,现在只能让他用坐姿把掌机放在胸前。我正在设计的 RPG 也一样,剧情里需要的动作远比动作包多。

Kimodo 适合补的就是这种“通用动作包里没有、又不想自己调”的动作。我会先在云端生成,导出 Mixamo FBX,再重定向到角色自己的骨骼;需要碰到东西的地方(手握掌机、坐在沙发上的高度),照 ShadeLurk 的做法在游戏里再修。

结语:AI 动画生成补动作,人负责“碰到东西”的那一刻

模型交给 Tripo AI、动作交给 Kimodo,一个人做 3D 游戏的两大门槛都有 AI 可以帮忙了。但从 ShadeLurk 的例子也看得出来,AI 生成的动作负责“大致对”,真正让玩家觉得“他真的在打鼓”的,是最后那几厘米的修正。这部分还是要人来决定、来量。

你也试过用 AI 生成角色动作吗?欢迎到 Threads 或 X 找我的帖子直接留言聊聊。