Unity中制作简单的动画Animation与状态机Animator

时间:2024-04-04 19:54:29

Animator是多个Animation的集合。

一、Animation

Animation是一个小动画,在Unity中可以自己制作,比如旋转,缩放,颜色变化等等,只要设定好了关键帧,中间帧会自动生成。

下面以门的开关举例。

制作过程:

选中你需要制作动画的物体A,点击Windows->Animation打开编辑界面。新建Animation,比如命名为open,并保存,添加属性,添加关键帧,调节关键帧的属性。默认的动画时长为1s,1s后会恢复初始状态,所以如果不想恢复初始状态,要记得将1s的关键帧删除了。

Unity中制作简单的动画Animation与状态机Animator

 

animation的Inspector界面真实很多变,很多时候不知道怎么找到自己想要编辑的界面。

1. 如果你想编辑动画本身,选中animation或者带这个animation的物体,在windows窗口中打开animation界面,可以编辑,编辑界面如上图。

2. 如果你想控制动画的循环,双击animation,Inspector会显示循环相关的信息。

Unity中制作简单的动画Animation与状态机Animator

3. 如果你想控制动画的镜像、速度、状态转换等,在Animator 窗口,单击相应的Animation,Inspector会显示相关信息。

Unity中制作简单的动画Animation与状态机Animator

 

二、Animator

如果一个物体在不同情况下需要有不同的动画,比如我需要制作的是门在一定时候打开,一定时候关闭。就可以用Animator来控制不同的Animation之间的切换。

建立了多个Animation之后,在Assets文件夹下新建Animator Controller,将Animation拖进Animator 窗口,左边添加参数flag来控制不同动画之间转换的条件。

为不同的Animation右键makeTranslation,为不同的translation设置参数flag应该满足的条件。


Unity中制作简单的动画Animation与状态机Animator

默认情况下animation是循环播放的,如果不想循环播放,可以双击animation,不要勾选Loop Time.

而且党程序运行时,动画会直接进入图中橙色的状态,而不是停留在Entry,如果你的物体一开始不需要动画(如刚运行时,门不需要动)。这时候需要在animator界面右键生成一个空的动画,让Entry指向这个空的动画。