Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static Networking.UnityWebRequest GetAssetBundle(string uri);

public static Networking.UnityWebRequest GetAssetBundle(Uri uri);

public static Networking.UnityWebRequest GetAssetBundle(string uri, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(Uri uri, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(string uri, uint version, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(Uri uri, uint version, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(string uri, Hash128 hash, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(Uri uri, Hash128 hash, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(string uri, CachedAssetBundle cachedAssetBundle, uint crc);

public static Networking.UnityWebRequest GetAssetBundle(Uri uri, CachedAssetBundle cachedAssetBundle, uint crc);

Параметры

uri URI пакета активов для загрузки.
crc Если он не равен нулю, это число будет сравниваться с контрольной суммой загруженных данных набора ресурсов. Если CRC не совпадают, будет зарегистрирована ошибка, и пакет активов не будет загружен. Если установлено нулевое значение, проверка CRC будет пропущена.
version Целочисленный номер версии, который будет сравниваться с кешированной версией загружаемого пакета ресурсов. Увеличьте это число, чтобы заставить Unity повторно загрузить кешированный набор ресурсов.
Аналогично параметру version для WWW.LoadFromCacheOrDownload.
hash Хэш версии. Если этот хэш не совпадает с хэшем кэшированной версии этого пакета ресурсов, пакет ресурсов будет загружен повторно.
cachedAssetBundle Структура, используемая для загрузки данной версии AssetBundle в настраиваемый путь кэша.

Возвращает

UnityWebRequest UnityWebRequest, настроенный на загрузку пакета ресурсов Unity.

Описание

Создает UnityWebRequest, оптимизированный для загрузки набора ресурсов Unity через HTTP GET.

Этот метод создает UnityWebRequest, задает для метода значение GET и задает целевой URL-адрес строкового аргумента uri. Не устанавливает никаких других флагов или пользовательских заголовков.

Этот метод прикрепляет DownloadHandlerAssetBundle к UnityWebRequest. Этот DownloadHandler имеет специальное свойство DownloadHandlerAssetBundle.assetBundle, которое можно использовать для извлечения пакета ресурсов один раз. загружено и декодировано достаточно данных, чтобы разрешить доступ к ресурсам внутри пакета.

Кроме того, DownloadHandlerAssetBundle передает данные в кольцевой буфер и распаковывает данные в рабочем потоке, экономя много памяти по сравнению с загрузкой всех данных сразу.< /p>

Если задан целочисленный аргумент version или Hash128 hash, DownloadHandlerAssetBundle будет использовать систему кэширования Asset Bundle. Если пакет ресурсов был кэширован и его не нужно повторно загружать, то UnityWebRequest завершится после завершения загрузки пакета ресурсов из кэша.

Кэшированные AssetBundles однозначно идентифицируются исключительно по имени файла и версии. Вся информация о домене и пути в url игнорируется кэшированием. Поскольку кэшированные AssetBundles идентифицируются по имени файла, а не по полному URL-адресу, вы можете в любое время изменить каталог, из которого загружается пакет ресурсов. Это полезно для выпуска новых версий игры и предотвращения некорректного кэширования файлов браузером или CDN.

Обычно можно использовать имя файла AssetBundle для создания пути к кэшу. Но если есть разные AssetBundle с одинаковым последним именем файла, возникают конфликты кеша. Со структурой CachedAssetBundle вы можете использовать CachedAssetBundle.name, чтобы настроить путь к кешу, чтобы избежать конфликтов кеша. Вы также можете использовать это для организации структуры данных кэша.

Обратите внимание, хотя вы можете использовать этот API для загрузки Asset Bundle из локального хранилища (используя URI file:// или jar:file// на Android), это не рекомендуется, используйте < a href="AssetBundle.LoadFromFileAsync">AssetBundle.LoadFromFileAsync вместо этого.

using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetText()); } IEnumerator GetText() { using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle("https://www.my-server.com/mybundle")) { yield return uwr.SendWebRequest(); if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Получить загруженный пакет ресурсов AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); } } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3