unity3d实现视频播放

来源:互联网 发布:默沙东临床数据管理员 编辑:程序博客网 时间:2024/06/05 20:34

    我相信大家玩过的RPG游戏很多都带有剧情播放的环节,开场视频或者退场视频都对一个游戏有承上启下的作用。例如我最近玩的仙剑奇侠传6国产大作,这剧情当中就嵌入了许多动画的播放(虽然被很多人喷的日风二次元动漫)。RPG游戏吗,讲究的就是剧情吗,而一段剧情视频能更加丰富游戏的感染力!好了,废话不说。

      首先我们要了解Unity3D的视频格式,只有ogv的一种视频格式可以用。而网上ogv的视频不多,所以这时候我们要借助一个转码神器——Theora Converter .NET,你百度就有了。双击打开(我这不是废话吗),Add添加视频,把quality调到10,开始转码,把转码完成的ogv视频放在工程文件夹里!


        然后我们开始写代码吧!创建一个C#命名为Movie的脚本。


     写好脚本之后,在场景中创建一个Cube吧,把代码给它,再给它添加一个Audio Source组件。然后把视频拖拽到脚本面板中,把音频拖拽到Audio Source组件中。我们运行看看效果!(我承认我是个仙剑死忠)


     看完我的博客我相信大家都已经对剧情中的视频播放已经有了眉目。好简单,我们把OnGUI里绘制GUI的语句删掉,留下GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),mMovie);这行即可,然后我们只需要在特定的剧情触发中调用到这个代码即可,怎样调用呢?

public Movie movie;//先定义

movie=Cube.GetComponent<Movie>();//在Start函数中初始化

movie.mMovie.Play();//在特定的函数中调用到播放

movie.enable=false;//播放完就把代码关掉就好