Unity image 加载外部图片
时间: 2024-03-13 16:47:28 浏览: 19
在Unity中,可以使用以下代码来加载外部图片:
```csharp
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class LoadExternalImage : MonoBehaviour
{
public string imageUrl; // 图片的URL
public Image image; // UI Image组件
void Start()
{
StartCoroutine(LoadImageCoroutine(imageUrl));
}
// 加载图片协程
IEnumerator LoadImageCoroutine(string url)
{
using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(url))
{
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
// 读取下载的图片,转换成Texture2D
Texture2D texture = DownloadHandlerTexture.GetContent(request);
// 将Texture2D转换成Sprite,赋值给Image组件显示
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
image.sprite = sprite;
}
else
{
Debug.LogError("Load image failed: " + request.error);
}
}
}
}
```
使用时,将脚本挂载到场景中的一个GameObject上,将要加载的外部图片的URL赋值给imageUrl变量,将要显示图片的Image组件赋值给image变量即可。在运行时,脚本会自动下载指定URL的图片,并将其转换成Sprite,赋值给Image组件。注意,在下载图片时需要使用协程,否则会阻塞主线程。