Unity Blend Tree 深度实战:参数化动画混合的原理、调参与工程落地 Unity Blend Tree 深度实战:参数化动画混合的原理、调参与工程落地开场:角色从"走"到"跑",为什么会"咔哒"一下?如果你做过任何一个带移动的角色,几乎一定踩过这个坑:玩家把摇杆推到 50%,角色进入"走路"状态;推到 100%,瞬间切到"跑步"动画。即使你在 Animator 的 Transition 里把过渡时间设成 0.25 秒,角色依然会"抖一下"——因为过渡的本质是两段固定动画的交叉淡化,走路动画左脚在前、跑步动画右脚在前,混合中点永远是一个"两脚都不太对"的姿势。更进一步的需求来了:玩家想要"慢跑"(介于走和跑之间)、想要"冲刺"、想要"侧身走"。用传统状态机,你得为每种速度做一条独立动画,状态数量像滚雪球一样爆炸。Blend Tree(混合树)就是为这类问题而生的。它不是一段新动画,而是一种参数化的动画混合机制——你只提供几条关键速度下的动画源(静止、慢走、快跑等),引擎根据实时参数(通常是 Speed)自动加权混合。听起来简单,但要用好它,需要理解背后的数学、1D/2D 模式的差异、运行时调参的坑,以及它和状态机、IK、Root Motion 的协同关系。这篇文章从原理讲到工程落地,把 Blend Tree 从"会用"变成"精通"。一、传统状态机为什么救不了"连续速度"1.1 状态机的本质是离散切换Animator Controller 本质是一张有限状态机图:每个状态绑定一段 AnimationClip,状态之间靠 Transition 连接,Transition 上配置条件和过渡时间。