看官方API: https://docs.unity3d.com/Manual/ReducingFilesize.html
一、 清理项目没使用的资源(重点优化目标,能删除很多)
1.资源以表的形式管理,所有动态生成的资源都是conf_res表里面配置的
如果资源没有用表管理好,代码里面都是各种字符串路径拼获取资源,请自己整理好,否则没有判断废资源的依据。
2.清理资源思路: 获取每个文件的GUID,然后查找用Dictionary将每个文件的关联文件存储下来。如果这个文件引用为空,则导出删除文件清单。
(但是很难解决A->B,B->C,C->A这种A,B,C互相连接的引用),一般游戏这种思路能挪出很多废资源。
获取GUID的方法:
Regex guidRegex = new Regex("\\nguid:\\s(.*?)\\n");
MatchCollection matchList = guidRegex.Matches(File.ReadAllText(filePath))
string guid = matchList[0].Groups[1].Value;
二、 模型动画文件优化
.带anmationClip的模型文件,可以在3dmax导出的时候clip不带mesh文件,这样能减少代销
一个可以减少100k
三、DB压缩
http://blog.sina.com.cn/s/blog_6d2a0a1a0101ho0h.html
数据库原大小:
输入vacuum; 减少0.4M
打开tk.db文件,选中数据库文件 右键->维护->真空数据库 点击。然后把tk.db文件压缩为tk.zip ,最后把tk.db 和 tk.zip文件都提交。
这个并不能减少原文件的大小,只是减少了rar文件的大小。
四、图片优化(重点优化目标,能删除很多)
1)重复、废图片删除:这两个都可以,剔除重复的图片
DuplicatePictureinder.exe,DupImageFinder.exe这个软件可以查找相似图片。
注意:删除重复图片要判断表里面有没有配置,资源有没有关联。
2)图片切九宫格,尽量切成2次幂。大的图片渐变的图片尽量程序用脚本,和美术对一下效果,不要用图片,纯色图片留一张小白图,美术出rgb。
3)图片设置:分平台,无透明度-rgb,有透明度-rgba。
安卓:ETC分层,设置rgb
IOS:compress
4)图片分层:大的图片能拆开的拆开,尽量复用。相似的图片(用重复图片扫描DupImageFinder)和美术协商,留一个(主要看整体设计)。
.剔除废资源,重复图片资源, 无透明度图片png转为jpg,纯色图片删除