Version: 2022.1
public static Networking.UnityWebRequest GetTexture (string uri);
public static Networking.UnityWebRequest GetTexture (string uri, bool nonReadable);

参数

uri 要下载的图像的 URI。
nonReadable 如果为 true,脚本将无法访问纹理的原始数据。这可以节省内存。默认值:false

返回

UnityWebRequest 经适当配置以下载图像并将其转换为 TextureUnityWebRequest

描述

创建 UnityWebRequest 以通过 HTTP GET 下载图像,并基于检索的数据创建 Texture

此方法将创建 UnityWebRequest 并将目标 URL 设置为字符串 uri 参数。此方法不会设置任何其他标志或自定义标头。

此方法将一个 DownloadHandlerTexture 对象附加到 UnityWebRequestDownloadHandlerTexture 是一个经过优化的专用 DownloadHandler,用于存储要在 Unity 引擎中用作纹理的图像。与下载原始字节并在脚本中手动创建纹理相比,使用此类可显著降低内存重新分配。此外,纹理转换将在工作线程上执行。

此方法不会附加 UploadHandlerUnityWebRequest

请注意,创建纹理就像它存储颜色数据一样(另请参阅: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); } } } }