有时候程序里要用到大量的帧动画,而且尺寸大、数量多 一般情况下是没问题 但是数量多了渲染就成问题了
于是,我抽时间写了一个简单的动画插件来扩展 文章后边会提到(仅供学习和参考)
解决方案:
1.系统方案:
unity 提供了两种解决方案sprite packer和 2017.4中最新出现的spriteAtias,
这两种网上都有详细赘述,在此就不多提.
sprite packer: https://blog.csdn.net/Paris_chenxin/article/details/74000323
sprite atias: https://blog.csdn.net/u010019717/article/details/76603629?locationNum=6&fps=1
这两种方式都是在运行或者打包的时候进行压缩 我找了了半天不能直接读到 图集文件(有可以直接读到的方法可以联系我互相学习),优点呢相当明显.编辑的时候很方便使用.缺点:如果存在大量的图片需要压缩就要耗费大量的时间.以我600M的资源为例,我压缩图片质量加合图大约要3个小时 电脑配置
2.TexturePacker 合图
TexturePacker 合图存在一个问题图片比较大比较多会合很多张而我又比较懒.于是就出现以下情况 合不到一张 顺序还乱的
TexturePacker 的好处就是便于开发时候图集的管理 坏处是如果图片更换,动画重新托就比较麻烦了
好了说了那么多废话来介绍我的插件了
插件介绍:
1.TexturePacker 合图使用(软件版本4.6.1)
也可以用别的打包方式
要注意文件名开头就是动画名
单图命名方式 : 动画名 + 下划线(_) + 三位序号 (000) 例如 Fireworks_000.png Fireworks_001.png
2.导入项目如果动画存在相同字段最好放在不同目录下
3.右键创建一个 plistAnimation
4.数据详解
5.点击创建(Create plist animation)这样我们就生成了一个动画片了 (拖到指定的物体上就可以播放了)
这里我们动画播放我们用的是 sprite 2d 我并不推荐用image(会出问题)来做序列帧所以没写,有兴趣用到的可以自己补充
这样每次图片更换的时候只要找到指定的plist animation 点这两个更新就好了
更换前记录下(unity 关闭后缓存数据会被清空)
百度云地址:链接: https://pan.baidu.com/s/1Oy5Z7KODVmXzrnyPD4EDRA 密码: gb9p
来放个烟花庆祝下