此文章转载于极视学堂!!!!

①Animation和Animator 虽然都是控制动画的播放,但是它们的用法和相关语法都是大有不同的。

Animation 控制一个动画的播放,而Animator是多个动画之间相互切换,并且Animator 有一个动画控制器,俗称动画状态机。

②Animator 利用它做动画的切换是很方便的,但是它有一个缺点就是占用内存比Animation大。

好吧!下面直接通过操作,深入理解它们的用法。

(一) Animation模块

1.新建一个Unity3d 项目,在场景中新增一个TestAnimation对象,并且在对象上附加Animation组件;

Animation和Animator 的区别-LMLPHP

2.选中TestAnimation对象,按快捷键:ctrl+6 打开动画编辑器,新建test.anim 动画。

Animation和Animator 的区别-LMLPHP

3.添加AnimationPlay.cs 播放类。

Animation和Animator 的区别-LMLPHP

4.直接运行看效果哈!

Animation和Animator 的区别-LMLPHP

Animation和Animator 的区别-LMLPHP

(二) Animator 模块

1.新建一个Unity3d 项目,在场景中新增一个TestAnimator对象,在Unity 编辑器中Window -> Animation 弹出Animation 编辑页面,新建一个动画保存,命名为Move.anim;

同时我们发现因为使用方式是直接用动画控制器创建动画,它还会生成一个TestAnimation.controller文件,而这个文件就是我们所说的状态机控制器Controller。

Animation和Animator 的区别-LMLPHP

Animation和Animator 的区别-LMLPHP

2.选中需要制作动画的对象TestAnimator,例如我需要改变对象的Position,然后在Add Property 上面添加。

Animation和Animator 的区别-LMLPHP

Animation和Animator 的区别-LMLPHP

3.选中TestAnimation.controller这个文件,Window -> Animator 打开Aniamtor 编辑器。

Animation和Animator 的区别-LMLPHP

4.需要增加一个largen.anim动画,可以让它们互相切换。

Animation和Animator 的区别-LMLPHP

5.直接运行看效果。

Animation和Animator 的区别-LMLPHP

Animation和Animator 的区别-LMLPHP

04-28 18:59