本文整理自 YouTube 频道 Can It Code? 的视频《AI Can Now Animate Any Monster》(2026-10-17,9 分 19 秒),加入了我的理解和图解。章节标题里的时间码可以对照原视频跳转。
[00:00:00]
为什么怪物没有「动捕」
给人做动画很容易:有动作捕捉,有 Mixamo,背后是海量真人运动数据库,AI 有足够的东西可学。但巨魔、双足飞龙、拿剑的半人马呢?世界上没有怪物的运动数据库,所以也没有现成工具——至少还没有公开的。
作者的目标是:四条腿、两条腿、带翅膀、带尾巴、拿着剑,任何怪物都能动起来,而且不手动修一帧。
[00:01:20]
不做动画,只「拍」动画
故事从游戏里的一只鹿开始。先让 Opus 用代码写走路关键帧,结果是僵硬的「方块步」;换上 Tripo 生成的更好的模型,同样的代码走路,还是不像真动物。
于是有了一个疯狂的想法:根本不做动画,直接「拍」。用 AI 视频模型 Seedance 生成一段这只鹿走路的视频,再把视频「抄」到骨架上——每一帧由 Opus 写的脚本摆好模型姿势、渲染、检查轮廓是否和视频吻合。
对鹿来说勉强能用,但暴露出两个根本问题:
- 认错腿:侧面看过去腿不停交叉,脚本分不清哪条是哪条,只能让 Opus 回头逐帧手动标脚。农夫角色也一样,近侧腿和远侧腿老是搞混。
- 没有深度:举石头的人和视频几乎逐像素吻合,但一看三维全是错的。视频是平的,像一张照片,脚本只能猜每个部位离镜头多远——而它猜错了。
[00:02:27]
一张图里,放两台相机
先说 Seedance 的一个特性:同一张图、同一句提示词跑两次,会得到两段不同的视频。所以分别生成正面和侧面行不通,两段动作永远对不上。
解法是给 Seedance 一张「左边正面、右边侧面」的拼图,让它生成拼图视频。两个视角在同一段视频里,动作天然同步。有了两台相机,一个点在空间中就只能在一个位置——两条视线在这里相交,深度问题消失了。回头看首屏的红色对极线:同一个关节在两个画面里的高度永远相同。
静态版图解:正面相机能确定关节的左右(x)和高低(y),侧面相机能确定前后(z)和高低(y)。从两台相机各引一条视线,两条线只会在空间中的一个点相交——这个点就是关节的真实 3D 位置。只有一台相机时,同一条视线上的所有点在画面里都重合,这就是「认错腿」和「没有深度」的共同根源。
切到「只有侧面相机」:同一条视线上的所有点在侧面画面里重合——这就是「认错腿」和「没有深度」的共同根源。
然后脚本报告「84% 匹配,所有检查通过」。打开实验室一看,大部分帧都是坏的。最后还是 Opus 把视频和模型上下对照,逐帧找出坏帧修好。
可以用,但太贵:一只巨魔要 Opus 花 4 天、消耗大量 token。目标于是变成——一个工具,任何怪物、任何动作,零人工修帧。
[00:03:22]
六条走不通的路
作者把能找到的方法挨个试了一遍。每一条都在同一个地方栽跟头:分不清哪条腿是哪条,或者只适用于真实动物。
| 方法 | 思路 | 为什么失败 | 结论 |
|---|---|---|---|
| 点追踪(Google DeepMind) | 第一帧是自己的渲染,已知每个像素属于哪块身体,逐帧追踪 | 几步之后点就滑到身体上,腿上一个点都不剩 | 腿上的点丢光 |
| 轮廓分割(Meta · SAM 2) | 每条腿一个轮廓 | 奔跑时腿糊成一片,远侧腿消失或跳到胸口,前后腿颜色互换 | 分不清哪条腿 |
| 单图深度(Depth Anything) | 用深浅判断哪条腿在前 | 两条腿只差约 10 cm,模型分辨不出 | 正确率 4/10 |
| 给腿涂色(手工技巧) | 每条腿穿一种颜色的「袜子」 | 完全依赖 Seedance 每次都画对颜色;六肢怪物不够用 | 不稳定,难推广 |
| 动物姿态检测(真实动物照片训练) | 数千张动物照片训练的关键点检测 | 侧面把远侧腿画到肚子上,正面一团乱 | 视角一变就崩 |
| MoCapAnything(最新研究) | 用真实动物动捕数据训练 | 狼跑起来是歪的,飞奔也不对;对怪物无效 | 只认识真实动物 |
「给腿涂色」最接近成功:每条腿一种颜色的「袜子」,Seedance 也确实保住了颜色。但这让一切都押在 Seedance 每次都画对颜色上——而它从不生成两次相同的视频。何况狼只有四条腿四种颜色,六肢的半人马、带翅膀的龙怎么办?
[00:05:29]
重新思考:把问题化简成一件事
停下来重新想。如果两台相机都知道某个关节在画面里的准确位置,3D 部分就只是一次简单的几何映射——两条线一交,完事。所以:
整个难题只剩一件事:在每一帧里,找到每一个关节,并且知道它是哪一个。
第一步:先给怪物一副骨架
每只新怪物都需要骨架,这成了工具的第一步。作者用 UniRig——一个看着 3D 模型、在内部画出骨骼的 AI。它不错,但不完美:四次尝试里有骨头戳出体外的,也有整条腿没骨头的。所以工具拿每次结果去对照模型本身打分,保留最好的一副,再把手指收进手掌、裁掉戳出体外的部分。
UniRig 跑多次,每次按三条规则打分,保留得分最高的一副:
- 每条着地的腿都必须有骨骼;
- 左右两侧必须对称;
- 骨骼必须都在模型体内。
选中后再修整:把手指收进手掌,裁掉戳出体外的骨骼。
[00:06:27]
一个只认识这只巨魔的 DINO
骨架有了,难的是在视频里找到这些关节。没有任何现成工具能读懂这只巨魔,因为没有任何 AI 见过它。但作者有比数据库更好的东西:巨魔本身。
做法是拿 Meta 的 DINO——一个已经看过数百万张图片的视觉模型——只教它一件事:找到这只巨魔的每个关节。训练数据是把巨魔在两台相机下渲染成 3000 个随机姿势。因为图是自己渲染的,每个关节在哪里都精确已知,标注是免费且完美的。
而且要故意「做难」:大约一半的姿势是快速动作,手脚带着运动模糊——因为 Seedance 给出的视频就是这样。试试下面的生成器,关掉某一步,看看训练图会缺什么:
每一张训练图都这样生成:
- 随机弯曲每个关节,但不超过真实关节的活动范围;
- 随机转身,让模型见过各个角度;
- 给快速运动的部位加运动模糊——约一半姿势是快速动作;
- 再故意劣化:模仿 Seedance 的光照、色偏和模糊的手臂。
无论哪一步,关节坐标都在渲染时直接得到,不需要人工标注。
DINO 在这一只巨魔上学这一件事,在作者的显卡上大约 30 分钟。之后读一段 Seedance 视频,每个关节在两个画面里逐帧亮起,只要几秒。
[00:07:40]
考试:不靠人眼的质量保证
怎么确定工具读对了,又不用人逐帧检查?给它出一场考试。对每一只怪物——哪怕是全新的——自己编一段动作:每个关节在活动范围内随机运动,用同样的双机位在「摄影棚」里渲染成视频。因为动作是自己编的,每一帧每个关节的位置都是标准答案。工具像读 Seedance 视频一样读它,然后逐骨骼和答案比对。
考试流程:
- 自己编一段动作:每个关节在活动范围内随机运动;
- 用同样的双机位渲染成视频;
- 因为动作是自己编的,每一帧每个关节的位置都是标准答案;
- 工具读视频,逐骨骼和标准答案比对。
工具的任何改动,都必须让所有怪物通过考试,否则不合入。
新的蜥蜴怪在花一分钱买 Seedance 视频之前就先过了这场考试;工具的任何改动,都必须让所有怪物通过考试,否则不合入。
考试之外还有一道入场检查:Seedance 视频进来之前,先确认左右两半是不是同一个动作。Seedance 偶尔会在两半里各演一个动作,这时重新生成比修复更快。
[00:08:32]
深度,第二次机会
还记得 Depth Anything 吗?作者想:能不能把深度图和双机位结合,让结果更好?既然自己的渲染里也知道每个关节离镜头多远,干脆也训练一个专属深度模型。
「哪条腿更近?」同一段奔跑里:
- Depth Anything(通用单目深度):10 次对 4 次;
- 专属深度模型(用这只怪物的渲染训练):每一次都对;
- 双机位几何:两条视线直接相交,本来就知道深度。
同一段奔跑里,专属模型每一次都选对了更近的那条腿;Depth Anything 10 次只对 4 次。但和双机位结合后,结果几乎没变——两台相机本来就看得见深度。那它能替代第二台相机吗?还不能:它知道哪条腿更近,但不知道到底近多少。
[00:09:08]
从 A 到 Z 的流水线
把所有环节串起来:
- 建模(Tripo):用 Tripo 生成怪物的 3D 模型。→ 怪物网格
- 自动绑骨(UniRig):AI 在模型内部画骨骼;跑多次按规则打分择优,再收拢手指、裁掉戳出体外的骨头。→ 骨架
- 双机位参考图(渲染):把怪物的正面和侧面拼进同一张图,让两个视角永远同步。→ 正面 + 侧面拼图
- 生成表演(Seedance):视频模型负责「演」:跑、跳、挥剑,任何动作。→ 动作视频
- 视频质检(质检):先确认左右两半是同一个动作;不一致就重新生成,比修复更快。→ 通过 / 重拍
- 专属关节识别(DINO):用这只怪物的 3000 张合成渲染微调 DINO,约 30 分钟;读视频只需几秒。→ 两视角 2D 关节
- 三角测量(几何):两条视线交汇,还原每个关节的空间位置。→ 逐帧 3D 姿态
- 落地(Blender):写回骨架,导入 Blender,直接进游戏。→ 游戏动画
[RESULT]
结果与局限
- 适用范围四条腿、两条腿、翅膀、尾巴、拿剑都行;新怪物(蜥蜴、老鼠)没有手动修过一帧。
- 成本一只巨魔从「Opus 逐帧校验 4 天 + 大量 token」变成几分钟。学习只需每只怪物一次,之后可以生成任意多的动作。
- 局限 1如果 Seedance 在两半画面里演了两个不同的动作,工具只能跟随其中一个。
- 局限 2被身体挡住的手,仍然是猜的。
[NOTE]
我的收获:四条可迁移的方法论
- 几何约束胜过模型猜测。能用多视角把歧义消掉,就别指望单目模型去猜深度。专属深度模型再准,也补不上双机位已经给出的信息。
- 用自己的资产合成标注数据。通用模型没见过你的东西,但你能无限渲染你的东西,标注免费且完美。关键是把渲染「做坏」到和真实输入一样。
- 先造考试,再花钱。一段已知答案的合成动作,比任何「84% 匹配」的自评指标都可靠,而且能挡住每一次退化。
- 把模糊问题化简为可测量的子问题。「让怪物动起来」很难评估;「每帧找对每个关节」可以逐骨骼打分。
[REF]
参考
- 原视频:AI Can Now Animate Any Monster. Opus 5.5 Built the Tool — Can It Code?
- 文中提到的工具:Tripo(3D 生成)· UniRig(自动绑骨)· Seedance(视频生成)· SAM 2 · Depth Anything · DINO · MoCapAnything
- 页面中标注「示意」的数值和图形为图解,不是视频公布的数据。