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

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

如需从远程服务器检索纹理文件,可以使用 UnityWebRequestTexture.GetTexture。此函数类似于 UnityWebRequest.Get,但经过优化,可高效下载和存储纹理。

UnityWebRequestTexture.GetTexture 使用一个字符串或 Uri 对象作为自变量,该对象指定要下载并用作纹理的图像文件的 URL。此外,该函数还可以使用一个 DownloadedTextureParams 作为第二个参数,让你能够更好地控制所创建的纹理。

详细信息

  • 此函数创建一个 UnityWebRequest,并将目标 URL 设置为字符串自变量。此函数不设置其他标志或自定义标头。
  • 此函数将一个 DownloadHandlerTexture 对象附加到 UnityWebRequest。DownloadHandlerTexture 是一个专门针对存储图像(在 Unity 引擎中用作纹理)进行了优化的 Download Handler。与手动下载原始字节并在脚本中创建纹理相比,使用此类极大地减少了内存重新分配。
  • 默认情况下,此函数不会附加一个 Upload Handler。如果希望,你可以手动添加一个。

示例

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