然后将一个视频文件拖入到Project视图中,系统会自动自动生成对应的电影纹理。
又侧位视频文件的属性面版。创建一个c#脚本,命名为movie1。编写代码如下,public class movie1 : MonoBehaviour { //定义一个电影纹理 public MovieTexture MOV1; // Use this for initialization void Start () { //设置主纹理为电影纹理 renderer.material.mainTexture=MOV1; MOV1.Play(); } // Update is called once per frame void Update () { }}将代码拖放到我们新建的面片上:
然后将我们的视频文件拖放到我们的脚本变量MOV1上:
运行游戏。发现视频开始播放。如果我们导入视频是带有声音的,会发现声音并没有播放,下面就看下怎么把声音加上呢。首先我们要给我们的物体添加一个音频组件,
下面有两种方法来的到这个声音,1:将视屏文件下的音频文件拖入
将Play On Awake勾掉。然后打开刚才的脚本,在Start()函数中加入以下代码。audio.Play();方法2:用脚本读取音频文件,音频组件添加完成后。打开脚本文件。在Start()函数中加入以下代码。:audio.clip=MOV1.audioClip;audio.Play();运行游戏,视频和音频也会同步播放。我们现在可以播放了,下面看下怎么暂停和停止视频播放。在脚本movie1中添加如下代码void OnGUI(){ if(GUILayout.Button("play")) { if(!MOV1.isPlaying) { //播放音频和视频 MOV1.Play(); audio.Play(); } } if(GUILayout.Button("pause")) { //暂停音频和视频 MOV1.Pause(); audio.Pause(); } if(GUILayout.Button("stop")) { //停止音频和视频 MOV1.Stop(); audio.Stop(); } }运行游戏。得到如图所示画面。
点击play、pause、stop按钮,视频开始播放,暂停,和停止。下面我们来看第二种方法,怎么在中添加电影纹理。首先将plane的
勾取消,这样plane将不在被渲染,代码也不在执行。这样做是为了不和我们下面做的效果重合。然后新建一个c#脚本,命名为movGUI。然后在movGUI脚本中编写如下代码:public class movGUI : MonoBehaviour { public MovieTexture MOV1; void Start () { //设置纹理循环播放 audio.clip=MOV1.audioClip; MOV1.loop=***e; } void OnGUI() { //绘制电影纹理 GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),MOV1,ScaleMode.StretchToFill); if(GUILayout.Button("play")) { if(!MOV1.isPlaying) { //播放音频和视频 MOV1.Play(); audio.Play(); } } if(GUILayout.Button("pause")) { //暂停音频和视频 MOV1.Pause(); audio.Pause(); } if(GUILayout.Button("stop")) { //停止音频和视频 MOV1.Stop(); audio.Stop(); } } }然后新建一个GameObject,将脚本添加到GameObject上面。在将视屏文件拖到变量MOV1上面。
最后不要忘了给GameObject游戏物体添加一个音频组件,不然回去报错。都添加完成后,运行游戏。
点击play、pause、stop按钮,视频开始播放,暂停,和停止。 | 欢迎光临 纳金网 (http://go.narkii.com/club/) | Powered by Discuz! X2.5 |