Unity HTC vive VR環境中視訊播放的實現與互動
阿新 • • 發佈:2019-01-30
視訊材質的shader結構。
藉助unity的shader中的Unlit/Texture,將ogv格式的視訊,繫結到提到的這種shader的材質球上,通過指令碼控制互動。
Canvas面板
Canvas下新建pannel作為視訊的播放介質。
將綁定了目標視訊的材質球繫結到image屬性裡面。並且為了控制其互動,為其新增button元件,當button觸發時,繫結指令碼中的自定義函式。
函式中聲明瞭image屬性的moviePanel視訊播放面板,MovieTexture格式的視訊。
通過(MovieTexture)moviePanel.material.mainTexture方法,獲取到材質中繫結的目的視訊。將其存入變數中。
函式中定義,如果視訊正在播放時,將其暫停;如果在暫停時,恢復播放。
這樣就實現了在VR環境中基本的視訊播放,互動功能。
在自定義函式中,可以根據需求更改互動方式。以及可以不選用button的互動方式,通過其他trigger進行更復雜的互動。
程式碼:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MoviePanel : MonoBehaviour { public Image moviePanel; public MovieTexture movie; void Start() { movie = (MovieTexture)moviePanel.material.mainTexture; } public void PlayOrPause(){ if (movie.isPlaying) { movie.Pause (); } else { movie.Play (); } } }