加載網絡圖片要用到UnityWebRequest類下的方法,訪問圖片的URL地址之後,再將獲取的內容轉換爲對應的格式賦值即可。將圖片用3D平面顯示和用UI的圖像顯示,只在轉換格式和賦值的時候有區別。
/// <summary>
/// 加載圖片
/// </summary>
/// <returns></returns>
IEnumerator LoadImage()
{
using (UnityWebRequest webRequest = new UnityWebRequest())
{
//設置URL
webRequest.url = inputField.text;
//設置訪問方式
webRequest.method = UnityWebRequest.kHttpVerbGET;
//設置下載類型
webRequest.downloadHandler = new DownloadHandlerTexture();
//協程等待
yield return webRequest.SendWebRequest();
if (webRequest.isNetworkError || webRequest.isHttpError)
{
Debug.Log(webRequest.error);
}
else
{
//將圖片加載到3D平面
plane.GetComponent<Renderer>().material.mainTexture =
DownloadHandlerTexture.GetContent(webRequest);
//將圖片加載到UI圖片
Texture2D texture2D =
DownloadHandlerTexture.GetContent(webRequest);
image.sprite = Sprite.Create(
texture2D,
new Rect(0, 0, texture2D.width, texture2D.height),
new Vector2(0.5f, 0.5f));
}
}
加載網絡視頻,這裏指的只是短小的視頻內容,不是視頻網站的視頻流的那種,是簡單的一個可以下載的視頻文件。
VideoPlayer組件加載網絡視頻很簡單,直接賦值即可。
/// <summary>
/// 加載視頻
/// </summary>
public void LoadVideo()
{
videoPlayer.url = inputField.text;
videoPlayer.Play();
}