1. 程式人生 > >Unity HTC vive VR環境中視訊播放的實現與互動

Unity HTC vive VR環境中視訊播放的實現與互動


視訊材質的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 ();
		}
	}

}