如何在不实际下载资产包的情况下比较本地和远程资产包版本?

时间:2018-01-05 18:42:10

标签: unity3d caching version assetbundle

我想做什么

我正在开发一种门户网站,以展示我的组织在Unity中制作的几个项目。为了保持灵活性和轻量级,我设计了一个使用资产包的架构:

  1. 当用户下载门户网站时,他们下载的所有内容都是自动加载到主菜单场景中的引导程序场景。这使初始下载非常轻,并允许它们更快地进行。此外,拥有资产包中的所有其他内容可以最大化我们可以在交付后更新的3D内容量。
  2. 下载并加载主菜单时,会向用户显示项目列表。每个项目都绑定到可以按需下载的资产包。这样,如果他们对一个项目而不是另一个项目感兴趣,他们就不必浪费时间和磁盘空间下载他们从未探索过的项目。
  3. 如果他们还没有下载特定项目的资产包,则会通过按钮提示他们下载它。如果他们有旧版本,则会提示他们更新它。如果全部都是最新的,则会提示他们访问它。
  4. 问题

    我遇到的问题有两方面:

    1. 我不确定用什么来做我想做的最好的图书馆。目前,似乎有两种方式下载资产包WWW.LoadFromCacheOrDownload和UnityWebRequest.GetAssetBundle。更不用说,Unity刚刚在Unite 2017上取消了ResourceManager和可寻址资产(但这看起来很遥远)。
    2. 无论我使用哪个库,似乎都没有内置的方法来检查本地或远程资产包版本而不下载包本身。
    3. 到目前为止我做了什么

      与此同时,我使用UWR下载远程捆绑包清单和Regexed用于CRC和哈希。现在看看Caching.IsVersionCached到Regex本地版本并进行比较,但该方法已经过时......

      有什么想法吗?

0 个答案:

没有答案