偶然发现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的参数即可