接上一篇文章:Unity3d NGUI 安卓APK安装包瘦身实践(一),在上篇文章中我们讲述了删除无效的、废弃的资源,取消图集Atlas的正方形限制,使用TexturePackerGUI打包,勾选Trim属性去除透明边界等方法,这一次我们继续讲述Unity3D的瘦身实践。
上次0907版本测试后,UI系统界面进行了一个脱胎换骨的风格改版。UI风格的扁平化使得UI资源复用程度增加了许多。

6e2d1bf4f08d4b5eb8451418d3023dff.001.1448694606.png

最终安装包由168MB减到132MB,是动画资源压缩、音频资源压缩,以及UI资源压缩共同带来的结果。

举个例子,可见资源的复用:

6e2d1bf4f08d4b5eb8451418d3023dff.002.1448694606.png

黄色按钮:

6e2d1bf4f08d4b5eb8451418d3023dff.003.1448694606.png

本次UI资源整理继续沿用上次整理思路,对全部资源做优化整理。此外新增数种新方式,或原方式新应用:

19、复用部分背景图
由于视觉效果需求,美术给了相似的两个背景图(1和3),应用在不同场景。为了省资源,项目中实际是通过1+2来拼接出3。

6e2d1bf4f08d4b5eb8451418d3023dff.004.1448694606.png

20、接入专用shader,实现灰度图标

策划有需求:当一个道具已使用,或一个角色已获得时,显示彩色Icon资源,反之显示灰度的Icon资源。如下图。

6e2d1bf4f08d4b5eb8451418d3023dff.005.1448694606.png

6e2d1bf4f08d4b5eb8451418d3023dff.006.1448694607.png

这两个例子中的图标实际是同一份资源(彩色),通过专用shader实现灰度图,能达到节省灰度图标资源。

6e2d1bf4f08d4b5eb8451418d3023dff.007.1448694607.png

21、有损压缩Atlas图集

个别资源若能接受调色板数量减少,可选用RGBA 16 bit代替RGBA 32 bit。此举对画质有损。一般来说Atlas都选用32位真彩,然而也有个别例外的,要根据实际情况选用。

6e2d1bf4f08d4b5eb8451418d3023dff.008.1448694607.png

22、美术字改用程序字

由于UI风格变更,原先一些美术字改用程序字来实现,直接节省贴图资源。

6e2d1bf4f08d4b5eb8451418d3023dff.009.1448694607.png

23、字体统一整合

由于UI风格变更,原先使用了大黑简体和综艺简体两种中文字体,后来风格更新了,综艺简体被整合为大黑简体。
通过批量替换guid,可以快速整合字体。然而由于字体样式有区别,还需要人工逐一调整坐标、字号、阴影等细节。

6e2d1bf4f08d4b5eb8451418d3023dff.010.1448694607.png

6e2d1bf4f08d4b5eb8451418d3023dff.011.1448694607.png

6e2d1bf4f08d4b5eb8451418d3023dff.012.1448694607.png