实现精灵表动画
验证环境
- 窗户
-
- 窗户11
- Unity 编辑器
-
- 2020.3.25f1
- 输入系统包
-
- 1.2.0
此提示的先决条件
以下设置已预先配置为解释这些提示的先决条件。
什么是 Sprite Sheet Animation?
在现代游戏中,角色和效果是通过移动 3D 模型、实时计算爆炸和显示效果来动画化的。 这成为可能,因为游戏机的计算能力有所提高,但由于旧游戏机没有那么强大的功能,因此不断切换图像以使其看起来像在移动的精灵表动画是主流。 原理与电视上播放的动漫相同。 与过去相比,精灵表动画被更少的游戏使用,但它们仍然经常被使用,因为计算所需的负载要低得多。
Sprite 表动画切换并连续显示多个图像。 准备尽可能多的图像文件是很少见的,基本上所有显示模式都包含在一个图像中。 这样可以更轻松地管理图像文件,并减少加载图像文件的负载。 总结此动画的图像文件称为“精灵表”。
创建 Sprite 表
精灵表本质上只是一个图像文件。 由于它与Unity无关,请使用图像编辑工具创建它。 最终文件格式将是 Unity 可以处理的 PNG 文件。
此外,创建精灵表还有以下规则。
- 统一所有帧的图像大小。 例如,如果第一个图像为 32x32 像素,则第二个及后续图像将为 32x32 像素。 例如,如果以 6 帧的“3x2”格式准备一个 Sprite 表,则 Sprite 表的大小将为 96x64 像素。
- 您可以自由对齐图像,例如“6x4”或“2x8”,但请务必在假设所有帧都将被填充的情况下创建它。 如果是“6x4”,则为 24 帧,依此类推。 如果是 13 帧动画,请使用“1x13”或“13x1”进行准备。
- 由于它是动画,因此它被正确对齐,因此前后的帧不会出现错位。
- 动画的方向从左上角的单元格开始,然后向右移动,当您转到最右侧时,它从左侧向下一步开始,然后再次向右移动。
事实上,在Unity中,你不必严格执行上述操作,但提前确定规格要容易得多。
这一次,我将使用精灵表来切换以下数字。 一个正方形是 32x32 像素。 它由 24 个“6x4”帧组成,因此图像大小为 192x128 像素。
在 Unity 编辑器中配置 Sprite 表
创建项目后,将 Sprite 表文件添加到项目中。
这里假设文件名是 NumberAnimation
。
NumberAnimation
选择文件并填写检查器,如下所示:
项目 | 值 |
---|---|
纹理类型 | 精灵(2D 和 UI) |
Sprite 模式 | 复数 |
还有许多其他设置可以配置,但让我们暂时保持原样。 配置完成后,单击“Sprite Editor”按钮。
如果出现以下对话框,请单击“应用”按钮。 实际上,此检查器的设置是要保存的,如果滚动到底部,则会出现“应用”按钮,因此您需要使用此按钮保存设置。 它也将通过对话框中的“应用”保存,因此以哪种方式保存它并不重要。
出现 Sprite Editor。 在本节中,我们将致力于将 Sprite 从 Sprite 表中分离出来。
左上角有一个名为“切片”的按钮,单击它并将类型更改为“按单元格大小网格”。 在此 Sprite 表中,Sprite 的一个大小为“32x32”像素,因此为每个像素大小输入 32。 完成后,单击“切片”按钮。
这张图片很难理解,因为它似乎从一开始就被清楚地划分了,但它被 1 个精灵 32px 分割。 按“Ctrl”键,分割线将显示为绿色。
拆分后,使用“应用”按钮保存。
如果单击项目图像文件中的三角形将其展开,则可以看到 Sprite 已被分割。
精灵放置和动画
将设置的精灵拖到视图中并放置它。
然后会出现一个对话框,因此将其另存 NumberAnimation
为 .
此文件包含动画设置。
第一个精灵被放置在视图中,并在项目中创建动画控制器和动画剪辑。 如果图像较小,请设置比例以使其变大。
此时,将应用默认动画设置,因此您只需运行游戏即可。 您应该能够看到精灵动画在游戏开始后立即移动。
防止动画循环播放
从项目中选择动画剪辑文件 (NumberAnimation.anim)。
在检查器中,有一个“循环时间”复选框,因此请取消选中它。
如果运行游戏,您会看到动画在 24 点停止。 它对一次性爆炸效果有效。
更改动画的速度
从层次结构中选择要进行动画处理的 Sprite。
然后选择“动画”选项卡。 如果没有“动画”选项卡,请从菜单中选择“窗口”>“动画”>“动画”。
有一个数字叫“sample”,就是在一秒钟内切换图像的次数。 在此示例中,动画为 24 帧,因此每 2 秒重复一次动画。
如果减小此数字,动画速度会变慢,如果增加此数字,动画速度将增加。
关于其他高级动画设置
各种动画设置在特定于动画的提示中单独说明。 这些设置不是 Sprite 动画所独有的,但也不是 它与设置其他运动动画和 3D 动画相同。
在本技巧中,我们将解释如何从精灵表作为动画移动。