path | ディスクにあるファイルのパス |
crc | オプションの、非圧縮コンテンツ用 CRC-32 チェックサム。 0 にならない場合、コンテンツは再び比較され、読み込む前にチェックサムが行われ、一致しない場合はエラーが返されます。 |
offset | オプションのバイトのオフセット。この値はアセットバンドルのどこから読み込み始めるかを指定します。 |
AssetBundleCreateRequest アセットバンドルを非同期で作成することを要求します。読み込まれたアセットバンドルをすぐに取得したい場合は、 assetBundle プロパティーを使ってください。
ディスクから非同期でアセットバンドルを読み込みます。
バンドルをさまざまな形式で圧縮する機能
lzma 圧縮を使っている場合、解凍されたデータがメモリに展開されます。解凍され、チャンクで圧縮されたバンドルは、ディスクから直接読み込むことができます。
これがアセットバンドルを最速で読み込む方法です。
public class LoadFromFileAsyncExample extends MonoBehaviour { function Start() { var bundleLoadRequest = AssetBundle.LoadFromFileAsync(Path.Combine(Application.streamingAssetsPath, "myassetBundle")); bundleLoadRequestvar myLoadedAssetBundle: var = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); return; } var assetLoadRequest = myLoadedAssetBundle.LoadAssetAsync.<GameObject>("MyObject"); yield return assetLoadRequest; var prefab: GameObject = assetLoadRequest.asset as GameObject; Instantiate(prefab); myLoadedAssetBundle.Unload(false); } }
using UnityEngine; using System.Collections;
public class LoadFromFileAsyncExample : MonoBehaviour { IEnumerator Start () { var bundleLoadRequest = AssetBundle.LoadFromFileAsync(Path.Combine(Application.streamingAssetsPath, "myassetBundle")); yield return bundleLoadRequest; var myLoadedAssetBundle = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); yield break; }
var assetLoadRequest = myLoadedAssetBundle.LoadAssetAsync<GameObject>("MyObject"); yield return assetLoadRequest;
GameObject prefab = assetLoadRequest.asset as GameObject; Instantiate(prefab);
myLoadedAssetBundle.Unload(false); } }
See Also: AssetBundleCreateRequest, LoadFromFile.