2016年10月20日 星期四

Unreal: Playing Videos

since: 2016/10/20
update: 2017/03/05

reference:
1. Playing Videos in a Level | Unreal Engine


Unreal 版本: 4.13


A. 新增專案
    1. 新增一個 BlankBlueprint 專案

    2. 在 Content BrowserContent 目錄下, 新增 MapsMovies 資料夾

    3. 將目前的關卡地圖, 存到 Maps 資料夾下(預設名稱: NewMap)

    4. 設定專案的 "編輯起始地圖" 與 "遊戲預設地圖"


    5. 加入影片素材
         a. 下載 Unreal 提供的範例影片: Sample Video (檔名: SampleVideo.mp4)
       
         b. 將影片放入 Movies 資料夾內: (以確保影片檔能正確被封裝)

-----------------------------------------------------------------------------------------------

B. 專案內容新增 "多媒體檔"
     1. 點選 Content > Movies 資料夾:
         Add New > Media > File Media Source

     2. 取名為: myVideoFile

     3. 點二下 myVideoFile ,  將 File Path 設為之前加入的影片檔

-----------------------------------------------------------------------------------------------

C. 專案內容新增 "媒體播放"
     1. 點選 Content > Movies 資料夾:
         Add New > Media > Media Player

     2. 勾選:
         Audio output SoundWave asset
         Video output MediaTexture asset
          > OK

     3. 取名為: myMediaPlayer, 結果:

     4. 點二下 myMediaPlayer, 再點二下最下方的影片素材,
         檢查右下方的 Sound WaveVideo Texture 設定.

-----------------------------------------------------------------------------------------------

D. 新增一個 Static Mesh 來作為播放影片的地方
      1. Place > Basic > Cube
          > 利用 Translate (W), Rotation (E) and Scale (R), 來調整大小形狀與位置


      2. 按 Ctrl (或 Shift), 將 Sound WaveMedia Texture assets 皆選取,
          並拖放到剛剛新增的 Static Mesh 上.

-----------------------------------------------------------------------------------------------

E. Level Blueprint
     1. 開啟 Level Blueprint

     2. 新增一個 Media Player Reference 的變數: (取名為 MediaPlayer)

     3. 確認變數型別為: MediaPlayer, 並設定好預設的 Media Player

     4. 將 MediaPlayr 變數拖拉(Ctrl 鍵?)到 Event Graph 裡, 新增 Open Source Node,
         並設定其 Media Source (在此為: myVideoFile)

     5. 編譯執行:

-----------------------------------------------------------------------------------------------

F. 改變播放速率(目前只在 Mac 上有效)
     1. 開啟 MyMediaPlayer, 取消勾選右下方的: Play on Open (不然不會改變播放率)

     2. 開啟 Level Blueprint, 新增 Float 變數: myRateSetRate 節點, 連結如下:

     3. 說明:
         只有 Rate1.0(影片的正常播放速率)才會有聲音, 太快或太慢都不會有聲音.

-----------------------------------------------------------------------------------------------
    4. 正解: (UE 4.13 ~ UE 4.15)
        Q: How to set Play Rate in Media Player on Windows?
             It seems works only on Mac, not Windows.

        A: The first thing you need to do is make sure that you call the Open Source Node
            before the Set Rate Node. Secondly, there is a known issue with the Media Player
            in UE4 where it doesn't like receiving multiple commands "simultaneously."
            So you will need to add a Delay Node between the Open Source Node
            and Set Rate Node. It might depend on the machine, but for me, the Delay
            must be a minimum of 0.2 seconds for this to work.


            a. Static Set Rate:

                Level Blueprint:

                Result:

            b. Timeline Set Rate:

                Timeline:

                Level Blueprint:

                Result:

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。