Unity3d 纯UGUI游戏减少包体大小

      游戏已在台湾区上架,国内上不了,广电爸爸%¥@!@。 时间比较仓促没有来得及优化,ipa包体大小170M,游戏安装完成后更大!应老大要求,查阅了一堆文档,请教了一些前辈终于完成包体优化。

优化前打包Log

      优化前的打包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脚本

  最后我选择了第三种方法,修改所有大图尺寸(然而这不是美术做的么),PS上写一个脚本,把所有1136*768改为1024*1024且导出Png,一键完成。最后打出的包大概在90M,达到了预期。最后附一张优化后的包体大小。


优化后打包log
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.尺寸适配1.原因 iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不...
    LZM轮回阅读 11,376评论 1 4
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 11,178评论 1 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,955评论 25 709
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 10,482评论 0 13
  • 与你在夏末的约定将来的梦想 远大的希望不会忘记 十年后的八月 我相信我们还能再相见 怀着最美好的回忆 初次邂逅是个...
    阿诗丹顿阅读 1,270评论 0 0

友情链接更多精彩内容