Объявление
public static Networking.UnityWebRequest GetTexture(string uri);public static Networking.UnityWebRequest GetTexture(string uri, bool nonReadable);
Параметры
uri | URI изображения для загрузки. |
nonReadable | Если true, необработанные данные текстуры не будут доступны скрипту. Это может сохранить память. По умолчанию: false . |
Возвращает
UnityWebRequest Правильно настроенный UnityWebRequest для загрузки изображения и преобразования его в текстуру.
Описание
Создайте UnityWebRequest, предназначенный для загрузки изображения через HTTP GET, и создайте текстуру на основе полученных данных.
Этот метод создает UnityWebRequest и задает целевой URL строковый аргумент uri
. Этот метод не устанавливает никаких других флагов или пользовательских заголовков.
Этот метод прикрепляет объект DownloadHandlerTexture к UnityWebRequest. DownloadHandlerTexture — это специализированный DownloadHandler, оптимизированный для хранения изображений, которые будут использоваться в качестве текстур в Unity Engine. . Использование этого класса значительно сокращает перераспределение памяти по сравнению с загрузкой необработанных байтов и созданием текстуры вручную в скрипте. Кроме того, преобразование текстуры будет выполняться в рабочем потоке.
Этот метод не прикрепляет UploadHandler к UnityWebRequest.
Обратите внимание, что текстура будет создана так, как если бы она хранила данные о цвете (Смотрите так же: TextureImporter.sRGBTexture). Если вам нужно загрузить линейные данные, используйте ImageConversion.LoadImage.
Примечание. Поддерживаются только форматы JPG и PNG.
Примечание. UnityWebRequest.GetTexture устарел. Вместо этого используйте UnityWebRequestTexture.GetTexture.
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);
}
}
}
}