Описание
AssetBundles позволяют выполнять потоковую передачу дополнительных ресурсов через класс UnityWebRequest и создавать их экземпляры во время выполнения. AssetBundles создаются с помощью BuildPipeline.BuildAssetBundle.
Обратите внимание, что наборы несовместимы между платформами. Пакет, созданный для любого из автономных платформы могут быть загружены только на этой платформе, но не на других. Еще один пример: пакет, созданный для iOS, несовместим с Android и наоборот. Одно отличие это шейдеры, которые различаются между устройствами, как и текстуры.
Смотрите так же: UnityWebRequestAssetBundle.GetAssetBundle, Loading Resources at Runtime, BuildPipeline.BuildAssetBundle.
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
public class SampleBehaviour : MonoBehaviour
{
IEnumerator Start()
{
var uwr = UnityWebRequestAssetBundle.GetAssetBundle("https://myserver/myBundle.unity3d");
yield return uwr.SendWebRequest();
// Получить ресурс из пакета и создать его экземпляр.
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr);
var loadAsset = bundle.LoadAssetAsync<GameObject>("Assets/Players/MainPlayer.prefab");
yield return loadAsset;
Instantiate(loadAsset.asset);
}
}
Статические Свойства
memoryBudgetKB | Управляет размером общего кеша загрузки AssetBundle. Значение по умолчанию — 1 МБ. |
Свойства
isStreamedSceneAssetBundle | Верните значение true, если AssetBundle представляет собой потоковую сцену AssetBundle. |
Публичные Методы
Contains | Проверьте, содержит ли AssetBundle определенный объект. |
GetAllAssetNames | Возвращает все имена активов в AssetBundle. |
GetAllScenePaths | Верните все пути ресурсов сцены (пути к ресурсам *.unity) в AssetBundle. |
LoadAllAssets | Загружает все ресурсы, содержащиеся в наборе ресурсов, которые наследуют от type. |
LoadAllAssetsAsync | Асинхронно загружает все ресурсы, содержащиеся в пакете ресурсов. |
LoadAsset | Загружает ресурс с именем из пакета. |
LoadAssetAsync | Асинхронно загружает актив с именем из пакета. |
LoadAssetWithSubAssets | Загружает актив и подактивы с именем из пакета. |
LoadAssetWithSubAssetsAsync | Асинхронно загружает актив с подактивами с именем из пакета. |
Unload | Выгружает AssetBundle, освобождая его данные. |
Статические Методы
GetAllLoadedAssetBundles | Используется, когда вам нужно получить список всех загруженных в данный момент наборов активов. |
LoadFromFile | Синхронно загружает AssetBundle из файла на диске. |
LoadFromFileAsync | Асинхронно загружает AssetBundle из файла на диске.. |
LoadFromMemory | Синхронно создайте AssetBundle из области памяти. |
LoadFromMemoryAsync | Асинхронно создайте AssetBundle из области памяти. |
LoadFromStream | Синхронно загружает AssetBundle из управляемого потока. |
LoadFromStreamAsync | Асинхронно загружает AssetBundle из управляемого потока. |
RecompressAssetBundleAsync | Асинхронно повторно сжать загруженный/сохраненный AssetBundle из одного BuildCompression в другой.. |
UnloadAllAssetBundles | Выгружает все загруженные в данный момент AssetBundles. |
Унаследованные члены
Свойства
hideFlags | Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name | Имя объекта. |
Публичные Методы
GetInstanceID | Возвращает id экземпляра объекта. |
ToString | Возвращает имя объекта. |
Статические Методы
Destroy | Удаляет игровой объект, компонент или актив. |
DestroyImmediate | Уничтожает объект obj. Вместо этого рекомендуется использовать метод Destroy. |
DontDestroyOnLoad | Не уничтожает целевой объект при загрузке новой сцены. . |
FindObjectOfType | Возвращает первый активный загруженный объект. |
FindObjectsOfType | Получает список всех загруженных объектов. |
Instantiate | Клонирует исходный объект и возвращает клон. |
Операторы
bool | Объект существует? |
operator != | Сравнивает, ссылаются ли два объекта на другой объект. |
operator == | Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |