昨天我同事给我说他用Sprite Packer打包图集,发现本地格式为ARGB32的一张图,但是打完后却发现RGBA32 ,原本一张1024的图集被莫名其妙的拆分成了两张。我看了半天也看不出来名堂,有可能是bug吧。
而且Sprite Packer自动打包图集还有个问题,比如我的界面全都是带透明的1024,但就有一个是不带透明的。Sprite Packer的自动打包策略会打成两个图,可以1024的图集还有一些空间并没有被利用,所以还是是希望他们能打到一个图集上。
最后我是这么解决的,按照我之前的文章 http://www.xuanyusong.com/archives/3315 强制设置图集的压缩格式。大概分为三类
1.带透明通道
2.不带透明通道
3.手动设置的格式
比如通过tag 名称 或者文件夹名子 是否带下划线 name_truecolor name_compress name
entry.settings.format=ins.desiredFormat;
改成对应的压缩格式就行了。。
目前这样的做法已经解决了我们的问题,如果谁能更清楚Sprite Packer的压缩规则,欢迎在下面留言,谢谢。。
- 本文固定链接: https://www.xuanyusong.com/archives/3499
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
设置tag后使用图片,用profiler可以看到会有一个图集占用内存,另外每个用到的单张sprite也会占用内存,而且单张的透明区域也是算在内的,甚至比所在图集占用内存更高,momo大大有没有看过这个呢?
Momo大,因为美术给的图集都不是2的幂,所以图片都不能压缩,Sprite Packer打包后,很占内存,如果要使用Sprite Packer,就必须要求小图集也是2的幂,才能压缩吗?
大图集是2的幂 就可以压缩啊。
请问大图集怎么压缩呢
5.X版本用了Sprite Packer后,再用新版本的AB打包方式,Sprite Packer的依赖会有问题,不知道有没有测试过呢?
比如图片p1,p2,p3是一个Sprite Packer 1prefab1依赖Sprite Packer 1,prefab2也依赖Sprite Packer 1,两个prefab分别打包到不同的AB,一个成功依赖了Sprite Packer 1,另外一个就没有成功。官网上有搜索到相应的问题,官方好像有给了一个回复,说是Sprite Packer 打包的时候是存在于缓存中,新版本的AB打包对缓存有什么问题好像。不知道要怎么解决。
那你有没有给P1,P2,P3设置AB包?要设一下,不设置预置键会把图片保存多份。。
我还没升级U5呢。。
MOMO大大,如何让图集只根据packingTag来打包,忽略其它影响如:格式等
AssetImporter
雨大,我用unity5.0的spritepacker打包图片,在ios跟android 上面都没问题,在wp8上面,场景一切,图片就丢失了,应该是wp为了内存管理给释放了,我现在不知道怎么把这些图片加载进来了
WP8我就不太清楚了。 还没做过这块。