言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

WWW.LoadFromCacheOrDownload

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

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 def LoadFromCacheOrDownload(url as string, version as int, crc as uint = 0) as WWW

Parameters

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

Returns

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

Description

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

LoadFromCacheOrDownload() はキャッシングを使用するために "new WWW (url)" の代わりに使用するようにしてください。 キャッシュされたアセットバンドルはファイル名とバージョン番号で管理されています。 URL の全てのドメインやパスはキャッシングでは無視されます。キャッシュされたアセットバンドルはURLの代わりにファイル名で管理しているのでサーバー側のURL構成(ディレクトリ構成)は自由に変更することが出来ます。これは新しいバージョンを出した時ブラウザやCDNにキャッシュされないようにするために便利です。キャッシュを共有するWebPlayerの場合、アプリケーションの間でキャッシュが衝突してしまうのを防ぐためにユニークな識別子を追加して保持します。 もし、キャッシュフォルダに追加できるファイル領域がない場合はキャッシュしようとしているファイルの領域が空くまでLoadFromCacheOrDownloadで追加された最も使用頻度の低いアセットバンドルから削除していきます。もし利用可能なファイル領域を確保できない場合(キャッシュされているアセットバンドルを全て使用している場合や、HDDの要領がいっぱいな場合)はLoadFromCacheOrDownloadは "new WWW()" の呼び出しと同じようにメモリ上に展開しストリーミングします。 AssetBundleは1フレームに1つダウンロードを終了させることができます。 この関数はAssetBundleのアクセスのみに使用することが出来ます。それ以外のタイプやコンテンツはキャッシュ出来ません。 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;
	}