接上一篇文章:Unity3d NGUI 安卓APK安装包瘦身实践(一),在上篇文章中我们讲述了删除无效的、废弃的资源,取消图集Atlas的正方形限制,使用TexturePackerGUI打包,勾选Trim属性去除透明边界等方法,这一次我们继续讲述Unity3D的瘦身实践。
上次0907版本测试后,UI系统界面进行了一个脱胎换骨的风格改版。UI风格的扁平化使得UI资源复用程度增加了许多。
最终安装包由168MB减到132MB,是动画资源压缩、音频资源压缩,以及UI资源压缩共同带来的结果。
举个例子,可见资源的复用:
黄色按钮:
本次UI资源整理继续沿用上次整理思路,对全部资源做优化整理。此外新增数种新方式,或原方式新应用:
19、复用部分背景图
由于视觉效果需求,美术给了相似的两个背景图(1和3),应用在不同场景。为了省资源,项目中实际是通过1+2来拼接出3。
20、接入专用shader,实现灰度图标
策划有需求:当一个道具已使用,或一个角色已获得时,显示彩色Icon资源,反之显示灰度的Icon资源。如下图。
这两个例子中的图标实际是同一份资源(彩色),通过专用shader实现灰度图,能达到节省灰度图标资源。
21、有损压缩Atlas图集
个别资源若能接受调色板数量减少,可选用RGBA 16 bit代替RGBA 32 bit。此举对画质有损。一般来说Atlas都选用32位真彩,然而也有个别例外的,要根据实际情况选用。
22、美术字改用程序字
由于UI风格变更,原先一些美术字改用程序字来实现,直接节省贴图资源。
23、字体统一整合
由于UI风格变更,原先使用了大黑简体和综艺简体两种中文字体,后来风格更新了,综艺简体被整合为大黑简体。
通过批量替换guid,可以快速整合字体。然而由于字体样式有区别,还需要人工逐一调整坐标、字号、阴影等细节。