在打包时,不想要把所有的资源都打包到 apk 中,所以可以在打包时进行拆分,只把必要资源打包到 apk 中,首先需要把基础包中的资源进行 pak 拆分,可以把通过 Project Settings
-Asset Manager
中进行设置或者通过创建 PrimaryAssetLable
资源进行标记。
目标是:
- 把基础包的打包资源拆分到多个 Pak 中
- 只把必要的 pak 文件打包到 apk 里
- 其余的 pak 在运行时进行下载
第一步都可以通过项目设置进行控制,第二部的条件就是要实现一个过滤规则,不过 UE 已经提供了这个机制,可以指定过滤掉哪些文件,只需要添加配置即可。
1 | # Config/DefaultEngine.ini |
ObbFilters 的规则以 -
开头就是排除规则,会把基础包中的 chunk1-3
的 pak 给过滤掉,可以用于后续的下载流程。
也可以指定 Exclute
和Include
规则组合来用:
1 | +ObbFilters=-*.pak |
第一步忽略掉所有的 pak 文件,然后把 pakchunk0-*.pak
显式添加至 obb 中。