如需从远程服务器检索纹理文件,可以使用 UnityWebRequestTexture.GetTexture
。此函数类似于 UnityWebRequest.Get
,但经过优化,可高效下载和存储纹理。
UnityWebRequestTexture.GetTexture
使用一个字符串或 Uri
对象作为自变量,该对象指定要下载并用作纹理的图像文件的 URL。此外,该函数还可以使用一个 DownloadedTextureParams
作为第二个参数,让你能够更好地控制所创建的纹理。
UnityWebRequest
,并将目标 URL 设置为字符串自变量。此函数不设置其他标志或自定义标头。DownloadHandlerTexture
对象附加到 UnityWebRequest
。DownloadHandlerTexture 是一个专门针对存储图像(在 Unity 引擎中用作纹理)进行了优化的 Download 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);
}
}
}