I am Charmie

メモとログ

Unreal Engine 4: Media Playerで動画再生

全然スマートじゃないけどMedia Playerで動画を再生できた.
銃を持っているのが気になるけど,1人称視点のテンプレートについてきただけ.手順も思ったほど複雑じゃない.


手順1 動画を読み込む
Content Browserを使って再生したい動画ファイルを読み込む.
Content Browser > Contentを選択.動画ファイルを格納するフォルダを新しく作成.
今回はStereo Ego Motion Datasetの4本の動画を読み込んでみた.

手順2 Media Playerアセットを作成
Content Browser > Add New > Media > Media Playerを選択.
「Video out Media Texture asset」というチェックボックスにチェックを入れる.
理由はよくわからないけどMedia Textureアセットを自動で作る所がポイントなのかな.
作成したMedia PlayerアセットをダブルクリックするとMedia Playerウィンドウが開く.
以下のように,再生可能なメディアが列挙され,再生もできちゃう.

手順3 BluePrintでMedia Playerの挙動を設定
ビューポートから今展開しているLevelのブループリントを開く.

左側のBlueprintウィンドウのVariablesの+記号をクリックして,新しい変数を追加.
Variable TypeをMedia Player (Object Reference) にする.
この時点で一度(レベルかBluePrintを)コンパイルしなければいけない.
BluePrintをSaveしたらコンパイルもされたみたいだけど,コンパイルだけする方法は分からない.後で調べる.

コンパイルが終わったら,先ほど作成した変数のデフォルト値を作成したMedia Playerアセットに設定する.


左側のBluePrintウィンドウから変数をドラッグ&ドロップすると「Get ...」と「Set ...」という2種類の選択肢が出てくる.
Getの方を選択するとBluePrint上にNodeが作成される.

Nodeの右側から線を引っ張るとNodeなどの選択画面が出てくるので,Open Sourceノードを選択.
自動的に変数がOpen SourceノードのTarget端子に接続される.

Open SourceノードのMedia Sourceをクリックし,My Playerに設定した動画を選択する.

Open Sourceの左上の端子から左に線を引っ張って,Event BeginPlayノードを追加.このノードを接続すると,ゲームが実行された直後からメディアが再生される.

手順4 再生するオブジェクトを作成
StarterContentのShape_Planeをビューポート内に設置.
位置やサイズは何でも良い.
設置したShape_PlaneにMedia Textureアセットをドラッグ&ドロップするとマテリアルが作成される.
これで終わり.
ゲームを実行すると動画が再生される平面が見える.