(UE4)Media frameworkの概要:機能説明_1

2 min read読了の目安(約2600字

Media frameworkとは

Unreal Engineで作成したゲーム内に、映像メディアを配置して再生する方法です。
Media Playerアセット内で再生、ポーズ、巻き戻しをしたり、それらの調整をブループリントで行うこともできます。
映像再生をプレイヤーが調節できる様に、UMGでUIを作成することも可能です。

そのために、Media Sourceを指定して、エンジンがメディアアセットを探せる様にする必要があります。


⚪︎メディアソースの種類

映像を再生させる為には、ソースの定義が必要です。そこで使うのが、Media Sourceアセットです。プロジェクトの一部としてファイルがインクルード[1]されているものや、ウェブサイトからストリーミングしたり、プラットフォーム固有のメディアを使用する場合に、このアセットを作成する事が前提になります。
スクリーンショット 2021-02-03 19.01.55.png
プロジェクトを開き、Add newまたはコンテンツブラウザの左クリックでMediaから使用したいソースタイプを選択してMedia Sourceを追加します。

・File Media Source

このアセットは、デバイスまたは共有ローカルネットワークファイル上のメディアファイルを持ち込む為に使用します。[File Path]欄に、メディアファイルの格納場所を指定する事でメディアを呼び出せます。
(基本的には、メディアをプロジェクトディレクトエリの[Content]>[Movies]に移行してから指定するのが好ましい使用方法です。)

・Image(Img) Media Source

デバイス上の画像シーケンスを再生する際に使われます。連番画像対象で、画像を正しい順番で追加させる為に連続した名前(MyImage01.exr や MyImage_01.exr など)をつける必要があります。
*公式でImg Media Sourceの使用ガイドが公開されています。

・Stream Media Source

URLをソースとして、ウェブ上のメディアをストリーミングさせる為のアセットです。
*YouTubeとDailyMotion形式のURLへのリンクには対応されておらず、ホストのファイルに直接リンクさせる必要があるそうです。

・Platform Media Source

メディアのソースを上書きするアセットです。特定の映像を他のデバイスで再生する場合に、どのプラットフォームでどの映像を再生するか、[Media Sources]セクションで指定します。
こちらも公式ガイドがあります。

・Media Playlist

これは複数のMedia Sourceを扱い、順番にプレイすることができるアセットです。作成したMedia Sourceアセットを追加し、順番を指定すれば各アセットが自動的に再生されます。
スクリーンショット 2021-02-03 19.00.45.png
Detailsから+をクリックして、作成したメディアソースを追加します。

*バージョン4.18.1では、[Loop]オプションはプレイリストをループしません。Media PlayerアセットのLoopオプションを選択すれば、Playlistをループすることができます。

・Media Sound

映像と関連したオーディオを再生させるためのアセットです。Media Soundコンポーネントを作成した後、連携させたいメディアのBP、アクターに追加する事で使用できます。

・Media Texture

Media Playerアセットから映像をレンダリングする際に使用します。
これを使って、テクスチャ化されたメディアをレベル内のメッシュに適用する事で、ワールド内のオブジェクトに映像が投影されている様な再現ができます。
使用の際には、メディアが参照しているMedia PlayerをDetailsで定義させる必要があります。

・Media Player

今までのMedia SourceやMedia Playlistを再生させるには、このアセットを使います。
Media Textureを使って映像再生とMedia Soundコンポーネントを作成し、映像とオーディオが関連付いたメディアを作成します。
スクリーンショット 2021-02-03 18.55.41.png
作成時に、「アセットをこのMediaPlayerにリンクさせる」ウィンドウが出てくるので、チェックをつける事でこのアセットに関連したMedia Textureの作成および割り当てが自動的に行われます。


参照:公式ドキュメント

脚注
  1. 他のファイルに書かれている内容を取り込むこと ↩︎