Unity_视频背景
生活随笔
收集整理的這篇文章主要介紹了
Unity_视频背景
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建一個Canvas畫布
?在畫布中創建一個RawImage原始圖像
調整rawImage的尺寸大小鋪滿屏幕,然后新建腳本文件:
using System.Collections; using System.Collections.Generic; using UnityEngine;using UnityEngine.Video; using UnityEngine.UI;[RequireComponent(typeof(VideoPlayer))] //掛載后會自動把VideoPlayer組件添加到game objectpublic class VideoPlay : MonoBehaviour {private VideoPlayer videoPlayer;//聲明視頻播放器組件public VideoClip 視頻源;//聲明視頻資源private RawImage rawImage;//聲明原始圖像/*===注意:使用RawImage時,將使用每個存在的RawImage創建一個額外的繪制調用,因此最好只將其用于背景或臨時可見的圖形===*///私有變量暴露到編輯器[SerializeField][Range(0f, 1f)] public float 淡入速度 = 1f;//播放速度private void Awake(){videoPlayer = this.GetComponent<VideoPlayer>();//獲取視頻播放器組件rawImage = this.GetComponent<RawImage>();//獲取原始圖像組件}void Start(){videoPlayer.isLooping = true;//循環播放,如果只播放一次設置為falsevideoPlayer.clip = 視頻源;//視頻源}void Update(){//只播放一次則取消注釋/*if (videoPlayer.texture == null){如果videoPlayer沒有對應的視頻texture,即視頻播放結束,則返回return;}*///把VideoPlayerd的視頻渲染到UGUI的RawImagerawImage.texture = videoPlayer.texture;//RawImage可以顯示任何紋理,而Image組件只能顯示Sprite紋理||videoPlayer.texture:視頻內容的內部紋理(只讀)VideoFade();}//一個淡入的效果,感覺并沒有什么卵用public void VideoFade(){videoPlayer.Play();//開始播放rawImage.color = Color.Lerp(rawImage.color, Color.white, 淡入速度 * Time.deltaTime);/** Color: RGBA顏色表示形式,用于傳遞顏色。 每個顏色分量都是0到1范圍內的浮點值。分量(r,g,b)定義RGB顏色空間中的顏色。Alpha分量(a)定義透明度 ,alpha為1表示完全不透明,alpha為0表示完全透明* Lerp: 在參數1顏色與參數2顏色之間按參數3進行線性插值, 參數3限制在0與1之間。當參數3為0時返回參數3,當參數3為1時返回 /參數3/* Color.white:純白色。RGBA 為 (1, 1, 1, 1)* Time.deltaTime: 從最后一個幀到當前幀的間隔,以秒為單位(只讀)。OnGUI不可靠,因為每個幀可能會多次調用它*/} }把腳本文件拖到rawImage上掛載,會自動生成VideoPlayer視頻播放器組件
把視頻資源拖到對應欄位
?運行:
*作為背景時,需要浮動于上層的按鈕等元素可以新建一個畫布進行繪制避免遮擋
總結
以上是生活随笔為你收集整理的Unity_视频背景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java图片压缩大小,图片缩放
- 下一篇: 前端模板——家乡风景的介绍