Version: 1.4
语言 : 中文
AutoStreaming 用法
UOS文件上传和下载

资源搜索和引用标签

为了通过 AutoStreaming 优化游戏资源,将重资源(如 Texture、Mesh、Animation 等)提取并存储在云端,实现按需下载加载,我们需要精确地搜索和标记游戏中使用的所有资源。这不仅有助于减小游戏的初始包体积,还能加快小游戏的首次启动时间。

资源搜索

目前 AutoStreaming Editor 工具能够自动搜索出以下方式使用到的资源:

  • Build Settings 中所有 active 的场景,以及场景引用到的资源;

  • 通过 Inspector 中 AssetBundle 标签设置和打包的 AB;

  • 项目的 Resources 文件夹;

  • Addressable 中引用到的资源。

引擎提供两种方法来指定资源打包到特定的 AssetBundle:

  1. Inspector 设置:在 Editor 的 Inspector 中设置资源的 AssetBundle 名称。
  2. 代码动态指定:使用 BuildPipeline.BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, ...) 方法在代码中动态指定资源打包。

对于第二种情况,目前我们无法自动搜索出这些 AB、以及他们引用了哪些资源。因此需要用户提供一个文本文件CustomSearch.txt,列出 AB 中使用到的资源。该文件格式如下:

  • 第一行:资源总数。
  • 后续各行:每个资源的路径。

只需列出根资源,依赖的其他资源将由工具自动搜索。

AB 打包复杂的情况下,可以利用引擎提供的工具,从打包好的 AB manifest 文件生成所需的 CustomSearch.txt 文件。

  • 打开 Auto Streaming -> Cfg & Publish 窗口

  • 点击 Search AB 按钮,然后选择 assetbundle 打包文件夹(文件夹下需要有完整的 AB manifest 文件)。稍作等待后,前往 assetbundle 将生成的 CustomSearch.txt 拷贝到 Assets 目录下。

  • 点击 Browse,选择 Assets 目录下的 CustomSearch.txt 文件

后续如果 AB 打包策略发生变化,需要按上述步骤重新生成 CustomSearch.txt

资源引用标签

在 Texture Streaming 等页面,每个搜索出的资源旁边都会有一个 References 标签,显示资源被引用的位置。标签的可能值及其含义如下:

  • 0,1,2…:对应 BuildSetting 中的场景 index,0代表该资源被 BuildSetting 中第一个场景引用;

  • res:资源来源于 Resources 文件夹的搜索;

  • cus:资源来源于 CustomSearch.txt 中指定的资源列表;

  • themes/default:AB 名称,对应于资源 Inspector 下方设置的 AB 标签;

  • aa:Addressables,该资源在 Addressables 中被引用。

AutoStreaming 用法
UOS文件上传和下载