游戏已在台湾区上架,国内上不了,广电爸爸%¥@!@。 时间比较仓促没有来得及优化,ipa包体大小170M,游戏安装完成后更大!应老大要求,查阅了一堆文档,请教了一些前辈终于完成包体优化。
优化前的打包log,可以看到贴图占了百分之92,所以理所当然的我认为是要先去压原图,美术手动压图速度太慢,于是我找了一个压图工具pngquant,可以压至少一半以上大小,操作也非常简单,终端里面几行就可以搞定。(地址:https://pngquant.org)。压过后资源小了很多,但导出的包依然很大,我这里才意识到U3D图片的机制与cocos不同,所以第一种方法尝试失败。
unity图片格式是自己的一套格式,所以无论你放PNG,还是JPG他都会转成自己的一套格式,所以比较尴尬的情况就出现了,一张不到100k的CG图,在prieview里面显示的占用内存和空间大小是2.3M,游戏内有小100张CG这样的容量真是致命的。所有的sprite格式我都用的是truecolor最高品质,只能是在这上面做文章了,翻了一些文档,问了一些前辈,总结出几种解决方案。
1.
采用官方文档说的修改max Size方法,然而我的图片是1136*768的,压成1024*1024后容量减少的较小,然而压到512*512后图片质量会下降,变的叫为模糊。
2.牺牲色彩,sprite format 采用16bits,容量减少一半,但是对一些有渐变色的图会有较大的影响。
3.Another point of interest are textures, audio and other resources. If you don't need iPad resolution you might be able to reduce the size of your images. Check that all your images comply with the POT rule (Power Of Two) i.e. 128x128, 256x256, ... so that Unity3D can use PVRTC hardware compression for building iOS player. Non POT images will end up as uncompressed true color images.
把所有大图改为1024*1024格式,然后采用compressed。这个改动最大,需改变游戏中一些动画和模型的位置,但是效果最好,色彩不失真。
4.修改stripping level(专业版特有),通过库剖离来减少DLL的空间大小,这个对我影响不大。
最后我选择了第三种方法,修改所有大图尺寸(然而这不是美术做的么),PS上写一个脚本,把所有1136*768改为1024*1024且导出Png,一键完成。最后打出的包大概在90M,达到了预期。最后附一张优化后的包体大小。