[Unity][Animator&Animation]动画状态机优化

 

很多时候 需要 用到 大量的动画播放。这个时候 Animator&Animation动画状态机优化 就显得格外重要。

 

1.尽量通过新建 Layers 来 区别 不同的 人物角色 的动画动作。

1.1通常每一Layer层的 Layer Default State都是 待机状态机,或者是 某一 初始动作。

比如这个 Head的状态机 是由 Blend Tree构成的,头部可以向上,向下,向左,向右。

[Unity][Animator&Animation]动画状态机优化_第1张图片

 

1.2如果 动作太多了,比如 Hits,被击中的层级,这个层级里面都是 被击中的动画。尽量向下图所示,把 被击中的 做个 单向向Idle 状态机 转换的动作。用 Animator.Play();这个代码命令来控制。

1.3尽量用 代码Animator.Play(); 来控制 动画的播放。因为 每个状态机的Transition 的条件很多,可以用,新手不容易掌握。

[Unity][Animator&Animation]动画状态机优化_第2张图片

 
animator = GetComponentInChildren();//获得这个脚本挂载的子类含有Animator组件的物体
animator.Play("human_hit_01", 8, 0);//播放 被击中的动画

2.

Animator状态机的层级Layers从0开始计算。

       animator.Play("human_hit_01", 8, 0); 

8的含义就是如此。

 

 

相关文章:

1.请问怎么用mecanim动画系统制作一个三连击效果

2.

3.

4.

5.

 

 

 

 

 

 

 

 

你可能感兴趣的:(Unity,优化)