解说unity2d-第三课:sprite动画编辑及动画事件
这一节将为大家详细介绍Unity 2D里的动画编辑及动画事件。和Unity 3D一样,Unity 2D的Sprite也具备Animation功能。我们可以在Animation中修改Sprite的Position(位置)、Rotation(旋转)以及Scale(缩放)属性,从而实现所需的动画效果。
单一Sprite的动画制作
准备工作
首先,我们使用单一的一个Sprite来制作移动、选择(此处可能为笔误,推测是“旋转”)、缩放的动画效果。具体操作如下:
- 打开Unity的window菜单,找到并打开Animation窗口。
- 将一个名为“swan”的Sprite拖入场景中。
- 在Animation窗口里点击“Add Curve”,此时会弹出一个窗口,要求我们保存anim文件。保存完成后,会新增两个文件,一个是clip文件,另一个是Animator Controller文件。
操作Animations
点击“Add Curve”(注意要确保选中你的Sprite),此时在窗口右边会出现一个框,其中包含一些信息。我们可以通过该框添加所需的属性。
熟悉界面
- 左边区域显示的是我们添加的属性的状态。
- 右边区域简单来说是一个以秒为单位的时间轴,初始时间为1秒。时间轴下方框出的部分是我们的帧(key),初始化时会有两帧,即开始帧和结束帧。
- 左上角是播放按钮,当你点击播放时,当前Sprite可能没有任何反应,但你可以看到时间轴的帧在移动。这是因为Sprite的开始点和结束点位置相同。
制作移动动画
我们可以通过以下操作让Sprite产生移动效果:
- 用鼠标点击到结束帧的位置(此时红线会显示在结束帧处)。
- 将Sprite拖动到任意位置,这时在Animation窗口的右边可以观察到Position属性发生了变化。
- 再次点击播放按钮,就可以看到Sprite从开始点移动到了结束点。
调整动画时长
一开始可能会感觉Sprite移动得很快,这是因为默认的动画时间为1秒钟。我们可以通过拖动结束帧的位置来延长动画时长,具体操作是用鼠标点住帧进行拖动。同样,修改Rotation和Scale属性也可以采用这种方法,当然,你也可以直接修改数值来实现相应的变化。
添加帧
若要添加帧,只需在需要添加帧的时间点上右击,然后点击“Add key”即可。
序列帧动画制作
单一的Sprite移动效果可能会显得有些生硬,我们可以将之前制作好的“swan”天鹅序列帧动画Sprite添加到Animation中。具体步骤如下:
- 在Assets中选中所有的Sprite,将它们拖动到场景中,此时会出现提示要求保存文件。
- 保存完成后,选中场景中的Sprite,在Animation窗口中可以看到相应的显示情况。
- 直接点击播放按钮,就可以看到天鹅在飞翔的动画效果。同时,动画里的每一帧对应着我们添加上去的每一个Sprite帧序列。
- 如果想要让天鹅飞向远方、旋转并且进行缩小放大的操作,可以按照添加Position属性的方式,添加Position、Rotation和Scale属性。
添加动画事件
接下来,我们将介绍如何为动画添加动画事件。具体操作如下:
- 在Animation界面中,若要在某一帧添加事件处理函数,只需在该帧上右击,选择“Add Animation Event”。添加成功后,会出现一个白色的条。
- 由于当前没有任何函数,所以当你双击该白条(或者点着白条右击后选择“Edit Animation Event”),会发现没有可供选择的函数。
- 为了添加函数处理,我们需要给Sprite添加一个脚本,并在脚本中编写函数。编写完成后,回到“Edit Animation Event”界面,此时可以看到显示出的函数,选择相应的函数。
- 运行项目后,在Console中就可以看到我们想要输出的信息。