0

我使用以下代码从服务器下载我的资产包。

  1. 如果我在重新启动我的应用程序后再次运行此代码,它是否会重新下载捆绑包,因为它在缓存中?以及我如何知道它是否正在重新下载/未下载
  2. 我阅读了有关哈希和版本号的信息-您将如何更改此代码以验证哈希和版本号
  3. 我需要保留清单文件吗?在构建资产包时,我得到 2 个文件,一个是资产,另一个是清单。我只将资产(大文件)上传到我的服务器并忽略清单,这很好,但在这种情况下是否意味着我不能使用缓存?我只上传一个文件的原因是因为 UnityWebRequestAssetBundle 下载一个文件。

构建资产包-

static void BuildABs()
{
BuildPipeline.BuildAssetBundles("Assets/abs", BuildAssetBundleOptions.ChunkBasedCompression, 
BuildTarget.iOS);
}

加载资产包

using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(url))
{
yield return uwr.SendWebRequest();

if (uwr.isNetworkError || uwr.isHttpError)
{
Debug.Log(uwr.error);
}
else
{
// Get downloaded asset bundle
myLoadedAssetBundle = DownloadHandlerAssetBundle.GetContent(uwr);
}
4

1 回答 1

0
  1. 为了使用 UnityWebRequest 强制兑现,您需要将哈希码或 CRC 与 URI 一起作为参数传递给 UnityWebRequest,这可以在您根据本手册页构建资产捆绑的平台的资产捆绑清单中找到,您可以找到代码片段这样做。
  2. 看到这个答案
  3. 阅读 1 处的手册页以了解手册的工作原理以及您需要的手册。
于 2020-07-22T13:05:06.407 回答