unity帧动画的几种方式比较
2017-01-02 16:57
176 查看
之前一直没有做帧动画系列,以前的动画方式多是用程序控制,或者有些效果类型的会用shader实现。但后面要加各种特效动画,就必须熟悉帧动画了。
看了好多关于帧动画方面的思路,感觉方式还是很多的,但到底哪个好,只能尝试了,先捋一捋基本的思路,至于详细使用说明,带后面有时间好好检验一番。
常见的思路如下:
用一个Sprite数组存放所有的精灵小图
根据时间,计算数组索引,从数组中取出单帧的精灵并显示
但是这种方式有个缺点是在项目中要导入所有的小图,即便是这些小图已经合并成了图集的形式,也要展开图集,将图集下的精灵帧添加到对应脚本的精灵数组中(当然也可以在脚本通过解析图集的方式初始化数组),当动画比较多的时候,感觉上还是有一点麻烦。
System)播放序列帧动画。
看了好多关于帧动画方面的思路,感觉方式还是很多的,但到底哪个好,只能尝试了,先捋一捋基本的思路,至于详细使用说明,带后面有时间好好检验一番。
常见的思路如下:
1、2DToolkit插件
这个插件曾经风靡一时,实现帧动画还是很容易的。个人感觉这种方式比较适用2D项目。2、代码脚本控制动画帧的切换
这个逻辑上很容易实现,网上也有很多相关的代码,思路都比较一致:用一个Sprite数组存放所有的精灵小图
根据时间,计算数组索引,从数组中取出单帧的精灵并显示
但是这种方式有个缺点是在项目中要导入所有的小图,即便是这些小图已经合并成了图集的形式,也要展开图集,将图集下的精灵帧添加到对应脚本的精灵数组中(当然也可以在脚本通过解析图集的方式初始化数组),当动画比较多的时候,感觉上还是有一点麻烦。
3、unity自带的Animation、Animator
这种方式和脚本控制差不太多,只是控制切换帧的方式交给Animation来做了,还是需要批量导入小图,然后通过Animation的录制生成动画,再用脚本控制动画的播放。4、Particle System粒子系统
此种方式是我倾向使用的,貌似是5.x之后丰富的,只需要一张包含所有小图的大图,导入后不需要对此图做特殊的设置,只是需要一个材质球用来给粒子系统使用,剩下部分就都交由Particle System来实现了,有各种各样的参数设置,可参考: Unity3D:粒子特效(ParticleSystem)播放序列帧动画。
相关文章推荐
- 几种网络编程方式的比较
- (转载)表示业务实体的几种方式比较分析
- 常用的几种进程通信方式的比较(转载)
- 线程同步几种方式的比较
- ASP.NET T页面传值几种方式比较
- 几种打开记录集方式的比较
- 【转载】Matlab与C#连接的几种方式比较
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- 比较Java中几种数据cache方式
- 日期类型的数据,格式转换的几种实现方式比较
- 几种交换方式与参数传递方式效率的比较,发现STL最慢
- 几种网络编程方式的比较
- ASP中几种打开记录集方式的比较
- 大量数据插入的几种方式的速度比较
- 常用的几种进程通信方式的比较
- 几种查找方式的比较
- 几种建模方式比较
- Delphi中ADO处理数据的几种方式的速度比较
- Matlab与C#连接的几种方式比较
- 几种RAID方式的技术比较