Version: 2023.1
言語: 日本語

DownloadHandlerAssetBundleConstructor

マニュアルに切り替える
public DownloadHandlerAssetBundle (string url, uint crc);

パラメーター

url アセットバンドルの名目上 (リダイレクト前)の URL
crc インテグリティチェックのためにダウンロードしたデータと比較するためのチェックサムです。インテグリティチェックを省略する場合はゼロです。

説明

キャッシュを行わないアセットバンドルのための標準コンスラクタ

このコンストラクタはキャッシュシステムをバイパスし、url から AssetBundle をダウンロードします。

crc の引数が 0 でない場合、crc の引数はダウンロードされたデータのチェックサムと比較されます。CRC が一致しない場合、エラーがログに記録され、アセットバンドルは読み込まれず、assetBundle は null を返します。

CRC インテグリティチェックを使いたくない場合、crc の引数として 0 を渡します。

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); } } }

public DownloadHandlerAssetBundle (string url, uint version, uint crc);

パラメーター

url アセットバンドルの名目上 (リダイレクト前)の URL
crc インテグリティチェックのためにダウンロードしたデータと比較するためのチェックサムです。インテグリティチェックを省略する場合はゼロです。
version url でのアセットバンドルの現在のバージョン番号。再ダウンロードするとインクリメントします。

説明

単純なバージョンのコンストラクタです。キャッシュはアセットバンドルをダウンロードします。

このコンストラクタを使い、url からキャッシュされた AssetBundle がある場合、DownloadHandlerAssetBundle を最初に確認します。

キャッシュされたアセットバンドルがない場合、またはキャッシュされたアセットバンドルの version と /version/引数が一致する場合、システムはアセットバンドルのダウンロードをスキップして、その代わりにキャッシュから読み込みます。

キャッシュされたアセットバンドルがある場合、キャッシュされたバンドルの versionversion 引数と一致せず、url からシステムはアセットバンドルを再度ダウンロードします。

crc の引数が 0 でない場合、crc の引数はダウンロードされたデータのチェックサムと比較されます。CRC が一致しない場合、エラーがログに記録され、アセットバンドルは読み込まれず、assetBundle は null を返します。

CRC インテグリティチェックを使いたくない場合、crc の引数として 0 を渡します。


public DownloadHandlerAssetBundle (string url, Hash128 hash, uint crc);

パラメーター

url アセットバンドルの名目上 (リダイレクト前)の URL
crc インテグリティチェックのためにダウンロードしたデータと比較するためのチェックサムです。インテグリティチェックを省略する場合はゼロです。
hash アセットバンドルのバージョンを define するハッシュオブジェクト

説明

バージョン管理されたコンストラクタです。キャッシュはアセットバンドルをダウンロードします。

このコンストラクタを使い、url からキャッシュされた AssetBundle がある場合、DownloadHandlerAssetBundle を最初に確認します。

キャッシュされたアセットバンドルがない場合やキャッシュされたアセットバンドルの hashhash の引数が一致する場合、システムはアセットバンドルのダウンロードをスキップし、その代わりにキャッシュから読み込みます。

キャッシュされたアセットバンドルがあるが、キャッシュされたバンドルの hashhash の引数と一致しない場合、url からシステムはアセットバンドルを再度ダウンロードします。

crc の引数が 0 でない場合、crc の引数はダウンロードされたデータのチェックサムと比較されます。CRC が一致しない場合、エラーがログに記録され、アセットバンドルは読み込まれず、assetBundle は null を返します。

CRC インテグリティチェックを使いたくない場合、crc の引数として 0 を渡します。


public DownloadHandlerAssetBundle (string url, string name, Hash128 hash, uint crc);
public DownloadHandlerAssetBundle (string url, CachedAssetBundle cachedBundle, uint crc);

パラメーター

url アセットバンドルの名目上 (リダイレクト前)の URL
hash アセットバンドルのバージョンを define するハッシュオブジェクト
crc インテグリティチェックのためにダウンロードしたデータと比較するためのチェックサムです。インテグリティチェックを省略する場合はゼロです。
cachedBundle A structure used to download a given version of AssetBundle to a customized cache path.
name AssetBundle name which is used as the customized cache path.

説明

Versioned constructor. Caches downloaded asset bundles to a customized cache path.

Cached AssetBundles are uniquely identified solely by the filename and version. All domain and path information in url is ignored by Caching. Since cached AssetBundles are identified by filename instead of the full URL, you can change the directory from where the asset bundle is downloaded at any time. This is useful for pushing out new versions of the game and ensuring that files are not cached incorrectly by the browser or by a CDN.

Usually using the filename of the AssetBundle to generate the cache path is fine. But if there are different AssetBundles with the same last file name, cache conflicts happens. With CachedAssetBundle struct, you can use CachedAssetBundle.name to customized the cache path to avoid the cache conflicts. You can also utilize this to organize the cache data structure.