版本:2022.3
语言:英语
从HTTP服务器检索文本或二进制数据(GET)
从HTTP服务器下载AssetBundle(GET)

从HTTP服务器检索纹理(GET)

要从远程服务器检索Texture文件,您可以使用 UnityWebRequest.Texture. 这个函数非常类似于 UnityWebRequest.GET,但为了高效下载和存储纹理进行了优化。

此函数接受一个单字符串参数。该字符串指定了您要下载用于作为Texture使用的图像文件的URL。

详细信息

  • 此函数创建一个 UnityWebRequest 并将目标URL设置为字符串参数。此函数不设置其他标志或自定义头。
  • 此函数将 DownloadHandlerTexture 对象附加到 UnityWebRequest。DownloadHandlerTexture 是一个专门的下载数据处理程序,它针对将用于Unity引擎中作为Texture的图像进行了优化。使用此类与手动下载原始字节并在脚本中创建Texture相比,可以显着减少内存重新分配。
  • 默认情况下,此函数不附加上传处理程序。如果需要,您可以手动添加。

示例

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;
        }
    }
}

或者,您可以使用辅助getter来实现GetTexture

    IEnumerator GetTexture() {
        UnityWebRequest www = UnityWebRequestTexture.GetTexture("https://www.my-server.com/image.png");
        yield return www.SendWebRequest();

        Texture myTexture = DownloadHandlerTexture.GetContent(www);
    }
从HTTP服务器检索文本或二进制数据(GET)
从HTTP服务器下载AssetBundle(GET)