uri | 要下载的图像的 URI。 |
nonReadable | 如果为 true,则脚本无法访问纹理的原始数据。这可以节省内存。默认值:false 。 |
UnityWebRequest 一个配置正确以下载图像并将其转换为 Texture 的 UnityWebRequest。
创建一个用于通过 HTTP GET 下载图像并基于检索到的数据创建 Texture 的 UnityWebRequest。
此方法创建一个 UnityWebRequest 并将目标 URL 设置为字符串 uri
参数。此方法不设置任何其他标志或自定义标头。
此方法将 DownloadHandlerTexture 对象附加到 UnityWebRequest。 DownloadHandlerTexture 是一个专门的 DownloadHandler,它针对存储用作 Unity 引擎中纹理的图像进行了优化。与下载原始字节并在脚本中手动创建纹理相比,使用此类可以显着减少内存重新分配。此外,纹理转换将在工作线程上执行。
此方法不将任何 UploadHandler 附加到 UnityWebRequest。
请注意,纹理将被创建为存储颜色数据(其他资源:TextureImporter.sRGBTexture)。
注意:仅支持 JPG 和 PNG 格式。
using UnityEngine; using UnityEngine.Networking; using System.Collections;
public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png")) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }
uri | 要下载的图像的 URI。 |
parameters | 指定将要创建的纹理的各种属性的参数。 |
UnityWebRequest 一个配置正确以下载图像并将其转换为 Texture 的 UnityWebRequest。
创建一个用于通过 HTTP GET 下载图像并基于检索到的数据创建 Texture 的 UnityWebRequest。
与仅使用 uri
参数的重载相同,只是它允许对将要创建的纹理的属性进行更多控制。例如,使用此重载,您可以禁用创建 mipmaps 或使用线性颜色空间。
using System.Collections; using UnityEngine; using UnityEngine.Networking;
public class NewMonoBehaviourScript : MonoBehaviour { void Start() { StartCoroutine(GetText()); }
IEnumerator GetText() { // Use linear color space and reduce memory usage by disabling mipmaps and ability to read pixels var parameters = DownloadedTextureParams.Default; parameters.readable = false; parameters.mipmapChain = false; parameters.linearColorSpace = true; using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("https://www.my-server.com/myimage.png", parameters)) { yield return uwr.SendWebRequest();
if (uwr.result != UnityWebRequest.Result.Success) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var texture = DownloadHandlerTexture.GetContent(uwr); } } } }