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