Unity | Video Player的使用方法和原理

讲解逻辑为Unity | 基础逻辑_菌菌巧乐兹的博客-CSDN博客

一、把素材仓库里的视频放进Game界面

1.我们需要在素材仓库中放一个视频(其他文件夹不用管,我只是懒得删了)

2.在Unity里建一个能接收视频的地方VideoPlayer

备注:视频和图片是不一样的,图片到这一步组合一下就能用,但是视频不行。因为Unity里不支持直接播放视频,它只能播放动态的Texture。

3.我们来看一下VideoPlayer身上带的组件

这里因为unity自己也知道,自己没办法直接播放视频,所以它这里让你可以填两个东西,上面是你想播放的视频,下面让你填一个空的texture,之后,它会自己把视频印到Texture上,所以这个组件并不是真的用来播放视频的,而是用来转换的。

4.所以我们需要建一个新的Texture来接收这个视频(在这个界面右键→ Creat→可以找到RenderTexture)

把这个拖到刚才VideoPlayer上应该在的位置

此时此刻,我们就成功把视频印到这个新建的Texture身上了

5.我们需要建一个播放Texture的东西

unity播放Texture的物体叫RawImage

 把你的Texture拖进去

 这样就可以播放视频了

二、大小控制

因为这个视频是印到Texture身上,所以我们想改视频的大小,就必须改Texture的大小

 因为这个texture是用RawImage播放的,所以我们也需要改rawImage的大小(这步略)

三、VideoPlayer组件常用部分

 四、常用方法

控制视频,我们还是通过VideoPlayer控制

所以我们先建一个脚本,写一行代码

public VideoPlayer videoPlayer;

在外面把这个物体拖进来

 然后就可以简单使用了,下面是常用方法

videoPlayer.Play();  //开始
videoPlayer.Stop();  //停止
videoPlayer.Pause(); //暂停
videoPlayer.Prepare(); // 播放引擎准备(提高开始播放时的速度)
videoPlayer.targetTexture.Release(); //重播时,不出现之前结束时的画面

videoPlayer.started += "方法名"                 //每次播放后立刻启动方法
videoPlayer.loopPointReached += "方法名"        //每次到结尾,都会自己启动这个方法
videoPlayer.time = 5;                           //视频的时间调到第五秒

 上面有方法名的示例代码:

    videoPlayer.loopPointReached += FalseGameObject;
    void FalseGameObject(VideoPlayer videoPlayer) {
        gameObject.SetActive(false);
    }

方法的括号里必须要带 VideoPlayer哦,后面那个小写的是名字,可以自己起不要紧。

五、相关内容

Unity | 如何使用webm透明视频_菌菌巧乐兹的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_49427945/article/details/127495078