uri | 要下载的图像的 URI。 |
nonReadable | 如果为 true,脚本将无法访问纹理的原始数据。这可以节省内存。默认值:false 。 |
UnityWebRequest 经适当配置以下载图像并将其转换为 Texture 的 UnityWebRequest。
创建 UnityWebRequest 以通过 HTTP GET 下载图像,并基于检索的数据创建 Texture。
此方法将创建 UnityWebRequest 并将目标 URL 设置为字符串 uri
参数。此方法不会设置任何其他标志或自定义标头。
此方法将一个 DownloadHandlerTexture 对象附加到 UnityWebRequest。DownloadHandlerTexture 是一个经过优化的专用 DownloadHandler,用于存储要在 Unity 引擎中用作纹理的图像。与下载原始字节并在脚本中手动创建纹理相比,使用此类可显著降低内存重新分配。此外,纹理转换将在工作线程上执行。
此方法不会附加 UploadHandler 到 UnityWebRequest。
请注意,创建纹理就像它存储颜色数据一样(另请参阅: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("http://www.my-server.com/myimage.png")) { yield return uwr.SendWebRequest();
if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }