使用Addressable Assets System进行资源按需加载
对于Unity WebGL转换的小游戏启动耗时,资源下载通常是贡献最大的部分。这是由于手游APP往往很少针对首包资源进行特殊优化。 那么,接下来的问题是:小游戏中多大的首包资源合适? 剩余的游戏资源如何加载? 在此,我们建议得优化原则是:
- 包体尽量拆分越小越好,建议不要超过5M
- 不用的资源尽量Unload掉,释放掉内存空间占用
使用
Addressables在AssetBundle的基础上,处理了资源在项目整个流程中的管理。具体涉及资源打包、加载与卸载以及热更,相比AssetBundle使用起来更相对简单。
资源打包
当游戏使用Addressable插件并导出WebGl时,除项目代码的Build文件夹及index.xml文件,会多出一个StreamingAssets文件夹
StreamingAssets 文件夹就是Addressable插件导出相关的资源文件
其中WebGl文件夹就是打包出来的bundle文件,catalog.json和settings.json均为配置文件
资源适配
需要将导出的整个StreamingAssets文件夹上传到服务器,然后通过env.conf文件进行资源网络地址的配置中的 资源处理与配置 一节)
js
{
"wasmUrl":"https://vassets.vvstc.com/vassets/og2pg/o/webdemotest.zip",
"streamingAssetsUrl":"http://localhost:8080/StreamingAssets"
}
其中 streamingAssetsUrl 字段就代表StreamingAssets文件夹的网络资源地址。