UnityWebRequestTexture.GetTexture
Declaration
public static Networking.UnityWebRequest GetTexture(string uri);public static Networking.UnityWebRequest GetTexture(Uri uri);public static Networking.UnityWebRequest GetTexture(string uri, bool nonReadable);public static Networking.UnityWebRequest GetTexture(Uri uri, bool nonReadable);Параметры
| Параметр | Описание |
|---|---|
| час | URI изображения для загрузки. |
| nonReadable | Если true, необработанные данные текстуры не будут доступны для скрипта. Это может сохранить память. По умолчанию: false. |
Возвращаемое значение
UnityWebRequest A UnityWebRequest правильно настроен для загрузки образа и преобразования его в Texture.
Описание
Создайте UnityWebRequest для загрузки образа через HTTP GET и создайте Texture на основе полученных данных.
Использование UnityWebRequestTexture.GetTexture для получения файла текстуры с удаленного сервера. Эта функция очень похожа на UnityWebRequest.Get, но оптимизирован для эффективной загрузки и хранения текстур. Он создает UnityWebRequest и устанавливает цель URL на ту, которая указана в качестве строки или объекта uri в uri аргумент. Другие флаги или пользовательские заголовки не устанавливаются.
Этот метод прикрепляет DownloadHandlerTexture возражает против UnityWebRequest. DownloadHandlerTexture является специализированным DownloadHandler оптимизирован для хранения изображений, предназначенных для использования в качестве текстур в движке Unity. Использование этого класса существенно сокращает перераспределение памяти по сравнению с загрузкой сырых байтов и созданием текстуры вручную в скрипте. Кроме того, преобразование текстуры выполняется в рабочем потоке.
Этот метод не предполагает UploadHandler к Генеральной Ассамблее UnityWebRequest.
Текстура создается так же, как если бы она хранила цветовые данные. Поддерживаются только форматы JPG и PNG.
Дополнительные ресурсы: TextureImporter.sRGBTexture.
using UnityEngine; using UnityEngine.Networking; using System.Collections;
public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png")) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }
Declaration
public static Networking.UnityWebRequest GetTexture(string uri, Networking.DownloadedTextureParams parameters);public static Networking.UnityWebRequest GetTexture(Uri uri, Networking.DownloadedTextureParams parameters);Параметры
| Параметр | Описание |
|---|---|
| час | URI изображения для загрузки. |
| параметры | Параметры, определяющие различные свойства текстуры, которая будет создана. |
Возвращаемое значение
UnityWebRequest A UnityWebRequest правильно настроен для загрузки образа и преобразования его в Texture.
Описание
Создайте UnityWebRequest для загрузки образа через HTTP GET и создайте Texture на основе полученных данных.
То же самое, что и перегрузка только с параметром uri, за исключением того, что она позволяет больше контроля над свойствами текстуры, которая будет создана. Например, используя эту перегрузку вы можете отключить создание mipmaps или использовать линейное цветовое пространство.
using System.Collections; using UnityEngine; using UnityEngine.Networking;
public class NewMonoBehaviourScript : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { // Use linear color space and reduce memory usage by disabling mipmaps and ability to read pixels var parameters = DownloadedTextureParams.Default; parameters.readable = false; parameters.mipmapChain = false; parameters.linearColorSpace = true; using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png", parameters)) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }