using UnityEngine; using UnityEngine.Video; namespace Unity.VRTemplate { /// /// Create a RenderTexture for rendering video to a target renderer. /// [RequireComponent(typeof(VideoPlayer))] public class VideoPlayerRenderTexture : MonoBehaviour { const string k_ShaderName = "Unlit/Texture"; [SerializeField] [Tooltip("The target Renderer which will display the video.")] Renderer m_Renderer; [SerializeField] [Tooltip("The width of the RenderTexture which will be created.")] int m_RenderTextureWidth = 1920; [SerializeField] [Tooltip("The height of the RenderTexture which will be created.")] int m_RenderTextureHeight = 1080; [SerializeField] [Tooltip("The bit depth of the depth channel for the RenderTexture which will be created.")] int m_RenderTextureDepth; void Start() { var renderTexture = new RenderTexture(m_RenderTextureWidth, m_RenderTextureHeight, m_RenderTextureDepth); renderTexture.Create(); var material = new Material(Shader.Find(k_ShaderName)); material.mainTexture = renderTexture; GetComponent().targetTexture = renderTexture; m_Renderer.material = material; } } }