unity中video player组件的使用(视频的淡入淡出效果实现)

偶然发现video player组件 感觉和AudioSource组件比较相似

1.video Player组件

在这里插入图片描述在这里插入图片描述
上边是中英文组件的对比 其中的Alpha是一个0-1的值 可以实现淡入淡出效果

2.实现暂停,播放等效果

在这实现一下空格控制暂停视频 开始播放视频的效果

 	private VideoPlayer player;
    public bool isPause = false;//检测暂停bool值
    private void Start()
    {
        player=GetComponent<VideoPlayer>();//手动获取组件
    }
    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.Space))//检测空格暂停视频
        {
            isPause = !isPause;
        }
        if (isPause)
        {
            player.Pause();
        }
        if (!isPause)
        {
            player.Play();
        }
    }

这些用法和AudioSource很像很像 如果接触过AudioSource的话 很好理解
然后在unity中给摄像机挂上带有上边代码的脚本
然后给其添加video player组件
导入视频 把它拖到veido Clip上
然后就可以运行 实现空格控制暂停与播放

3.实现视频淡入淡出效果

这个效果利用上边的 Alpha来控制
我们在运行的时候 可以手动滑动控制Alpha的值
可以观察到视频的渲染效果
然后就用脚本控制 Alpha的值随时间变大变小即可


    public float DisappearSpeed=0.1;//设定淡入淡出的速度
    private void Update()
    {
        player.targetCameraAlpha = 1 - Time.time*DisappearSpeed;//实现视频淡出效果
        if (player.targetCameraAlpha <= 0)
        {
            player.targetCameraAlpha = 0;//设置最小值
        }
    }

如果不设定DisappearSpeed(速度)仅仅一秒就淡出了

4.利用协程实现视频的延迟消失

自我感觉在小游戏的开发中 前面的广告片段都可以用这种方法实现

private IEnumerator MoveCancel()//10s后视频停止播放
    {
        yield return new WaitForSeconds(10f);
        player.Stop();
    }

在Start函数中调用即可

5.视频的声音

在上面实现后我们会很奇怪为什么视频播放没有声音的

下面添加下声音 在Camera(video player在的摄像机)上添加一个AudioSource组件
然后给video player 上边的 AudioSource赋值 即可
如果想要控制视频中声音的参数 海子街修改AudioSource的参数即可

发布了52 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44302602/article/details/103091291