Unity3D NGUI 安卓APK安装包瘦身实践(二)

2015年12月01日 11:27 0 点赞 0 评论 更新于 2025-11-21 19:30

接上一篇文章:Unity3d NGUI 安卓APK安装包瘦身实践(一),在上篇文章中,我们讲述了删除无效和废弃的资源、取消图集Atlas的正方形限制、使用TexturePackerGUI打包并勾选Trim属性去除透明边界等方法。此次,我们将继续探讨Unity3D的瘦身实践。

上次0907版本测试后,UI系统界面进行了全面的风格改版。UI风格的扁平化显著提高了UI资源的复用程度。最终,安装包大小从168MB减至132MB,这是动画资源压缩、音频资源压缩以及UI资源压缩共同作用的结果。

可见资源的复用示例

以黄色按钮为例,本次UI资源整理沿用了上次的思路,对全部资源进行优化整理。此外,还新增了几种新方法,或是对原有方法进行了新的应用。

1. 复用部分背景图

由于视觉效果的需求,美术人员提供了两张相似的背景图(背景图1和背景图3),分别应用于不同场景。为了节省资源,项目中实际采用背景图1和背景图2拼接的方式来生成背景图3。

2. 接入专用shader,实现灰度图标

策划提出需求:当一个道具已被使用,或者一个角色已被获得时,显示彩色Icon资源;反之,则显示灰度的Icon资源。实际上,这两个例子中的图标使用的是同一份彩色资源,通过专用shader实现灰度图效果,从而节省了灰度图标资源。

3. 有损压缩Atlas图集

对于个别可以接受调色板数量减少的资源,可选用RGBA 16 bit代替RGBA 32 bit进行压缩。这种方式会对画质造成一定损失。通常情况下,Atlas图集选用32位真彩,但也存在个别特殊情况,需要根据实际情况进行选择。

4. 美术字改用程序字

随着UI风格的变更,原先的一些美术字改为使用程序字来实现,这样直接节省了贴图资源。

5. 字体统一整合

同样由于UI风格的变更,原先使用的大黑简体和综艺简体两种中文字体,在风格更新后,将综艺简体整合为大黑简体。通过批量替换guid,可以快速完成字体的整合。不过,由于字体样式存在差异,还需要人工逐一调整坐标、字号、阴影等细节。

作者信息

洞悉

洞悉

共发布了 3994 篇文章