“烘焙”是三维动画制作中一个至关重要的步骤,尤其是在将动画从复杂的软件(如 Maya)转移到其他软件或游戏引擎时。

什么是烘焙?
烘焙就是将一个物体的“动画”或“模拟”数据,从其驱动源(如控制器、表达式、动力学)中提取出来,直接应用在物体自身的属性上(如旋转、位移、变形),并计算出每一帧的具体数值。
这就像把一份复杂的食谱(驱动源)变成一份已经做好的、可以直接食用的成品(动画数据)。
为什么要烘焙?
烘焙的主要目的有以下几点:
- 简化数据,提高性能:游戏引擎或一些简单软件无法理解 Maya 的复杂控制器、约束或表达式,烘焙后的动画只是一系列直接的数值,加载和处理速度极快,对游戏性能至关重要。
- 脱离复杂场景:烘焙后的动画是自包含的,即使你删除了 Maya 场景中的所有控制器、骨骼和驱动器,物体依然能播放出完整的动画,这使得场景文件更干净、更易于管理。
- 处理非线性动画:对于 Trax 编辑器中的非线性动画,烘焙可以将其合并成一个线性的、连续的动画序列。
- 传递动画:当你需要将动画从一个角色传递到另一个角色(Retargeting),或者将一个物体的动画应用到另一个完全不同的物体上时,烘焙是必不可少的中间步骤。
核心概念:烘焙什么?
在 Maya 中,你可以烘焙多种类型的动画数据:

- 变换:最常见的是烘焙 位移、旋转 和 缩放,这是角色、相机、灯光等物体的基础动画。
- 变形器:如 Blend Shape(混合变形)、簇、晶格、包裹等,这对于面部表情、软体动画至关重要。
- 动力学/粒子:将布料、毛发、流体或粒子的模拟结果烘焙成静态的顶点动画,可以极大提高实时渲染的效率。
如何使用 Maya 的烘焙命令?
Maya 提供了多种烘焙方式,从简单的命令到强大的编辑器,我们重点介绍最常用、最强大的 烘焙编辑器。
使用 Bake Character Tool(角色烘焙工具)
这是专门为角色动画设计的工具,功能强大且自动化。
- 打开工具:
Windows > General Editors > Bake Character Tool。 - 设置参数:
- Bake To:选择烘焙的目标,通常是当前选中的对象。
- Hierarchy:指定烘焙的范围,可以选择整个层级或仅选中的对象。
- Animation:设置烘焙的时间范围,可以设置为当前播放范围或整个场景范围。
- Sample Rate:采样率,即每隔多少帧记录一次数据,默认是 1 帧,也就是每一帧都记录,对于游戏,这个值可以适当提高以减小数据量,但会损失动画精度。
- Bake Type:烘焙类型。
- Transforms:烘焙位移、旋转、缩放。
- Deformers:烘焙所有变形器。
- All:同时烘焙变换和变形器。
- Bake on Subsequent Frames:如果动画循环播放,勾选此项可以确保烘焙出的动画也是完美循环的。
- 执行烘焙:点击 Bake 按钮,烘焙完成后,你可以在通道盒或曲线编辑器中看到,物体的动画曲线已经变成了独立的、不受任何控制器影响的曲线。
使用 Bake Simulation Editor(模拟烘焙编辑器)
这是处理动力学模拟(如布料、毛发)的专用工具。
- 打开工具:
Windows > General Editors > Bake Simulation Editor。 - 选择模拟对象:在场景中选择一个布料模拟对象(如 nCloth)。
- 设置烘焙参数:
- Bake Type:选择烘焙类型,通常是 Vertex(顶点)或 Cache(缓存)。
- Range:设置烘焙的时间范围。
- Cache Directory:指定缓存文件的保存位置。
- Sample Rate:同样控制采样精度。
- 执行烘焙:点击 Bake All 或 Bake Selection,Maya 会开始计算模拟并将结果保存为缓存文件,之后,你可以删除模拟节点,直接加载缓存来播放动画。
使用脚本命令(高级用户)
对于需要批量处理或集成到流程中的用户,可以使用 MEL 或 Python 命令。

- 烘焙变换:
// 烘焙选中对象的位移、旋转和缩放 bakeTransform -sample 1 -t "start:end" selectedObject;
- 烘焙变形器:
// 烘焙选中对象的所有变形器 bakeDeformers -sample 1 -t "start:end" selectedObject;
烘焙的最佳实践与注意事项
-
烘焙前,先优化!
- 清理动画曲线:在烘焙前,使用
Graph Editor > Curves > Pre Infinity > Constant和Post Infinity > Constant来确保动画在时间范围外保持静止,否则,烘焙后的动画在循环播放时可能会出现“甩尾”现象。 - 检查关键帧:确保动画的关键帧设置正确,没有多余或不必要的关键帧。
- 清理动画曲线:在烘焙前,使用
-
选择正确的采样率
- 对于电影级或高质量动画,采样率设为 1(每帧采样)。
- 对于游戏,为了减小文件大小,可以尝试设为 2 或 3(每 2 帧或 3 帧采样),但要仔细检查动画是否流畅。
-
烘焙后,检查结果
- 观察曲线:打开
Graph Editor,查看烘焙后的曲线,曲线应该是平滑的,没有剧烈的抖动或不自然的尖角,如果出现这种情况,可能是原始动画数据有问题或采样率过低。 - 播放动画:在 Maya 中播放烘焙后的动画,确保其与原始动画完全一致。
- 观察曲线:打开
-
文件管理
- 烘皮后的动画数据会直接添加到物体上,会增加场景文件的大小,如果你不再需要原始的控制器,可以考虑将烘焙好的物体导出为新的 FBX 或 Alembic 文件,以保持场景的整洁。
- 对于模拟烘焙,一定要管理好生成的缓存文件,它们体积可能非常大。
| 烘焙类型 | 主要工具 | 核心用途 | 注意事项 |
|---|---|---|---|
| 角色动画 | Bake Character Tool | 将角色动画从控制器/骨骼上提取,用于游戏或跨软件传递 | 务必设置好曲线的 Infinity 类型 |
| 动力学模拟 | Bake Simulation Editor | 将布料、毛发等模拟结果烘焙成静态数据,提升实时性能 | 管理好生成的缓存文件 |
| 通用变换/变形 | Bake Character Tool 或脚本命令 | 快速烘焙单个或多个对象的属性 | 检查采样率和最终动画曲线 |
掌握烘焙是 Maya 动画师和绑定师的核心技能之一,理解其原理并熟练运用,能让你在不同项目和软件之间无缝切换,并最终创造出高效、流畅的动画。
