Language:
Page Info
Skill Level:
Engine Version:

2 - メディア テクスチャとマテリアルの設定

前のステップでは、コンテンツをインポートし、このガイドで使用するアセットのいくつかを作成しました。次は、映像の再生に使用するマテリアルを作成してみます。マテリアル にメディア テクスチャを組みんで、コンテンツがテレビ画面に正しく収める作業が必要になります。

ステップ

  1. 「TV」 フォルダの M_TV_Inst マテリアルを開き M_TV_Inst ノードの Base Color ピンにアタッチされている Vector Parameter ノードを削除します。

  2. グラフを右クリックし、Texture Sample ノードを追加します。[Details] パネルで、[Sampler Type][External] に設定します。

    TVMaterial_01.png

    Texture Object Parameter を使って入力するので、[Texture] 入力フィールドは空の状態にしておきます。こうしておくと、どの Media Texture をブループリントを使ってサンプリングするのかオーバーライドすることができるようになります。 [Sampler Type] 入力フィールドで Media Textures を [External] に設定します。映像の再生とデコードが最適化されて効率が良くなります。

  3. グラフ内を右クリックして Param Tex Object ノードを追加し**Texture Sample ノードの Tex** ピンに接続します。

  4. Param Tex Object ノードで、TV_TextureParameter Name として使い、[Texture] 入力フィールドに [MediaPlayer_01_Video] を設定します。

    TVMaterial_02.png

    [Texture] 入力フィールドで Media Texture の使用を設定すると、[Sampler Type] 入力フィールドが自動的に [External] に変わります。

  5. グラフを右クリックして TexCoord ノードを追加したら、Texture SampleUVs ピンに接続します。[VTiling] プロパティを [2.0] に設定します。

    TVMaterial_03.png

    TexCoord に使われている値は、このマテリアルを適用しようとするメッシュによって変わります。数回試した結果、この例の場合はこの値が適切であることが分かりました。

  6. 右クリックして別の Texture Sample ノードを追加し、 [Texture] プロパティを [T_TV_M2] テクスチャに設定します。

    TVMaterial_04.png

  7. 追加した Texture Sample チャンネルを引き出し、LinearInterpolate ノードを使って Alpha チャネルに接続します。

    TVMaterial_05.png

    このテクスチャを使ってテレビ画面をメッシュの他の部分から分離させて、映像を画面だけに適用させることができます。

  8. 1 キーを押して左クリックして定数ノードを追加し、Lerp ノードの B ピンに接続して、残りのノードを以下のように接続します。

    TVMaterial_06.png

最終結果

TV Material が設定されて映像をプレイする準備が整いました。SM_TV スタティックメッシュを開くと、画面が白くなっています。

TVMaterial_07.png

1 度 Media Player アセットを開いて映像をプレイすれば、SM_TV スタティックメッシュを再度開いた時にテレビで映像がプレイされます。

TVMaterial_08.png

テレビがエディタ内でコンテンツをプレイしている間、レベル内でこのスタティックメッシュをリリースしゲームをプレイすると、コンテンツはランタイム時にテレビでプレイされません。 次のステップでは、コンテンツにランタイム時に開いて再生を開始するよう指示します。 その前にまず、プレイヤーがボタンを押してテレビのオンオフができるようにブループリントを設定する必要があります。 その前にまず、レベル デザイナーにエディタ内でテレビに表示されるコンテンツも指定できるようにします。