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

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

要从远程服务器检索纹理文件,您可以使用UnityWebRequestTexture.GetTexture.这个函数与UnityWebRequest.Get,但针对高效下载和存储纹理进行了优化。

UnityWebRequestTexture.GetTexture接受字符串或Uri对象作为参数,指定要下载并用作纹理的图像文件的 URL。此外,它可能需要DownloadedTextureParams作为第二个参数,允许您更好地控制将要创建的纹理。

  • 此函数创建了一个UnityWebRequest并将目标 URL 设置为字符串参数。此函数不设置其他标志或自定义标头。
  • 此函数附加一个DownloadHandlerTextureobject 添加到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.GetContent(www);
        }
    }
}
从 HTTP 服务器 (GET) 检索文本或二进制数据
从 HTTP 服务器 (GET) 下载 AssetBundle