版本: Unity 6 (6000.0)
语言English
  • C#

UnityWebRequestTexture.GetTexture

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static Networking.UnityWebRequest GetTexture(string uri);

声明

public static Networking.UnityWebRequest GetTexture(Uri uri);

声明

public static Networking.UnityWebRequest GetTexture(string uri, bool nonReadable);

声明

public static Networking.UnityWebRequest GetTexture(Uri uri, bool nonReadable);

参数

uri 要下载的图像的 URI。
nonReadable 如果为 true,则脚本无法访问纹理的原始数据。这可以节省内存。默认值:false

返回值

UnityWebRequest 一个配置正确以下载图像并将其转换为 TextureUnityWebRequest

描述

创建一个用于通过 HTTP GET 下载图像并基于检索到的数据创建 TextureUnityWebRequest

此方法创建一个 UnityWebRequest 并将目标 URL 设置为字符串 uri 参数。此方法不设置任何其他标志或自定义标头。

此方法将 DownloadHandlerTexture 对象附加到 UnityWebRequestDownloadHandlerTexture 是一个专门的 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); } } } }

声明

public static Networking.UnityWebRequest GetTexture(string uri, Networking.DownloadedTextureParams parameters);

声明

public static Networking.UnityWebRequest GetTexture(Uri uri, Networking.DownloadedTextureParams parameters);

参数

uri 要下载的图像的 URI。
parameters 指定将要创建的纹理的各种属性的参数。

返回值

UnityWebRequest 一个配置正确以下载图像并将其转换为 TextureUnityWebRequest

描述

创建一个用于通过 HTTP GET 下载图像并基于检索到的数据创建 TextureUnityWebRequest

与仅使用 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); } } } }