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

}

猜你喜欢

转载自blog.csdn.net/qq_34272906/article/details/80219727
今日推荐