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

版权声明:本文为博主原创文章,未经博主允许不得转载。该博客所用图片资源均作学习分享用途,请勿用于商业行为。传播者自负。 如果本博客所写文章侵犯到您的权益,请主动联系留言,我们将及时删除相关内容。 https://blog.csdn.net/BuladeMian/article/details/82490654

很多时候 需要 用到 大量的动画播放。这个时候 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状态机的层级Layers从0开始计算。

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

8的含义就是如此。

相关文章:

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

2.

3.

4.

5.

猜你喜欢

转载自blog.csdn.net/BuladeMian/article/details/82490654