解说unity2d-第三课:sprite动画编辑及动画事件

2015年03月15日 11:53 0 点赞 0 评论 更新于 2025-11-21 17:08

这一节将为大家详细介绍Unity 2D里的动画编辑及动画事件。和Unity 3D一样,Unity 2D的Sprite也具备Animation功能。我们可以在Animation中修改Sprite的Position(位置)、Rotation(旋转)以及Scale(缩放)属性,从而实现所需的动画效果。

单一Sprite的动画制作

准备工作

首先,我们使用单一的一个Sprite来制作移动、选择(此处可能为笔误,推测是“旋转”)、缩放的动画效果。具体操作如下:

  1. 打开Unity的window菜单,找到并打开Animation窗口。
  2. 将一个名为“swan”的Sprite拖入场景中。
  3. 在Animation窗口里点击“Add Curve”,此时会弹出一个窗口,要求我们保存anim文件。保存完成后,会新增两个文件,一个是clip文件,另一个是Animator Controller文件。

操作Animations

点击“Add Curve”(注意要确保选中你的Sprite),此时在窗口右边会出现一个框,其中包含一些信息。我们可以通过该框添加所需的属性。

熟悉界面

  • 左边区域显示的是我们添加的属性的状态。
  • 右边区域简单来说是一个以秒为单位的时间轴,初始时间为1秒。时间轴下方框出的部分是我们的帧(key),初始化时会有两帧,即开始帧和结束帧。
  • 左上角是播放按钮,当你点击播放时,当前Sprite可能没有任何反应,但你可以看到时间轴的帧在移动。这是因为Sprite的开始点和结束点位置相同。

制作移动动画

我们可以通过以下操作让Sprite产生移动效果:

  1. 用鼠标点击到结束帧的位置(此时红线会显示在结束帧处)。
  2. 将Sprite拖动到任意位置,这时在Animation窗口的右边可以观察到Position属性发生了变化。
  3. 再次点击播放按钮,就可以看到Sprite从开始点移动到了结束点。

调整动画时长

一开始可能会感觉Sprite移动得很快,这是因为默认的动画时间为1秒钟。我们可以通过拖动结束帧的位置来延长动画时长,具体操作是用鼠标点住帧进行拖动。同样,修改Rotation和Scale属性也可以采用这种方法,当然,你也可以直接修改数值来实现相应的变化。

添加帧

若要添加帧,只需在需要添加帧的时间点上右击,然后点击“Add key”即可。

序列帧动画制作

单一的Sprite移动效果可能会显得有些生硬,我们可以将之前制作好的“swan”天鹅序列帧动画Sprite添加到Animation中。具体步骤如下:

  1. 在Assets中选中所有的Sprite,将它们拖动到场景中,此时会出现提示要求保存文件。
  2. 保存完成后,选中场景中的Sprite,在Animation窗口中可以看到相应的显示情况。
  3. 直接点击播放按钮,就可以看到天鹅在飞翔的动画效果。同时,动画里的每一帧对应着我们添加上去的每一个Sprite帧序列。
  4. 如果想要让天鹅飞向远方、旋转并且进行缩小放大的操作,可以按照添加Position属性的方式,添加Position、Rotation和Scale属性。

添加动画事件

接下来,我们将介绍如何为动画添加动画事件。具体操作如下:

  1. 在Animation界面中,若要在某一帧添加事件处理函数,只需在该帧上右击,选择“Add Animation Event”。添加成功后,会出现一个白色的条。
  2. 由于当前没有任何函数,所以当你双击该白条(或者点着白条右击后选择“Edit Animation Event”),会发现没有可供选择的函数。
  3. 为了添加函数处理,我们需要给Sprite添加一个脚本,并在脚本中编写函数。编写完成后,回到“Edit Animation Event”界面,此时可以看到显示出的函数,选择相应的函数。
  4. 运行项目后,在Console中就可以看到我们想要输出的信息。

作者信息

boke

boke

共发布了 3994 篇文章