url | 资源包所在的标称(重定向前)URL。 |
crc | 用于与下载数据进行完整性检查的校验和,或为零以跳过完整性检查。 |
非缓存资源包的标准构造函数。
此构造函数将绕过缓存系统,并简单地从url
下载AssetBundle。
如果crc
参数不为零,则将crc
参数与下载数据的校验和进行比较。如果 CRC 不匹配,则会记录错误,资源包将不会加载,并且 assetBundle 将返回null
。
如果您不想使用 CRC 完整性检查,请将零作为crc
参数传递。
using System.Collections; using UnityEngine; using UnityEngine.Networking;
public class Example : MonoBehaviour { IEnumerator Start() { string url = "https://website.com/assetbundle"; using (var uwr = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET)) { uwr.downloadHandler = new DownloadHandlerAssetBundle(url, 0); yield return uwr.SendWebRequest(); AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr);
//Unload the AssetBundle bundle.Unload(true); } } }
url | 资源包所在的标称(重定向前)URL。 |
crc | 用于与下载数据进行完整性检查的校验和,或为零以跳过完整性检查。 |
version | url 处资源包的当前版本号。递增以重新下载。 |
简单的版本化构造函数。缓存下载的资源包。
使用此构造函数时,DownloadHandlerAssetBundle 将首先检查url
是否存在缓存的AssetBundle。
如果没有缓存的资源包,或者如果缓存的资源包的version
与version
参数匹配,则系统将跳过下载资源包,而是从缓存中加载它。
如果存在缓存的资源包,但缓存的资源包的version
与version
参数不匹配,则系统将从url
重新下载资源包。
如果crc
参数不为零,则将crc
参数与下载数据的校验和进行比较。如果 CRC 不匹配,则会记录错误,资源包将不会加载,并且 assetBundle 将返回null
。
如果您不想使用 CRC 完整性检查,请将零作为crc
参数传递。
url | 资源包所在的标称(重定向前)URL。 |
crc | 用于与下载数据进行完整性检查的校验和,或为零以跳过完整性检查。 |
hash | 定义资源包版本的哈希对象。 |
版本化构造函数。缓存下载的资源包。
使用此构造函数时,DownloadHandlerAssetBundle 将首先检查url
是否存在缓存的AssetBundle。
如果没有缓存的资源包,或者如果缓存的资源包的hash
与hash
参数匹配,则系统将跳过下载资源包,而是从缓存中加载它。
如果存在缓存的资源包,但缓存的资源包的hash
与hash
参数不匹配,则系统将从url
重新下载资源包。
如果crc
参数不为零,则将crc
参数与下载数据的校验和进行比较。如果 CRC 不匹配,则会记录错误,资源包将不会加载,并且 assetBundle 将返回null
。
如果您不想使用 CRC 完整性检查,请将零作为crc
参数传递。
url | 资源包所在的标称(重定向前)URL。 |
hash | 定义资源包版本的哈希对象。 |
crc | 用于与下载数据进行完整性检查的校验和,或为零以跳过完整性检查。 |
cachedBundle | 用于将给定版本的 AssetBundle 下载到自定义缓存路径的结构。 |
name | 用作自定义缓存路径的 AssetBundle 名称。 |
版本化构造函数。将下载的资源包缓存到自定义缓存路径。
缓存的 AssetBundle 仅通过文件名和版本唯一标识。Caching 会忽略url
中的所有域和路径信息。由于缓存的 AssetBundle 通过文件名而不是完整 URL 标识,因此您可以随时更改下载资源包的目录。这对于推出新版本的博弈并确保文件不会被浏览器或 CDN 错误缓存很有用。
通常使用 AssetBundle 的文件名生成缓存路径就可以了。但是,如果存在具有相同最后一个文件名的不同 AssetBundle,则会发生缓存冲突。使用 CachedAssetBundle 结构,您可以使用CachedAssetBundle.name 自定义缓存路径以避免缓存冲突。您还可以利用它来组织缓存数据结构。