AssetBundle.LoadFromFileAsync
Declaration
public static AssetBundleCreateRequest LoadFromFileAsync(string path);public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc);public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc, ulong offset);Параметры
| Параметр | Описание |
|---|---|
| путь | Путь к файлу на диске. |
| crc (сохранить) | Необязательная контрольная сумма CRC-32 несжатого содержимого. Если это ненулевое значение, то содержимое будет сопоставлено с контрольной суммой перед загрузкой и будет возвращена ошибка, если она не совпадает. |
| офсет | Необязательный байт смещения. Это значение указывает, с какого места начать чтение AssetBundle. |
Возвращаемое значение
AssetBundleCreateRequest Асинхронный запрос на загрузку AssetBundle. Используйте свойства AssetBundleCreateRequest.assetBundle для получения AssetBundle после его загрузки.
Описание
Асинхронно загружает AssetBundle из файла на диске.
Функция поддерживает пакеты любого типа сжатия. В случае сжатия LZMA, данные будут декомпрессированы в память. См. AssetBundles сжатие для более подробной информации.
Это самый быстрый способ загрузки 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); } }
Дополнительные ресурсы: ,AssetBundleCreateRequest,, ,LoadFromFile,.