[RequireComponent(typeof(VideoPlayer))]
public class BackgroundVideo : MonoBehaviour
{
private VideoPlayer _videoPlayer;
public VideoClip video;
private RawImage _rawImage;
[SerializeField]
[Range(0f, 1f)] public float fadeSpeed = 1f;
private void Awake()
{
//获取Canvas对应的组件
_videoPlayer = GetComponent<VideoPlayer>();
_rawImage = GetComponent<RawImage>();
}
void Start()
{
//视频循环播放
_videoPlayer.isLooping = false;
_videoPlayer.clip = video;
}
void Update()
{
//如果videoPlayer没有对应的视频texture,则返回
if (_videoPlayer.texture == null)
{
return;
}
//把VideoPlayer的视频渲染到UGUI的RawImage
_rawImage.texture = _videoPlayer.texture;
VideoFade();
}
//一个淡入的效果
private void VideoFade()
{
_videoPlayer.Play();
_rawImage.color = Color.Lerp(_rawImage.color, Color.white,fadeSpeed*Time.deltaTime);
}
}
unity背景视频循环播放
最新推荐文章于 2025-03-08 23:18:10 发布