AssetBundle.LoadFromFileAsync

매뉴얼로 전환
public static AssetBundleCreateRequest LoadFromFileAsync (string path, uint crc= 0, ulong offset= 0);

파라미터

path Path of the file on disk.
crc An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match.
offset An optional byte offset. This value specifies where to start reading the AssetBundle from.

반환

AssetBundleCreateRequest Asynchronous create request for an AssetBundle. Use assetBundle property to get an AssetBundle once it is loaded.

설명

Asynchronously loads an AssetBundle from a file on disk.

The function supports bundles of any compression type. In case of lzma compression, the data will be decompressed to the memory. Uncompressed and chunk-compressed bundles can be read directly from disk.

This is the fastest way to load an AssetBundle.

using UnityEngine;
using System.Collections;
using System.IO;

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