首页/ 第 9 章 · 动画系统/ 第 134 课
LESSON 134 · 动画系统

动画混合树 Blend Tree

混合树已掌握。下一课学动画事件。

⏱ 约 15 分钟📊 难度:入门🗂 第 9 章 · 动画系统📍 第 134 / 300 课
课程进度
134 / 300

🎯本节学习目标

  • 理解混合树的作用
  • 掌握 1D 混合树
  • 掌握 2D 混合树

🚀课程导读

走路和跑步之间“无缝过渡”不用做两个状态,用混合树按速度参数平滑融合。这是角色动画的进阶关键。

1D 混合树

按一个参数混合多个动画。

  1. 在 Animator 窗口右键 → Create State → From New Blend Tree,创建一个混合树节点。
  2. 双击该节点进入混合树编辑界面。
  3. 【Blend Type】选 1D。
  4. 【Parameters】选择驱动参数(如 Speed)。
  5. 【添加动画】点【+】→ Add Motion Field,添加动画片段;重复添加 Idle(速度0)、Walk(速度0.5)、Run(速度1)。
  6. 【Threshold 阈值】为每个动画设对应参数值(0 / 0.5 / 1)。
  7. 【预览】调整 Speed 参数,动画在 Idle/Walk/Run 间平滑融合。
  8. 【注意】混合树节点在状态机里是一个“状态”,由过渡进入。
  9. 【优势】不用为走路/跑步各做过渡,参数连续变化动画无缝。
💡
1D 混合 = 一维滑块(速度)控制多段动画融合,人物移动必备。

2D 混合树

按两个参数做方向混合。

  1. 创建混合树,Blend Type 选 2D Simple Directional(或 Freeform)。
  2. 【Parameters】选两个参数(如 MoveX、MoveY,即输入方向)。
  3. 【添加动画】添加 4 个方向动画:前走(0,1)、后走(0,-1)、左走(-1,0)、右走(1,0)。
  4. 为每个动画设 Position(x,y)对应参数值。
  5. 【效果】输入任意方向,动画按方向平滑混合(斜走也是多个动画融合)。
  6. 【2D Freeform】更自由的分布,适合复杂方向(进阶)。
  7. 【注意】2D 混合对“八方向移动”角色特别有效。
  8. 【结合 Blend Tree】常用结构:状态机里一个“Move”混合树状态 + Idle 状态。
  9. 【代码】SetFloat 两个方向参数即可。
混合树让“连续变化”的动画(走路↔跑步、方向)自动平滑,是现代角色动画标配。

常见错误与排查

错误:混合树只播一个动画?
原因:参数没变化或阈值设置不当
解决:确认驱动参数被代码更新;检查 Threshold 顺序递增;检查动画片段是否被正确添加。

动手练习

课后小任务(做出来才算真的学会)

  • 创建 Idle/Walk/Run 的 1D 混合树
  • 用 Speed 参数驱动,播放看混合效果
  • (进阶)做 2D 方向混合

本节小结

混合树已掌握。下一课学动画事件。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课动画过渡 Transitions 与条件