プラットフォームに特化したメディアをプレイする方法

プラットフォーム メディア ソース アセットを使ってプラットフォーム特化メディアのプレイ方法を説明します。

コンテンツ

マルチ プラットフォーム プロジェクトを使用している時に、使用しているプラットフォームに特化したメディアをプレイしたい場合があります。 例えば、PlayStation 4 (PS4) を使う時にはある特定の動画をプレイし、Xbox One の時は別の特定の動画をプレイする場合です。 あるいは、メディアのタイプは同じであっても、パフォーマンスの都合によりエンコード方法が異なるため、これらの異なるフォーマットを別のプラットフォームでプレイする場合です。

Platform Media Source アセットを使って、実行中のプラットフォームに応じでプレイするメディア ソース アセットを決定することができます。 Platform Media Source アセットを開く / プレイすると、それを実行しているプラットフォームを確認し、自動的にメディア ソースが割り当てられます。

この操作ガイドでは、Platform Media Source アセットを作成し、Android と Windows の 2 種類のプラットフォームにそれぞれ異なるメディア ソースを割り当てます。

00-hero-image_ue5.png

ステップ

この操作ガイドでは Starter Content Enabled (スターター コンテンツを有効にした状態)Blueprint Third Person Template プロジェクトを使います。 また、サンプル動画も 2 種類使用します。こちらの プラットフォーム動画 リンクをクリックして、コンテンツを端末上に展開してください。

  1. [コンテンツ ブラウザ][Sources Panel] を展開し 「Movies」 という名前で新規フォルダを追加したら右クリックして [Show in Explorer] を選択します。

    01-show-in-explorer_ue5.png

  2. サンプル動画または使用したいメディア ファイルをプロジェクトの 「Content/Movies」 フォルダにドラッグします。

    02-video-in-folder_ue5.png

    プロジェクトあるいは他のメディア ファイルをパッケージ化およびデプロイするためには、プロジェクトの 「Content/Movies」 フォルダ内にメディアを置く必要があります。

  3. プロジェクトの [コンテンツ ブラウザ]「Content/Movies」 フォルダを右クリックして、[Media][File Media Source] を選択し [Android_Movie] と名前を付けます。 03-file-media-source_ue5.png

    ここで、Android デバイスで実行している場合に Platform Media Source アセットが指定および使用可能な Media Source アセットを作成します。

  4. File Media Source アセットをもう 1 つ作成して 「Windows_Movie」 と名前を付けます。

    04-file-media-android-windows_ue5.png

  5. [Android_Movie] メディア ソースを開き、[File Path][Gideon_720x480] (または使用したい動画) を選択して [Open] をクリックします。

    05-open-gideon-video_ue5.png

    この Android の動画には Android デバイスでの再生に適している .3GP 動画ファイルを使用しています ( Windows の動画であれば .MP4 が適しています)。

  6. [Android_Movie] メディア ソースを開き、[File Path][Infiltrator Demo] (または使用したい動画) を選択して [Open] をクリックします。

  7. 「Content/Movies」 フォルダを右クリックして [Media] から [Platform Media Source] を選択して [Platform_Source] と名前を付けます。

    06-platform-media-source_ue5.png

    これでメディア ソース アセットが複数になったので、Platform Media Source アセットを使っている時にどちらのメディア ソースをプレイするか定義可能になりました。

  8. [Platform_Source] を開き、[Android] から [Android_Movie] を、そして [Windows] からは [Windows_Movie] をそれぞれ選択します。

    07-media-sources-android_ue5.png

    今は 2 つの異なるサンプルを使用しましたが、同じ動画を、使用するデバイスに適したエンコード方法あるいはフォーマットに変更した場合も使用できます。 例えば、異なるメディア ソース タイプを Windows で使う場合は Media Stream を使えば、ディスク上のファイルを使用する代わりにウェブからコンテンツを取り出すことができます。

  9. 「Content/Movies」 フォルダを右クリックして [Media] から [Media Player] を選択します。

    08-media-player_ue5.png

    この場合も、Platform Media Source アセットをプレイするには [Media Player] を開かなければなりません。

  10. [Create Media Player] ウィンドウで [Video output Media Texture asset] オプションを有効にして [OK] ボタンをクリックして、[Media Player] アセットを呼び出します。

    09-video-output-asset_ue5.png

    すると、こマテリアル で使用できる、このメディア プレイヤーと紐づいた Media Texture が自動作成されます。 このマテリアルを選んで、コンテンツのプレイ先となるレベル内のメッシュにマテリアルを適用します。

  11. [Media Player] アセットの [Media Library] ウィンドウの [Platform_Media] アセットをダブルクリックします。

    10-video-media-player_ue5.png

    [Platform_Source] アセットをダブルクリックすると (実行中のプラットフォームは Windows なので).Windows に対して割り当てたプラットフォーム メディア ソースの再生が開始します。 ブループリントあるいは C++ から [Android_Movie] メディア ソースを開いて再生ができますが[Platform_Source] を開いた場合は Windows に割り当てたメディアソースのみが再生されます。 さらに [Play on Open] オプションを使うと、デフォルトでメディア ソースを開いた時にメディア プレイヤーが再生を開始することができます。

  12. メイン エディタ ウィンドウの [Modes] パネルの [Basic] から、[Plane] をレベルへドラッグし、好きなサイズに変更し、MediaPlayer_Video テクスチャをその上にドラッグします。

    11-add-media-player_ue5.png

    Media Texture アセットをレベルのスタティックメッシュ上にドラッグすると、マテリアルが作成および適用され、メディアを再生します。

    Electra Media Player でテクスチャ サンプルまたはテクスチャ オブジェクトを使用している場合は、Sampler TypeColor に設定します。

    12-samler-type-color_ue5.png

  13. [Plane] を選択した状態で [Details] パネルから [Media Sound] コンポーネントを追加し、[Media Player] オプションで使用するアセットを [MediaPlayer] に設定します。

    13-connect-media-player_ue5.png

  14. メイン ツールバーで [Blueprints] オプションをクリックし [Open Level Blueprint] を選択します。

    14-open-level-blueprint_ue5.png

  15. [MyBlueprint] パネルで 「Media Player Object Reference」 という型の 「MediaPlayer」 という変数を作成し、メディア プレイヤー として [MyPlayer] に割り当てます。

    15-media-player-compile_ue5.png

    すると、Media Player アセットへの参照が作成され、後にブループリントでの使用してアクションの呼び出しが可能になります。

    変数の デフォルト値 を設定するには、まず [Compile] をクリックしてブループリントをコンパイルします。

  16. [Ctrl] を押しながら [MediaPlayer] 変数をグラフへドラッグしたら、1 キーボード イベントを追加して Platform_Source を指定する Open Source ノードへ接続します。

    16-blueprint-keybord_ue5.png

    ここでは、実行先のプラットフォームに応じて別の Media Source アセットを開くように設定されているMedia Player に Platform Media Source アセットを開くように伝えています。

  17. Level ブループリント を終了して、[Play] ボタンをクリックしてエディタで再生します。

最終結果

エディタでプレイする場合、 1 キーを押すと Windows で定義されたメディア ソースがプラットフォーム メディア ソース中で開きます。

このプロジェクトを Android デバイスにデプロイする場合は、Android を割り当てた Media Source アセットがプレイされます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル