很多时候 需要 用到 大量的动画播放。这个时候 Animator&Animation动画状态机优化 就显得格外重要。
1.尽量通过新建 Layers 来 区别 不同的 人物角色 的动画动作。
1.1通常每一Layer层的 Layer Default State都是 待机状态机,或者是 某一 初始动作。
比如这个 Head的状态机 是由 Blend Tree构成的,头部可以向上,向下,向左,向右。
1.2如果 动作太多了,比如 Hits,被击中的层级,这个层级里面都是 被击中的动画。尽量向下图所示,把 被击中的 做个 单向向Idle 状态机 转换的动作。用 Animator.Play();这个代码命令来控制。
1.3尽量用 代码Animator.Play(); 来控制 动画的播放。因为 每个状态机的Transition 的条件很多,可以用,新手不容易掌握。
animator = GetComponentInChildren<Animator>();//获得这个脚本挂载的子类含有Animator组件的物体
animator.Play("human_hit_01", 8, 0);//播放 被击中的动画
2.
Animator状态