ゲームプレイのイベントとデータに基づいて更新される、変化するマテリアルを含む動的 UI を作成します。 UI を動的にするには、UI マテリアル、View Bindings、さらに 3 つの Set Material Parameter 変換関数 (Set Texture、Scalar、および Vector Parameter) を組み合わせて使用する必要があります。
Unreal Editor for Fortnite (UEFN) では、多数のパラメータを含む基本マテリアルが提供されています。 Tracker の仕掛け を使用すると、敵の撃破の進行状況に応じて動的に更新されるマテリアルの例として、プログレス バー形式のウィジェットで撃破数を追跡できます。
マテリアル インスタンスを作成する
マテリアル インスタンスの詳細については、Unreal Engine ドキュメントの「 マテリアル インスタンスを作成して使用する 」を参照してください。
これらのマテリアル インスタンスの作成に使用されるアセットはすべて、UEFN でネイティブに入手できます。 この例のマテリアルを作成する方法については、 メーター マテリアル を マテリアル チュートリアル セクションで参照してください。
M_Tracker の マテリアル インスタンス を作成して、「MI_TrackerExample」という名前を付けます。
新しい マテリアル インスタンス で、好みに応じて IconScaleX と IconScaleY を変更します。 この例のマテリアルは、それぞれ 0.7 に設定されています。
アイコンは、「Fortnite」フォルダ ([Textures] > [Icons]) にあります。
トラッカー ウィジェットを設定する
トラッカーの仕掛けで参照できるカスタム トラッカー ウィジェットを UMG で作成し、カスタム撃破 UI でプレイヤーの撃破数を追跡します。
コンテンツ ブラウザ 内で右クリックし、[User Interface (ユーザー インターフェース)] > [Widget Blueprint (ウィジェット ブループリント)] > [User Widget (ユーザー ウィジェット)] を選択します。
次の例のように、トラッカーのマテリアルとトラッカーのタイトルを表示する、シンプルなトラッカー ウィジェットを作成します。
Overlay を widgetgraph にドラッグします。 この方法で、ウィジェットを構成するすべての要素を積み重ねます。 このウィジェットを画面のどこに表示するか決定することもできます。
Stack Box を Overlay 内にネストし、Tracker のマテリアル とタイトルを左右方向に配置できるようにします。
Overlay を Stack Box 内にネストし、Tracker のマテリアル を作成してシンプルな暗い背景の Stack Box に重ねて表示できるようにします。
Overlay 内に、2 つの Image ウィジェットをネストします。 F2 キーを押して、ウィジェットの名前を「TrackerBackground」と「TrackerMaterial」に変更します。
TrackMaterial を選択して、[Details (詳細)] パネルでオプションを開きます。 [Details] パネルで [Brush (ブラシ)] > [Image (画像)] を選択して、作成した MI_TrackerExample マテリアルを検索します。
下の画像サイズを X=96.0、Y=96.0 に設定します。 ゲーム内でよく見える大きさにする必要があります。
これでトラッカーのマテリアルが設定できました。トラック マテリアルが読みやすくなるように、マテリアルの背景を作成する必要があります。
[TrackerBacking] を選択し、[Hierarchy (階層)] で、[Details] パネルで [Brush] > [Draw As (描画対象)] > [Rounded Box (角丸ボックス)] を選択します。
上記の [Tint (ティント)] オプションを中間色に設定して読みやすくします。 この例では、[Hex sRGB] フィールドのティントは 3A3A3AFF に設定されています。
[Horizontal Alignment (水平アライメント)] と [Vertical Alignment (垂直アライメント)] のオプションを [Fill (塗りつぶし)] に設定します。 これで TrackerBacking では、TrackerMaterial を含むコンテナが確実に塗りつぶされます。
TrackerMaterial に背景が作成され、すべてのゲーム内シーンで読みやすくなりました。
トラッカーのテキストを設定する
トラッカーのマテリアルがトラッカー ウィジェットで参照されたら、UI で追跡されているプレイヤーに通知するテキストを設定します。
Overlay を含む Stack Box に Text Block をネストします。 Text Block の名前を「TrackerTitle」に変更します。
[Hierarchy] で [TrackerTitle] を選択し、[Details] パネルで [Vertical Alignment] を [Center Align Vertically ( 垂直方向に中央揃え)] に設定します。 これでテキストが常に TrackerMaterial に対して中央揃えになります。
テーマに合わせてサイズを縮小したり、アウトラインを追加したり、書体を変更したりすることにより、フォント スタイルの一部を変更します。
この例では、次のように変更されています。 フォント サイズ = 24 [Typeface] = [Bold (太字)] アウトライン = ダーク レッド
すべての最終デザイン タッチが完了すると、TrackerMaterial と TrackerTitle の準備が整います。
両アイテムの間にスペースを追加するには、TrackerMaterial を含む [Overlay] の右側にパディングを追加します。
Overlay を選択します。
[Details] パネルで、[Padding (パディング)] を展開します。
[Right Padding (右側のパディング)] を 16px に変更します。
画像とテキストの間にスペースが追加されます。
Set Material Parameter を設定する
次に、トラッカー ウィジェットのマテリアル パラメータにトラッカーの仕掛けの値をバインドします。
ビューモデルを追加する
メインメニューから [Window (ウィンドウ)] > [Viewmodel (ビューモデル)] を選択して、トラッカー ビューモデルをウィジェットに追加します。
[Viewmodel] ウィンドウで、[+Viewmodel] を選択します。
ポップアップ ウィンドウで、[Device - Tracker View Model (仕掛け - トラッカー ビューモデル)] を選択します。
メニュー バーから [Window] > [View Bindings] を選択して、[View Bindings] パネルを開きます。
トラッカーからデータのバインディングを開始して、ウィジェットを操作する準備が整いました。
Set Scalar Parameter
スカラー パラメータ は、整数 値または 浮動小数 値を取り込みます。 たとえば、プログレス バーは、トラッカーでのユーザーの撃破数に応じて、TrackerMaterial で塗りつぶされます。
マテリアルは、トラッカーの仕掛けによる撃破数を変換して TrackerMaterial を塗りつぶすように設定されています。 ユーザーは、そのデータを MI_TrackerExample のプログレス マテリアル パラメータにバインドするだけです。
MI_TrackerExample における 3.0 と 8.0 の進行状況。 これは非常に便利です。
[TrackerMaterial] ウィジェットを選択して、[View Bindings] ウィンドウで [+Add Widget (+ウィジェットを追加)] をクリックします。
左側のフィールドで、[TrackerMaterial] > [Brush] を選択します。
右側のフィールド (TrackerMaterial のブラシにバインドするデータを含む) で、[Conversion Functions] > [Set Scalar Parameter] を選択します。
これにより、ブラシ 設定で Set Scalar Parameter と呼ばれる関数が実行されます。 現在、ブラシに MI_TrackerExample が含まれるため、ユーザーが指定したスカラー パラメータを検索して値を代入します。
[Parameter Name (パラメータ名)] フィールドに「TrackerProgress」と入力すると、Tracker の進行状況に応じてマテリアルが塗りつぶされます。
ユーザーのマテリアルでは正しいパラメータを見つけられないため、パラメータを間違えないことが重要です。 パラメータ名を忘れた場合は、マテリアル インスタンスを開いて、右側にあるパラメータを検索します。
値 の隣にある リンク アイコン を選択して、ドロップダウン メニューから [MVVM_UEFN_Tracker] > [Value] を選択します。 これにより、トラッカーの現在の進行状況がバインドされます。
これで、現在のトラッカーの進行状況がマテリアルに直接入力されるようになりました。 トラッカーに割り当てられたプレイヤーが撃破すると、トラッカーのマテリアルがゆっくりと塗りつぶされます。
Set Vector Parameter
ベクター パラメータは、Vector4 の値を取り込みます。 ベクターは通常、色 - RGBA (4 つのベクター) に使用されており、ユーザーは、仕掛けの設定に応じて、Vector4 を使用してアイコン カラーを変更します。
ベクターの詳細については、Unreal Engine ドキュメントの「 ベクターのマテリアル式 」を参照してください。
[Hierarchy] で [TrackerMaterial] を選択し、[View Bindings] ウィンドウを開いて [+Add Widget (+ウィジェットを追加)] を選択します。
左側の空のフィールドで [TrackerMaterial] > [Brush] プロパティを選択します。
右側の空のフィールドで [Conversion Functions] > [Set Vector Parameter] を選択します。
前述のように、このバインディングは TrackerMaterial (この例では MI_TrackerExample) から ブラシ を取得し、ユーザーがマテリアル インスタンスで指定した ベクター パラメータ を設定します。 ユーザーは、トラッカーの仕掛けで設定されているあらゆるオプションに合わせてアイコン カラーを設定できます。
[Parameter Name] フィールドに「IconColor」と入力します。
値 の隣にある リンク アイコン を選択して、[MVVM_UEFN_Tracker] > [Color] を選択します。 これで、トラッカー ビューモデルから Icon Color プロパティに値が設定されます。
トラッカーの仕掛けに設定されているすべてのアイコン カラーがマテリアルに渡されます。 オレンジ色のアイコンにする場合は、仕掛けで設定するだけで、オレンジ色になります。 この例で使用されたマテリアルはその設定が済んでいます。
Set Texture Parameter
テクスチャ パラメータは Texture2D の値を取り込みます。 テクスチャは通常、画像またはアイコンに使用されるため、仕掛けの設定に基づいて、テクスチャを使用してアイコンを変更します。
テクスチャの詳細については、Unreal Engine ドキュメントの「 テクスチャ 」を参照してください。
[Hierarchy] で[TrackerMaterial] を選択し、[View Bindings] ウィンドウで [+Add Widget (+ウィジェットを追加)] を選択します。
左側の空のフィールドで [MVVM_UEFN_Tracker] > [Brush] を選択します。
右側の空のフィールドで [Conversion Functions] > [Set Texture Parameter] を選択します。
[Parameter Name] フィールドに「Icon」と入力します。
パラメータ名を入力するときは間違えないようにしてください。 パラメータ名を忘れた場合は、MI_TrackerExample で設定可能なパラメータのリストを確認できます。
値 フィールドの隣にある リンク アイコン を選択して、ドロップダウン メニューから [MVVM_UEFN_Tracker] > [Icon] を選択します。 これで、トラッカー ビューモデルから Icon プロパティに値が設定されます。
テクスチャ パラメータが設定されました。 トラッカーの仕掛けで設定されたアイコンを問わず、パラメータがウィジェットに渡されます。
トラッカーのテキストをトラッカー名にバインドする
次に、作成したトラッカーのタイトルを、トラッカーの仕掛けの同じ設定にバインドします。
[Hierarchy] で [TrackerTitle] を選択し、[View Bindings] ウィンドウを開いて [+Add Widget (+ウィジェットを追加)] を選択します。
左側の空のフィールドで、ドロップダウン メニューから [TrackerTitle] > [Text] を選択します。
右側の空のフィールドで、ドロップダウン メニューから [MVVM_UEFN_Tracker] > [Name] を選択します。
このバインディングにより、トラッカーのタイトルが Text Block に渡されます。
トラッカーの仕掛けを設定する
次に、トラッカーの仕掛けの UMG で作成したウィジェットを参照します。 それにより、撃破 UI が HUD で表示されるようになります。
トラッカーの仕掛け をプロジェクトに追加します。
Tracker のタイトル に名前を付けます。 この名前がウィジェットの TrackerTitle テキストに表示されます。
[HUD Widget (HUD ウィジェット)] フィールドにウィジェットを追加します。
[Quest Icon (クエスト アイコン)] フィールドを、Tracker で表示させたいアイコンに変更します。 MI_TrackerExample 上のデフォルトのエイリアン アイコンがオーバーライドされます。
アイコン カラー で 色 を選択します。 上記で設定したアイコンが、選択した色を取り込みます。
その他の設定を続けて、プレイヤーにトラッカーを追加します。
最終結果
これで 左上にカスタムのトラッカー ウィジェットが表示されるようになりました。 ゾンビや他のプレイヤーを撃破した場合にも、ウィジェットがゆっくりと塗りつぶされます。 このように、Set Material Parameter を使用してユーザー独自のカスタム ウィジェットにゲームプレイ データをリンクさせることができます。