レベル内でビデオをプレイするには、Media Framework ツールと Media Source アセットを使わなければなりません。レベル内の TV 上でプレイする場合、UI の一部としてのバックグラウンドでプレイする場合、または全画面でプレイする場合でも必要になります。 Media Source アセットにはさまざまな種類がある一方で、デバイス (たとえばコンピュータ、電話、コンソール) 上に Unreal Engine 5 (UE5) でプレイしたいビデオ ファイルを格納している時は File Media Source アセットが使用されます。
この操作ガイドでは、Media Source アセットを使ってレベル内のスタティックメッシュ上でビデオをプレイします。

ステップ
ここでは Starter Content Enabled (スターター コンテンツを有効にした状態) で Blueprint Third Person Template プロジェクトを使います。 再生するコンピュータ上に サポートされているビデオ ファイル がいくつか必要です。自分のビデオを使用できます。ビデオがない場合は、チュートリアル用の サンプル ビデオ を右クリックでダウンロードすることができます。
-
[コンテンツ ブラウザ] の [Sources Panel] を展開したら、[Content] に 「Movies」 という名前のフォルダを作成します。
プロジェクトの 「Content/Movies」 フォルダ内に使用するメディア ファイルを置くと、メディアが確実にプロジェクトで正しくパッケージ化されます
-
「Movies」 フォルダを 右クリック して [Show in Explorer (エクスプローラーで表示)] を選択します。
-
使用するビデオ ファイルをプロジェクトの 「Content/Movies」 フォルダにドラッグします。
ビデオ コンテンツをプロジェクトでパッケージ化およびデプロイするために、コンテンツは常にプロジェクトの 「Content/Movies」 フォルダに置かれている状態にしておく必要があります。
-
プロジェクト内の 「Movies」 フォルダを 右クリック して、[Media] の [File Media Source] を選択し、SampleVideo というアセットを呼び出します。
-
File Media Source アセットの File Path の [...] ボタンをクリックして、コンピューター上にあるサンプ ビデオを指定します。
Click image to expand.
-
「Movies」 フォルダを右クリックして [Media] から [Media Player] を選択します。
-
[Create Media Player] ウィンドウで [Video output Media Texture asset] オプションを有効にして [OK] ボタンをクリックします。
すると、 Media Texture アセットが作成され、作成中の Media Player に自動的に割り当てます。Media Texture はメディア コンテンツの再生を行い、これを使ってレベル内のスタティックメッシュへの割り当てが可能な Material を作成することができます (本ページのもう少し後の方で出てきます)。
-
Media Player と Media Texture asset にそれぞれ 「MyPlayer」 と 「MyPlayer_Video」 と名前を付けてから MyPlayer Media Player アセットを開きます。
Click image to expand.
-
[Media Library] セクションの SampleVideo をダブルクリックします。
Click image to expand.
[Media Library] セクションで File Media Source アセットをダブルクリックすると、ビデオの再生が始まります。これは、[Details] パネルの [Playback] セクションの [Play on Open] オプションが有効にされているからです。 このオプションにチェックが付いていると、Media Source アセットが開く時は必ず自動再生が始まるので、プレイの開始を明示的に指示する必要はありません。
もう少し後のステップになりますが、メディア エディタ内でビデオが再生されている間に、ゲームのプレイ中にファイルのプレイが開始するように、ゲーム中に Media Source アセットを開くように ブループリント ビジュアル スクリプティング を使ってメディア プレイヤーに指示する必要があります。
-
メイン エディタの [Place Actors] パネルの [Basic] タグから[Plane] をレベルにドラッグし、Transform ツールを使って自由にサイズ変更および配置します。
Click image to expand.
レベルでその Plane を選択した状態で、Transform ツール を使ってメッシュを Translate (W)、Rotate (E)、Scale (R) して、好きな外観に調整します。
-
MyPlayer_Video Media Texture アセットをレベルの Plane 上にドラッグして Material を自動作成および割り当てをします。
Click image to expand.
Media Texture をレベルのスタティックメッシュ上にドラッグすると、コンテンツ ブラウザ 内に自動的に新規マテリアルが自動作成され、レベルのメッシュに適用されます。
-
レベルでその Plane を選択した状態で [Details] パネルの [Add Component] ボタンをクリックして Media Sound を探して追加します。
Media Sound コンポーネントを使って、ビデオと一緒に再生するオーディオを定義します。
-
[Details] パネルで新しい Media Sound コンポーネントを [Media] セクションから選択し [Media Player] を MyPlayer を使う設定にします。
Click image to expand.
ここで Media Sound コンポーネントを Media Player アセットに関連付けて、オーディオの抽出元が分かるようにします。
-
メインツールバーの [Blueprints] ボタンをクリックして [Open Level Blueprint] を選択します。
Level Blueprint を使って Media Player に File Media Source アセットをゲームプレイの開始時に開いてレベルでゲームが開始されるように設定します。
-
Media Player Reference 型の MediaPlayer という Variable を追加し、[Default Value] を MyPlayer に設定します。
Click image to expand.
Default Value を定義するために、[Compile] ボタンの作成が必要な場合があります。
-
Ctrl キーを押しながら MediaPlayer をグラフにドラッグし、グラフを右クリックして Event Begin Play ノードを検索して追加します。
Click image to expand.
ゲームプレイの開始を知らせるためのノードと Media Player アセットへの参照ができました。あとは、プレイヤーに Media Source を開く指示を出すだけです。
-
Media Player ノードをクリックして引き出し Open Source 機能の Media Source を SampleVideo に設定して Event Begin Play に接続します。
Click image to expand.
-
Level ブループリント を終了して、[Play in Editor] ボタンをクリックします。
最終結果
エディタで再生した場合、スタティックメッシュ上でビデオがプレイを開始します。
Media Player アセットはデフォルトで [Play on Open] に設定されているため、Open Source 関数を呼び出すとビデオが自動的に開始されます。 一時停止、巻き戻り、ビデオの停止など Media Player アセットに発行できるコマンドは他にもあります。プレイが開始されると Media Player Reference を引き出す時に、Media Player セクションに表示されます。
この例では、プロジェクトの 「Content/Movies」 フォルダ内にメディア コンテンツを置くようにしました。このフォルダはコンテンツをパッケージ化 / デプロイ処理の一部としてコンテンツを自動的に含む唯一のフォルダなので、プロジェクトをパッケージ化する場合は推奨します (必須ではありません)。 File Media Source アセットをこの場所以外のフォルダに指定してもメディアはプレイされますが、たとえばモバイル デバイスにデプロイすると、コンテンツはデプロイメントの一部として含まれなくなります。