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

Получение текстуры с HTTP-сервера (GET)

Важно: UNet — это устаревшее решение, а также новая многопользовательская и сетьсистема Unity, которая обеспечивает многопользовательскую игру. игры через компьютерную сеть. Подробнее
См. в Словарь
Решение (Netcode для GameObjects) находится в разработке. Дополнительную информацию и дальнейшие действия см. на веб-сайте Unity Netcode for GameObjects.

Чтобы получить файл текстуры с удаленного сервера, вы можете использовать UnityWebRequest.Texture. Эта функция очень похожа на UnityWebRequest.GET, но оптимизирован для эффективной загрузки и хранения текстур.

Эта функция принимает в качестве аргумента одну строку. Строка указывает URL-адрес, с которого вы хотите загрузить файл изображения для использования в качестве текстуры.

Подробнее

  • Эта функция создает UnityWebRequest и устанавливает целевой URL в качестве строкового аргумента. Эта функция не устанавливает никаких других флагов или пользовательских заголовков.
  • Эта функция прикрепляет объект DownloadHandlerTexture к UnityWebRequest. DownloadHandlerTexture — это специализированный обработчик загрузки, оптимизированный для хранения изображений, которые будут использоваться в качестве текстур в движке Unity. Использование этого класса значительно сокращает перераспределение памяти по сравнению с загрузкой необработанных байтов и созданием Текстуры вручную в сценарии.
  • По умолчанию эта функция не прикрепляет обработчик загрузки. При желании вы можете добавить его вручную.

Пример

using UnityEngine; using System.Collections; using UnityEngine.Networking; public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetTexture()); } IEnumerator GetTexture() { UnityWebRequest www = UnityWebRequestTexture.GetTexture("https://www.my-server.com/image.png"); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Texture myTexture = ((DownloadHandlerTexture)www.downloadHandler).texture; } } }

В качестве альтернативы вы можете реализовать GetTexture с помощью вспомогательного геттера:

IEnumerator GetTexture() { UnityWebRequest www = UnityWebRequestTexture.GetTexture("https://www.my-server.com/image.png"); yield return www.SendWebRequest(); Texture myTexture = DownloadHandlerTexture.GetContent(www); }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3