天天看點

Unity3D之視訊播放

      近日接到公司通知,對公司想學Unity3D遊戲引擎的同仁進行專業教育訓練,老大就挑了一些項目中時常用到的知識點,分給我和另一個主程備課,定時進行教育訓練,然後就有了現在的這篇文章了,有不足的地方還請大家指正,先謝謝啦!

      本節講解的是Unity3D中的視訊播放功能:

      在Unity3D中播放視訊有兩種方式:一中是在GUI上直接播放,另一種是以GameObject為載體播放。

一、GUI上直接播放視訊的方式:

有腳本如下:GuiPlay.cs

public class GuiPlay : MonoBehaviour {
public MovieTexture g_MTMov;
void Start () {
        //設定音頻
        audio.clip = g_MTMov.audioClip;
	}
 void OnGUI()
    {
        //繪制電影紋理
        GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), g_MTMov, ScaleMode.StretchToFill); 
        if(GUILayout.Button("Play"))
        {
            if(!g_MTMov.isPlaying)
            {
                g_MTMov.Play();
                audio.Play();
            }
        }
        if (GUILayout.Button("Pause"))
        {
            if (g_MTMov.isPlaying)
            {
                g_MTMov.Pause();
                audio.Pause();
            }
        }
        if (GUILayout.Button("Stop"))
        {
            if (g_MTMov.isPlaying)
            {
                g_MTMov.Stop();
                audio.Stop();
            }
        }
    }
}
           

把此腳本直接拖到MainCamera上,然後拖入視訊,如下圖:

Unity3D之視訊播放

二、以GameObject為載體播放視訊

修改GuiPlay.cs代碼

public class GuiPlay : MonoBehaviour {
public MovieTexture g_MTMov;
void Start () {
//在對象中播放時設¦置材質¨
        this.renderer.material.mainTexture = g_MTMov;
        //設定音頻
        audio.clip = g_MTMov.audioClip;
	}
 void OnGUI()
    {
        if(GUILayout.Button("Play"))
        {
            if(!g_MTMov.isPlaying)
            {
                g_MTMov.Play();
                audio.Play();
            }
        }
        if (GUILayout.Button("Pause"))
        {
            if (g_MTMov.isPlaying)
            {
                g_MTMov.Pause();
                audio.Pause();
            }
        }
        if (GUILayout.Button("Stop"))
        {
            if (g_MTMov.isPlaying)
            {
                g_MTMov.Stop();
                audio.Stop();
            }
        }
    }
}
           

把此腳本直接拖到GameObject上,然後拖入視訊,如下圖:

Unity3D之視訊播放

三、注意事項:

1,Unity3D支援的視訊格式有:.mov、.mpg、.mpeg、.mp4、.avi和.asf。

可以用格式工場轉換視訊。

2,Unity3D解碼報錯,如下圖:

Unity3D之視訊播放

PC需要安裝QuickTime,安裝後重新開機電腦。

3,視訊聲音控制

需要添加AudioSource元件和AudioListener元件。

在控制視訊播放時同時控制音頻即可。

我的Unity3D 是4.3.3版本。

以上就是全部内容了,

如果我寫的能幫到你,我将感到很開心,有不足的地方也請指出,我是  “破破”,謝謝!

繼續閱讀