前言:本着简单的原则想把ab换成Unity的Addressable。测试一下Addressable的资源生成和管理。
最基础的使用方法很多人都写过了,就不重复写了。记录一些在使用过程中的问题和资源状况。
Addressable版本:1.16.10
Unity版本:2019.3
首先要讲一个关于Addressable的配置。
BuildPath 和LoadPath。上一篇讲述的BuildPath 和LoadPath都是关于Group的配置。
那么这个总体配置的BuildPath 和LoadPath是什么呢?
经过多次测试,发现总体配置中的BuildPath 和LoadPath是和资源信息文件(即Catalog文件,下图文件)是关联的。
即,选择远程的话会把信息文件(即Catalog文件)打包进远程资源。
选择本地资源的话会把信息文件(即Catalog文件)打包进本地资源。
所以这个有什么作用呢。
反复尝试不同情况没发现什么特殊的作用,但是如果选择LocalBuild的话是没办法更新到新资源的。
即,如果需要热更的话,不但要勾选Build Remote Catalogs而且要选择远程打包和远程加载。
到这里这个配置就结束了。在这个配置的基础上。更正上一篇的一个问题。在资源打包小结的第四条,之前的描述为:
资源在远程目录的话,加载时会在Application.persistentDataPath路径下生成资源文件信息的缓存。注意:这两个文件不是从远程仓库下载的,也不是远程仓库里面的文件信息,而是本地的文件信息,应该是从StreamingAssets目录克隆过来的。
而实际情况是上和述配置相关的。
即如果你选把信息文件(即Catalog文件)打包进本地资源。则加载时会在Application.persistentDataPath路径下生成资源文件信息的缓存。这两个文件从StreamingAssets目录克隆过来的。这种选择会导致无法进行资源更新。
而如果你选把信息文件(即Catalog文件)打包进远程资源。则加载时会在Application.persistentDataPath路径下生成资源文件信息的缓存。这两个文件从远程目录目录下载过来的。而且如果Catalog文件产生变化的时候。会把原来的资源信息文件替换掉(即Catalog文件更新)。同时会在实际资源文件(即上一篇描述的可配置的实际资源目录)缓存目录下下载新的资源文件。
以上插入了一些应该是在第二次Build更新前需要理清楚的事情。
会方便我们下一步测试资源更新。
下一篇正式开始测试更新资源。
2021.1.28补充一点:
AddressableAssetSettingsDefaultObject.Settings.RemoteCatalogBuildPath.GetValue()
AddressableAssetSettingsDefaultObject.Settings.RemoteCatalogLoadPath.GetValue()
该api获取到的即为Addressable默认配置中勾选了勾选Build Remote Catalogs 后出现的两个位置。
如果未配置的话为空。