上回写了《月白》的美术总结后,和诺娃小伙伴在评论区讨论了 Aseprite 动画与 Unity 实时同步的流程,发现可以就这个主题再分享一些浅薄的经验。
尽管 Aseprite 提供了非常丰富的导出设置(详见风农翻译的教程),但在导入 unity 时,依旧需要经过许多手动步骤,例如设置图像属性,切图,生成 animation clip,一旦源文件有了较大改动,这些步骤可能就会重复多次。这还不包括使用 animator 设置动画切换逻辑,一旦动画变得复杂,整个迭代流程就会很费劲。
教程视频
在 2021.3.34 以后的 unity 可以识别 aseprite 文件,支持拖拽到场景中生成 game object,自动挂载 animator controller 与 animation clip(按照 aseprite tag 分类),不再需要手动导出导入,如果源文件产生修改,保存后 unity 就会识别并更新。
特此录了两个视频供交流学习,观看前注意,此为个人向总结,适用于 2D 小体量游戏,不代表任何业内经验,欢迎指正。
P1:Aseprite 像素动画与 Unity 同步更新,无需手动导入导出
P2:使用代码及状态模式控制人物动画,不使用 animator tigger 切换人物动画(需要 C#代码基础,非必需)
注意
- Aseprite 文件同步进来的 animator controller 是只读的,一改就会报错。如果想要修改,就要在 inspector 面板中按 export animation assets,勾选 animator controller 以及 animation clip,但导出后的对象会失去和 Aseprite 源文件的同步,详见视频 p1。
- 如果想要保持同步,不导出 animation assets,也可以选择通过代码读取只读的 animator,详见视频 p2。
最后
在视频发布后,评论区有一些不同的观点,有的小伙伴觉得 animator 直接拉箭头好用,有的小伙伴觉得代码控制动画好用,这个见仁见智,看个人习惯哈。我的话是喜欢尽可能在代码里控制动画,减少对界面的依赖,所以把这套自己觉得好用的流程分享给大家,希望能有所帮助吧。
暂无关于此文章的评论。