作者:Edward Rowe
教你画像素画编译出品。
摘要:在没有自定义工具的情况下管理Unity内的像素画精灵表和动画是一场噩梦。这项工作会浪费大量宝贵的开发时间。当需要更新美术资源时,它同样更加费力。
我们花了几周的时间使用不同的程序和自定义工具,想弄清楚如何加快像素画美术资源导入的工作流程。我们讨论了每个角色或动画使用一张精灵表的优点,然后我们发现@talecrafter(免费和开源)动画导入工具,它解决了一切问题。下载地址是:https://github.com/talecrafter/AnimationImporter
简化后的流程如下:
1、使用Aseprite或Pyxel Edit完成角色和场景设计
2、直接将文件拖入Unity中的AnimationImporter
3、自动生成Unity可用的美术资源
准备开始
在开始之前,请确保已经安装了Aseprite,软件仅需15美元很超值,还需要准备好Unity项目。
从github存储库获取AnimationImporter的最新版本。这是一个 .unitypackage,就像一个包含资产文件的zip。
将包导入Unity
通过Assets > Import Package > Custom Package…命令,将AnimationImporter导入Unity。
设置AnimationImporter
1. 打开导入程序 Window > Animation Importer。
2. 首先确保Aseprite应用程序的路径是正确的。它应该是正确的,除非你将它移动到默认安装位置之外的地方。
3. 目标对象应保留为SpriteRenderer。这用于为UI元素创建动画,但由于我们现在正在创建一个角色,所以我们将它留在SpriteRenderer上。
4. 指定项目的每单位像素数。这是精灵中与世界中的单位对应的像素数。我们只使用1来保持简单(1个像素是1个单位),但由于担心浮点精度,我们可能会将其更改为16。
5. 确定要输出Sprite,Animations和AnimatorControllers的位置。这些是导入时生成的资产。我们使用相同的目录,因为它将所有文件保存在一个地方。如果需要,可以轻松删除所有内容或将其批量重命名。
6. 如果需要,选择一个精灵命名方案。我们使用默认值,因为我们很少需要查看精灵名称。
7. 我们选择不使用自动导入。它可能很棒,但我们可以手动导入。
8. 非循环设置是指定哪些剪辑不应该循环的位置。在添加动画时,你会希望回到此状态,但现在可以保留默认设置。
恭喜!你完成了插件设置。
使用Aseprite完成角色
接下来,我将解释使用Aseprite创建角色的基础知识。如果您想了解更多关于在Aseprite中可以做的事情,可以参考他们的文档。https://www.aseprite.org/docs/basics/
打开Aseprite并创建一个新文件。将尺寸设置为角色动画所需大小,动画的每一帧都不能超出这个尺寸,如有需要可以放大随时放大画布。
接下来使用绘画工具画出角色的第一帧。还可以添加投影层,辅助线层。每个图层都可以锁定或隐藏。
选中帧右键新建帧,使用选区工具选中头部下移1像素。使用同样的方法,制作6帧待机动画。
选中待机动画所有帧,右键new tag,打上标记,这样Unity就能知道待机动画包含哪些帧。
在这里,我制作了一个有两个动画的角色,一个待机动画和一个攻击动画。由于我们正在做一个顶视图的游戏,必须在几个方向上制作角色动画。因此,我们将方向命名为后缀,例如Idle_D和Attack_D,如下面的屏幕截图所示。
将Aseprite文件导入Unity
接下来,我们需要将文件导入Unity,以便我们可以为角色设置动画。这是动画导入器工具的用武之地。
转到Window > Animation Importer打开导入器。你会在窗口顶部看到三个大按钮,有三个标题。其中每个代表一种导入Aseprite文件的方法。分别是动画,动画控制器+动画和动画制作器+控制器+动画。其中每个都有略微不同的目的,但它们都从Aseprite文件导入动画。要了解何时使用每个以及哪个最适合您的工作流程,最好了解动画控制器是什么以及Animator控制器是什么。
现在我们想要“ Animator Controller and Animations ”,所以点击你的Aseprite文件并将其拖放到窗口,其中显示“ Animator Controller + Animations ”,如GIF所示。在进度条之后,您将看到如下所示的4个新文件(请注意,它们可能基于动画导入器设置位于子目录中)。
Spritesheet是角色的资源图片引用。
Animator Controller是制作动画短片链接的对象。如果打开控制器,将看到两种状态,每个状态对应一个动画片段。
Animation Clips代表了精灵组成的每个动画序列。请注意,每个剪辑对应一个标记。
更新这些资源就像将文件再次拖放到动画导入器中一样简单。这将使动画资源重新生成而不会破坏它们的引用。
在游戏中使用动画
你已经创建了在游戏中为角色制作动画所需的所有资源。下一个任务是创建一个可以使用这些动画和脚本来控制它的GameObject。
使用Aseprite to Animation Importer可以大大简化将美术资源导入Unity的步骤,提高开发效率。如果你想开发Unity像素游戏,AnimationImporter将是一个非常有用的Unity插件。
完。