目录
1.项目设置
1.1 共享材质着色器代码&共享材质本地库
1.2 压缩已烘焙内容(※)
1.3 排除编辑器内容
1.4 设置项目的关卡
1.5 打包为发布版而非开发版
2.调整贴图Lod级别
3.移除未引用的资源
4.移除未使用的插件
在尽量避免导入与项目无关的资源的情况下,我的Minigame包体大小也达到了800M之大,通过优化处理将大小压缩到了160M,现将所采取的措施总结如下。
1.项目设置
1.1 共享材质着色器代码&共享材质本地库
勾选“Project Settings -> packaging -> Share Materail Shader Code & Shared Materail Native Libraries”。
1.2 压缩已烘焙内容(※)
勾选“Project Settings -> packaging -> Create compressed cooked packages”。
压缩已烘培内容往往是最简单也是最有效的方式,可以减少50%以上的包体大小。
1.3 排除编辑器内容
勾选“Project Settings -> packaging -> Exclude editor content when cooking”。
启用此选项后,UE4编辑器使用的内容都不会打包进项目中。
注意:启用此选项后可能导致使用编辑器内容的项目出现内容缺失。
1.4 设置项目的关卡
经常被忽略的是,未正确设置项目的关卡会导致项目APK包容量激增。
1.5 打包为发布版而非开发版
开发版会携带部分开发内容,若打包为发布版往往能减少14%左右的包体大小。
2.调整贴图Lod级别
往往有些贴图并不是那么重要,出现的地方很少或者可能性极小,却占用了较大的内存,就可以修改贴图属性中的LOD Bias,有效降低贴图的分辨率,压缩贴图大小。
LOD为0
LOD为2
3.移除未引用的资源
通常我会在制作过程中,建立一个临时工程测试资源包中的内容,然后把采用的内容通过迁移的方式放入项目里。
这样可以有效的避免导入不会用到的资源,但也难免会替换或弃用一些早期制作遗留的内容,因而可以通过引用查看器去确认哪些资源是不会被用到的,移除掉这些资源。虽然Unity有清除未引用资源的小插件,但有时也会导致误判删除一些会用到的资源。
因而一个良好的资源管理习惯是必不可少的,包括新建项目时最好选择创建一个空项目。
4.移除未使用的插件
通过打开“Edit-Plugins”会发现,虚幻默认开启了很多常用插件,它的初衷是好的,这样可以让大多数人不用每次新建项目后,去寻找项目所需的相关插件。
然而你的项目并不会真正用到所有这些模块,但只要你开启某项插件,就需要将该插件相关的资源和代码打到你的包里。因而,
禁用未使用的插件很有必要。
注:禁用时务必小心,遇到不清楚具体功能的插件建议保留,以免造成项目崩溃。