文档

Unity Engine

Unity Engine

Unity Web Request Retrieving Texture

Download and store a texture efficiently from a remote server using UnityWebRequestTexture.GetTexture.
阅读时间2 分钟最后更新于 1 个月前

要从远程服务器检索纹理文件,可以使用
UnityWebRequestTexture.GetTexture
。此函数非常类似于
UnityWebRequest.Get
,但进行了优化,可高效下载和存储纹理。
UnityWebRequestTexture.GetTexture
将字符串或
Uri
对象作为参数,指定要下载和用作纹理的图像文件的 URL。此外,还可以将
DownloadedTextureParams
作为第二个参数,从而更好地控制将要创建的纹理。

详细信息

  • 此函数将创建
    UnityWebRequest
    并将目标 URL 设置为字符串参数。此函数不会设置任何其他标志或自定义标头。
  • 此函数将
    DownloadHandlerTexture
    对象附加到
    UnityWebRequest
    。DownloadHandlerTexture 是一个进行了优化的专用下载处理程序,用于存储要在 Unity 引擎中用作纹理的图像。与下载原始字节并在脚本中手动创建纹理相比,使用此类可显著减少内存重新分配。
  • 默认情况下,此函数不会附加上传处理程序。如果需要,可以手动添加。

示例

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); } }}