unity帧动画的几种方式比较

之前一直没有做帧动画系列,以前的动画方式多是用程序控制,或者有些效果类型的会用shader实现。但后面要加各种特效动画,就必须熟悉帧动画了。

看了好多关于帧动画方面的思路,感觉方式还是很多的,但到底哪个好,只能尝试了,先捋一捋基本的思路,至于详细使用说明,带后面有时间好好检验一番。


常见的思路如下:

1、2DToolkit插件

这个插件曾经风靡一时,实现帧动画还是很容易的。个人感觉这种方式比较适用2D项目。

2、代码脚本控制动画帧的切换

这个逻辑上很容易实现,网上也有很多相关的代码,思路都比较一致:

  • 用一个Sprite数组存放所有的精灵小图
  • 根据时间,计算数组索引,从数组中取出单帧的精灵并显示

但是这种方式有个缺点是在项目中要导入所有的小图,即便是这些小图已经合并成了图集的形式,也要展开图集,将图集下的精灵帧添加到对应脚本的精灵数组中(当然也可以在脚本通过解析图集的方式初始化数组),当动画比较多的时候,感觉上还是有一点麻烦。

3、unity自带的Animation、Animator

这种方式和脚本控制差不太多,只是控制切换帧的方式交给Animation来做了,还是需要批量导入小图,然后通过Animation的录制生成动画,再用脚本控制动画的播放。

4、Particle System粒子系统

此种方式是我倾向使用的,貌似是5.x之后丰富的,只需要一张包含所有小图的大图,导入后不需要对此图做特殊的设置,只是需要一个材质球用来给粒子系统使用,剩下部分就都交由Particle System来实现了,有各种各样的参数设置,可参考: Unity3D:粒子特效(Particle System)播放序列帧动画

    原文作者:清风半夜鸣蝉
    原文地址: https://blog.csdn.net/gl5773477/article/details/53980221
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞