Skip to content

使用Addressable Assets System进行资源按需加载

对于Unity WebGL转换的小游戏启动耗时,资源下载通常是贡献最大的部分。这是由于手游APP往往很少针对首包资源进行特殊优化。 那么,接下来的问题是:小游戏中多大的首包资源合适? 剩余的游戏资源如何加载? 在此,我们建议得优化原则是:

  • 包体尽量拆分越小越好,建议不要超过5M
  • 不用的资源尽量Unload掉,释放掉内存空间占用

使用

Addressables在AssetBundle的基础上,处理了资源在项目整个流程中的管理。具体涉及资源打包、加载与卸载以及热更,相比AssetBundle使用起来更相对简单。

资源打包

当游戏使用Addressable插件并导出WebGl时,除项目代码的Build文件夹及index.xml文件,会多出一个StreamingAssets文件夹

net_monitor

StreamingAssets 文件夹就是Addressable插件导出相关的资源文件

net_monitor

其中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文件夹的网络资源地址。