Unity加載網絡圖片和視頻

加載網絡圖片要用到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();
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章