UE4學習筆記:如何在場景中播放視頻

       UE4的媒體框架(https://docs.unrealengine.com/en-US/Engine/MediaFramework/index.html)可用於播放本地視頻、視頻流以及圖片序列。可以利用這些功能實現在場景中播放視頻,例如在場景中有一個電視機模型,可以通過按鍵交互控制電視畫面的播放、暫停以及關閉。
      以播放單個視頻爲例,需要的資源有:
       1、視頻文件:將MediaPlayer支持的視頻格式文件放到Content/Movies目錄下
       2、視頻源:FileMediaSource或者StreamMediaSource,本地視頻就是視頻文件路徑,視頻流就是URL(官方Demo:https://docs.unrealengine.com/Attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4)
       3、視頻播放器:MediaPlayer,可用於播放視頻源
       4、視頻幀貼圖:MediaTexture,MediaPlayer只能用於播放視頻源,不能顯示在場景中,但是可以將視頻幀渲染到MediaTexture中,再通過MediaTexture創建材質賦予模型
       5、視頻幀材質:Material,將MediaTexture作爲紋理貼圖,從而顯示到模型表面
       

       下面是具體的實現步驟。
       將Demo.mp4文件放到Content/Movies目錄下,Movies目錄下的媒體文件在打包之後會一起復制到打包目錄下,如果在其他目錄要額外設置。
       創建一個FileMediaSource,命名爲VideoSource

       FilePath引用到Demo.mp4

       創建MediaPlayer,命名爲VideoPlayer

       創建MediaPlayer時會彈出對話框,對話框中勾選Video output Media Texture asset項可以同時創建對應的MediaTexture,如果未勾選也可以自行創建

       雙擊打開VideoPlayer,在左下角能看到所有的MediaSource列表,雙擊任何一個就可以播放該視頻,在右下角的Details面板有一些設置項,可將鼠標懸停查看說明

       創建MediaTexture,命名爲TVTexture,如果上面已經創建直接重命名就可以了

       打開TVTexture,將MediaPlayer屬性值引用到VideoPlayer

       在內容瀏覽器中TVTexture資源上右鍵CreateMaterial創建材質,命名爲TVMaterial

       打開關卡藍圖,創建一個MediaPlayer類型的變量,默認值設置爲上面創建的VideoPlayer

       在關卡藍圖中添加空格按鍵鍵事件,藍圖代碼如下

       OpenSource用於打開視頻源,在Play之前至少調用一次,停止播放的函數爲Close,還可以增加一個關閉視頻功能

       在關卡中加入一個平面作爲視頻播放屏幕(電視機屏幕),調整位置大小和方向,完成以上步驟後運行,按下空格鍵控制視頻的播放和暫停,退格鍵關閉視頻

       MediaPlayer還有很多其他的函數用於控制視頻的播放

播放視頻流和圖片序列等媒體文件與上面的步驟類似,可參考官方文檔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章