I am Charmie

メモとログ

Unreal Engine 4: Media Framework

Unreal Engine 4で動画を再生する方法についてメモ.
公式ドキュメントのMedia Frameworkを参照.

以下の2種類が提供されている.ゲーム中で動画を再生する場合はMedia Frameworkと考えれば良いのかな.
- Startup Movie Player: エンジンロード中の起動動画のみ再生可能
‐ Media Framework: エンジンロード中の起動動画とゲーム中の動画の両方を再生可能

読む前より理解は深まったけど,実際に試してみないとダメだと思う.何か思ったより複雑.

Media Frameworkとは?
UE4内で動画を再生するために複数のアセットを組み合わせたもの.これもアセットなのかな?

Steo 1: Media Sourceの追加
Add New > Media > 適したソース (File Media Source,Img Media Source, Stream Media Sourceなど)

まず初めに,UE4がメディアアセットを探せるようにするため,Media Sourceを指定する.
映像(動画に限定しない)を利用するには,そのソースを定義する必要があるから.既にプロジェクトに含まれているファイルであったり,ウェブサイトからストリーミングする動画などと,ソースタイプを指定しなければいけない.

File Media Sourceアセット: メディアファイル用アセット.ローカルPCやネットワークPC上に格納されたファイルが対象.File Pathにファイルのパスを指定.
Img (Image) Media Sourceアセット: 画像シーケンスの再生用アセット.連番画像が対象なのかな.UE4がシーケンスの残りの画像を発見できるようなファイル名にする必要がある(MyImage01.exr, MyImage_01.exr).連番はゼロ埋めしなければいけないか否かは知らん.
Stream Media Sourceアセット: ウェブからストリーミングするファイルの再生用アセット.ホストのファイルに直接リンクを貼る必要があるため,YouTubeのURLを直貼りしてもダメみたい.
Media Playlistアセット: 複数のMedia Sourcesを順番に再生するためのアセット.複数のMedia Sourceアセットを追加することで,指定した順番にアセットを再生する.
Media Soundコンポーネント: 音楽を聴くためのコンポーネント.メディアを再生するブループリントもしくはアクタにMedia Soundコンポーネントを追加し,そのあとで追加したMedia SoundコンポーネントをMedia Playerアセットに追加する.
Media Textureアセット: Media Playerアセットからビデオトラックをレンダリングする時に使用.参照しているMedia playerのDetailパネルで参照しているMedia Playerを定義する必要がある.
Media Playerアセット: Media > Add NewでコンテンツブラウザにMdeia Playerアセットを作成できる.Media SourceもしくはMedia Playlistを再生するためのアセット.

Step 2 プレイ
前ステップでMedia Sourceへのリンク付けが完了しているので,ゲーム中にメディアを再生できる.
1. Media Player型の変数を作成し,変数のデフォルト値を使用するMedia Playerへの参照に設定
2. 参照を定義することで,Media Sourceの種類に応じてOpen関数の呼び出しが可能になる