(1)首先需要添加组件“VideoPlayer”
source为视频来源,URL为视频路径。
(2)通过脚本控制视频播放,在Quad上挂载
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; using VRTK; using System.IO; public class GameItem : MonoBehaviour { public int Index; private VideoPlayer m_VideoPlayer; private void Awake() { m_VideoPlayer = GetComponent<VideoPlayer>(); GameObject.Find("ControllerRight").GetComponent<VRTK_ControllerEvents>().TouchpadReleased += GameItem_TouchpadReleased; GameObject.Find("ControllerLeft").GetComponent<VRTK_ControllerEvents>().TouchpadReleased += GameItem_TouchpadReleased; } private void Update() { if (Index == GameItemSelect._Instance.Index) { GetComponent<MeshCollider>().enabled = true; GetComponent<MeshRenderer>().material.color = Color.white; }else { GetComponent<MeshCollider>().enabled = false; GetComponent<MeshRenderer>().material.color = Color.gray; } } /// <summary> /// 圆盘按钮抬起 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GameItem_TouchpadReleased(object sender, ControllerInteractionEventArgs e) { m_VideoPlayer.Pause(); } /// <summary> /// 设置视频名称 /// </summary> /// <param name="videoName"></param> public void SetVideoName(string videoName) { m_VideoPlayer.url = GetVideoPath(videoName); } /// <summary> /// 获取视频路径 /// </summary> /// <param name="videoName"></param> /// <returns></returns> private string GetVideoPath(string videoName) { return Application.dataPath + "/StreamingAssets/" + videoName + ".mp4"; } private void OnTriggerEnter(Collider other) { if (File.Exists(m_VideoPlayer.url) == false) return; m_VideoPlayer.Play(); } private void OnTriggerExit(Collider other) { m_VideoPlayer.Pause(); } }