兩種 方式需要的前期准備時間較長,后兩種 方式前期不需要准備只需要添加一個Unity內置的腳本,其中各有優劣
前兩種性能消耗較低
后兩種性能消耗較高
前兩種需要的時間較長
后兩種需要的時間較短
(1).第一種方式:
http://dl.pconline.com.cn/download/460355.html
解壓上面的文件,然后將要進行轉換的 視頻文件拖拽到打開的軟件里面去:
然后在Unity場景中創建一個腳本(如下):
public class TestUseless : MonoBehaviour { ///電影紋理 public MovieTexture movTexture; void Start() { //設置電影紋理播放模式為循環 movTexture.loop = true; } void OnGUI() { // 基於GUI播放視頻 GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), movTexture, ScaleMode.StretchToFill); if (GUILayout.Button("播放/繼續")) { //播放/繼續播放視頻 if (!movTexture.isPlaying) { movTexture.Play(); } } if (GUILayout.Button("暫停播放")) { //暫停播放 movTexture.Pause(); } if (GUILayout.Button("停止播放")) { //停止播放 movTexture.Stop(); } } }
然后將其掛在一個Unity中的GameObject物體上(如下圖):
然后將上面進行轉換的視頻拖拽到Unity工程中去(如下圖):
選中將其的視頻格式改為:
然后將上面轉換后的視頻拖拽進去
就能夠實現視頻的播放了,但是視頻中缺少聲音,所以我們就需要往GameObject物體身上添加一個AudioSource組件,然后將剛才進行轉換的視頻下面的聲音拖拽進去,(就完成了第一種方法的創建)
(2).第二種方式:
按照第一種創建.org視頻的方式首先創建出一個視頻:
然后在工程中創建一個腳本和一個刮油Mesh Renderer組件的Plan面板
public class PlayVideoSctips : MonoBehaviour { //電影紋理 public MovieTexture movTexture; void Start() { //設置當前對象的主紋理為電影紋理 transform.GetComponent<MeshRenderer>().material.mainTexture = movTexture; //設置電影紋理播放模式為循環 movTexture.loop = true; } void OnGUI() { if (GUILayout.Button("播放/繼續")) { //播放/繼續播放視頻 if (!movTexture.isPlaying) { movTexture.Play(); } } if (GUILayout.Button("暫停播放")) { //暫停播放 movTexture.Pause(); } if (GUILayout.Button("停止播放")) { //停止播放 movTexture.Stop(); } } }
然后按照如圖方式,進行添加:(這樣就完成了第二種方式)
(3).第三種方式:
(這種方式能夠識別任何類型的視頻,這種方式相對消耗的性能較高(推測))
首先創建一個空物體,在上面添加腳本
需要注意的是往自身身上添加AudioSource不會產生效果 需要的操作是:
然后將其添加到腳本中去!!!!!!
(4).第四種方式:
這種方式能夠固定相應的大小進行設置,這種方式你可以設置播放的屏幕的大小
1.首先創建出一個RenderTexture
2.然后創建一個空物體,往其中添加腳本,往其中添加入相應的物體:
注意點:其中關於AudioSource的創建方式,必須如第三種情況一樣進行創建
3.然后創建一個UI的RawImage組件,像其中添加相應的物體
這樣控制RawImage的大小就能控制播放視頻的大小
以上就是Unity添加視頻的四種方式,大家可以選擇自己喜歡的方式和特定的情況進行選擇,希望能幫助到大家,大家有不懂得或者我錯的,歡迎在下方評論區進行評論,大家一起學習,謝謝!!!!!