Unity帧动画的几种方式比较
发表于2018-09-16
常见的的动画方式多是用程序控制,或者有些效果类型的会用shader实现。如果到了有需要使用特效动画的项目中,这就要求大家必须会帧动画。
关于实现帧动画的方式有很多种,但这些方式中哪一个比较好,需要去尝试才知道,这里就将这几种方式汇总在了一起,方便大家去甄别选择。
帧动画方式比较
1、2DToolkit插件
这个插件曾经风靡一时,实现帧动画还是很容易的。个人感觉这种方式比较适用2D项目。
2、代码脚本控制动画帧的切换
这个逻辑上很容易实现,网上也有很多相关的代码,思路都比较一致:
- 用一个Sprite数组存放所有的精灵小图
- 根据时间,计算数组索引,从数组中取出单帧的精灵并显示
但是这种方式有个缺点是在项目中要导入所有的小图,即便是这些小图已经合并成了图集的形式,也要展开图集,将图集下的精灵帧添加到对应脚本的精灵数组中(当然也可以在脚本通过解析图集的方式初始化数组),当动画比较多的时候,感觉上还是有一点麻烦。
3、Unity自带的Animation、Animator
这种方式和脚本控制差不太多,只是控制切换帧的方式交给Animation来做了,还是需要批量导入小图,然后通过Animation的录制生成动画,再用脚本控制动画的播放。
4、Particle System粒子系统
此种方式是我倾向使用的,貌似是5.x之后丰富的,只需要一张包含所有小图的大图,导入后不需要对此图做特殊的设置,只是需要一个材质球用来给粒子系统使用,剩下部分就都交由Particle System来实现了。