一:前言

动画混合与动画过渡虽然都用于生成平滑的动画,但是却是两个完全不同的概念。动画过渡被用于一段动画向另一段动画的平滑过渡,而动画混合则被用于通过插值技术实现对多个动画片段的混合


二:使用场景

——根据角色的移动速度对走路和跑步动画进行混合
——对角色在走路或跑步时向左和向右转弯动画进行混合


三:实现步骤

——创建Bleed Tree,Unity的动画控制器面板中可以创建State类型或Blend Tree类型,Blend Tree可以理解为包含多个State类型,双击进入混合树视图
Unity中的混合树_# Unity相关技术


——为当前混合树添加动作
Unity中的混合树_# Unity相关技术_02


——设置Blend Type
1.1D:只通过唯一一个参数来控制子动画的混合。例如实现人物的向前,向右,向左的走路动作,只判断水平输入的值即可
Unity中的混合树_经验分享_03
2.2D Simple Directional:通过两个参数来控制子动画的混合。这种模式适用于所有动画都具有一定的运动方向,其中任何两段动画的方向都不相同,例如向前走,向后走,向左走,向右走
Unity中的混合树_# Unity相关技术_04
3.2D Freeform DIrectional:通过两个参数来控制子动画的混合。这种模式适用于所有动画具有一定的运动方向,但是同一方向上可以存在多段动画,例如向前走和向前跑可以同时存在
Unity中的混合树_# Unity相关技术_05
4.2D Freeform Cartesian:通过两个参数来控制子动画的混合。这种模式适用于动画不具有确定的运动方向,例如向前走然后右转,向前跑然后左转,其中两个参数可以代码不同的含义,例如角速度和线速度