Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

WWW.LoadFromCacheOrDownload

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function LoadFromCacheOrDownload(url: string, version: int, crc: uint = 0): WWW;
public static WWW LoadFromCacheOrDownload(string url, int version, uint crc = 0);
public static function LoadFromCacheOrDownload(url: string, version: int, crc: uint = 0): WWW;
public static WWW LoadFromCacheOrDownload(string url, int version, uint crc = 0);

パラメーター

url キャッシュされていない場合にアセットバンドルをダウンロードするための URL。'%' は避けなければいけません。
version アセットバンドルのバージョン。以前に同じ version パラメーターでダウンロードを行っている場合、キャッシュされたデータをロードします。アプリケーションによってインクリメントされたバージョンをリクエストすることによって強制的に url から最新のアセットバンドルをキャッシングすることができます。
crc 非圧縮コンテンツの CRC-32 チェックサム。もしパラメーターが 0 出ない場合はコンテンツをロードする前にチェックサムの比較が行われ一致しない場合はエラーを返します。これはキャッシュされたデータのユーザーによる改竄や改悪、データの破損を避けるために利用されます。CRC が一致しない場合は Unity は再度ダウンロードを試みます。そして CRC がサーバー側で一致しない場合はエラーを返します。今の CRC 値がアセットバンドルに一致しているかはエラー内容から判断することができます。

戻り値

WWW アセットバンドルのロード/ダウンロードが完了したときにデータにアクセスするための WWW インスタンスを返します。

説明

キャッシュからバージョンで指定されたアセットバンドルをロードします。もしアセットバンドルがキャッシュされていない場合は自動的にダウンロードされローカルストレージから復旧できるためにキャッシュに保存されます。

LoadFromCacheOrDownload() はキャッシングを使用するために "new WWW (url)" の代わりに使用するようにしてください。

キャッシュされた AssetBundle は、ファイル名とバージョン番号によって単独に一意的に認証されます。url のすべてのドメインとパスの情報は Cashing に無視されます。キャッシュされた AssetBundle は完全な URL の代わりにファイル名で認証されるため、アセットバンドルがダウンロードされたアセットからいつでもディレクトリを変更できます。新しいバージョンのゲームを送り出す際に、ファイルがブラウザや CDN によって不正確にキャッシュされないようにするために、この方法は有効です。共有キャッシュを使用する Web Player アプリケーションの場合、アプリケーション間で名前の混乱が起きないように、完全一致の名前がついた複数の AssetBundle には、Caching によって一意の認証情報が加えられます。

もし、キャッシュフォルダーに追加できるファイル領域がない場合はキャッシュしようとしているファイルの領域が空くまで LoadFromCacheOrDownload で追加されたもっとも使用頻度の低いアセットバンドルから削除していきます。もし利用可能なファイル領域を確保できない場合(キャッシュされているアセットバンドルをすべて使用している場合や、HDD の要領がいっぱいな場合)は LoadFromCacheOrDownload は "new WWW()" の呼び出しと同じようにメモリ上に展開しストリーミングします。

キャッシュされるデータは、Caching.compressionEnabled を有効にすることにより圧縮形式で保存することができます。

この関数は AssetBundle のアクセスのみに使用することができます。それ以外のタイプやコンテンツはキャッシュできません。

この関数に渡される CRC は、Asset Bundle の実装時間中に計算されます。BuildPipeline.BuildAssetBundle を参照してください。

Note: URL は '%' を避けなければいけません。

function Start () {
	var www = WWW.LoadFromCacheOrDownload ("http://myserver.com/myassetBundle.unity3d", 5);

yield www;

if (!String.IsNullOrEmpty(www.error)) { Debug.Log (www.error); return; } var myLoadedAssetBundle = www.assetBundle;

var asset = myLoadedAssetBundle.mainAsset; }
using UnityEngine;
using System.Collections;

public class LoadFromCacheOrDownloadExample : MonoBehaviour { IEnumerator Start () { while (!Caching.ready) yield return null;

var www = WWW.LoadFromCacheOrDownload("http://myserver.com/myassetBundle.unity3d", 5); yield return www; if(!string.IsNullOrEmpty(www.error)) { Debug.Log(www.error); yield return; } var myLoadedAssetBundle = www.assetBundle;

var asset = myLoadedAssetBundle.mainAsset; } }

See Also: BuildPipeline.BuildAssetBundle, BuildPipeline.BuildStreamedSceneAssetBundle.