Unreal Engine 4 (UE4) でメディア アセットで作業している時に、一連のビデオを特定の順番でプレイしたい、または特定のビデオシリーズのビデオにプレイヤーのアクセスを許可するには、 予め定義した順序が割り当てられた Media Source アセットを示す Media Playlist アセットを使って行います。
この操作ガイドでは、Media Playlist の作成およびプレイヤーに各アセットを順番にプレイ、もしくはプレイヤーがキーを押してプレイリスト内の特定のビデオにアクセス可能にします。

ステップ
ここでは Starter Content Enabled (スターター コンテンツを有効にした状態) で Blueprint Third Person Template プロジェクトを使います。 また、プレイリストではサンプル動画も 3 種類使用します。こちらの サンプル ビデオ リンクをクリックして、コンテンツを端末上に展開してください。
-
[コンテンツ ブラウザ] の Sources Panel を展開し 「Movies」 という名前で新規フォルダを追加したら右クリックして [Show in Explorer] を選択します。
ビデオ ファイルをプロジェクトでパッケージ化およびデプロイするために、ビデオは常にプロジェクトの 「Content/Movies」 フォルダに置かれている状態にしておく必要があります。
-
サンプル ビデオまたは使用したいメディア ファイルをプロジェクトの 「Content/Movides」 フォルダにドラッグします。
-
プロジェクトで 「Content/Movies」 フォルダを右クリックして [Media] から [File Media Source] を選択します。
-
File Media Source アセットを 3 つ作成します (それぞれに Video_01、Video_02、Video_03 と名前を付けます。
-
Video_01 内で File Path は Gideon_720x480 ファイル (または使用したいビデオ ファイル) を参照して [Open] ボタンをクリックします。
-
前のステップを繰り返して Video_02 アセットと Video_03 アセットにもビデオを割り当てます。
-
Media Texture と紐づけて MediaPlayer という MediaPlayer を作成し、MediaPlayer アセットを開きます。
Media Library ウィンドウ内のビデオをダブルクリックして、選択ファイルをプレイします。
さらに、[Details] パネルのオプションを有効にすることで、プレイリストのビデオの再生順序を Shuffle するようにプレイヤーを設定することも可能です。 [Loop] オプションはプレイリスト全体の再生 (Media Playlist にソースが 1 つしかない場合はひとつのソースだけ) をループします。 また、Media Player は [Play on Open] する設定になっています。つまり、この Media Player に紐づいているこの Media Source を開くと、自動的にプレイが開始します。
[Playlist] ウィンドウで新規のプレイリスト アセットを保存することも可能ですが、4.18 の段階ではメディア エディタ内でプレイリストにアイテムを追加する方法はありません。
-
[コンテンツ ブラウザ] の 「Content/Movies」 フォルダを右クリックして、[Media] で [Media Playlist] を選択し [MyPlaylist] と名前を付けます。
-
MyPlaylist アセットを開き、[Media Library] ウィンドウでビデオをダブルクリックし、それぞれをプレイリストに追加します。
[+] ボタンで新規アイテムをプレイリストおよびドロップダウンに追加し、ドロップダウン メニューで追加する Media Source の種類を選択することができます。 [Playlist] ウィンドウで、プレイリストへのアイテムの挿入、複製、削除を行うことができます。また、左クリックしながら行をドラッグすると再生順序の変更が可能になります。 [Media Playlist] ウィンドウの上部には、プレイリスト全体をループするための [Loop] オプションがあります。
-
メイン エディタ ウィンドウの [Place Actors] パネルの [Basic] タブから [Plane] をレベルにドラッグし、Transform ツール でサイズを変更します。
Transform ツール を使って、このスタティックメッシュ上でビデオがプレイされるように、プレーンを自由に移動 (W key)、回転 (E key)、スケール (R key) することができます。
-
コンテンツ ブラウザ から、MediaPlayer_Video Media Texture アセットをレベルの中の Plane 上にドラッグして新規マテリアルを作成および適用します。
Media Texture アセットをレベルのスタティックメッシュ上にドラッグすると、マテリアル が自動的に作成およびメッシュに適用されて、ビデオのプレイが可能になります。
-
レベルでその Plane を選択した状態で [Details] パネルの [Add Component] ボタンをクリックして Media Sound コンポーネントを探して追加します。
Media Sound コンポーネントを使って、オーディオを Media Player と紐づけることができます。ビデオでオーディオも一緒にをプレイする方法を提供します。
-
Media Sound コンポーネントを選択し、[Media] セクションで Media Player アセットを割り当てます。
-
メイン ツールバー で [Blueprints] ボタンをクリックして、 Open Level ブループリント を選択します。
メディア エディタでビデオをプレイしながら、ゲームプレイ中にプレイするために、プレイリストを開いてプレイを開始できるようにする必要があります。
-
MyBlueprint ウィンドウで、Media Player Reference 型の MediaPlayer という Variable を作成し、[Default Value] を Media Player アセットに設定します。
Default Value を設定するために、ブループリントを コンパイル する必要があります。
-
グラフの中で 1 キーボード イベントを追加して Ctrl を押しながら MediaPlayer 変数をグラフへドラッグします。
-
MediaPlayer 変数を引き出して Open Playlist Index (In Playlist を MyPlaylist に設定) を使って 1 keyboard event の Pressed に接続します。

プレイヤーが 1 キーボード イベントを押すと、プレイリストの最初のビデオでプレイリストが開いてプレイが始まります。 インデックスは、Media Playlist アセット (下図) 内で指定したプレイリストのインデックス順序を参照し、プレイリストの最初のビデオが 0 となるゼロベースとなります。 Open Playlist Index ノードを使って、インデックス値を入力すれば、プレイリストを使って開くファイルを指定することができます。

-
右クリックして 2 および 3 キーボード イベントを右クリックして Index 1 と Index 2 の Open Playlist Index にそれぞれを追加します。
この設定により、1 を押すとプレイリストの最初のファイルが開き、2 を押すと 2 番目、3 は 3 番目のファイルが開きます。
-
右クリックして追加して Previous および Next ノードを呼び出すために Left および Right キーボード イベント、0 を Open Playlist に追加します。
Previous および Next ノードはそれぞれプレイリストの中で前のビデオおよび次のビデオへジャンプします。一方 Open Playlist ノードはプレイリストがインデックス 0 で開いた時 (あるいはプレイリストの開始時) に同じ機能を実行します。 これらのノードを使うと、Left および Right 矢印キーボード キーでプレイリストを循環し、0 キーでプレイリストを最初から開くことができます。
-
Level ブループリント を終了して、[Play] ボタンをクリックしてエディタで再生します。
最終結果
エディタで再生する場合、1、2、3、0 キーを押すと、指定したインデックスで再生を開始します (適用する場合)。
ビデオが終了すると、プレイリストの次のビデオへ自動的にジャンプします。Loop を有効にすると、プレイリストの最後のビデオのプレイが終った時にプレイリストの最初に戻ります。 ビデオのプレイ中、Left あるいは Right 矢印キーを押してプレイリストの前または次のビデオにジャンプします。または 1、2、3 キーを押すとプレイリストのビデオへ直接ジャンプします。