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

 

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