ウィジェットの作成

Widget ブループリントを作成し、ゲーム内で表示する方法

Widget ブループリント を作成し、レイアウト後に、ゲーム内で表示させるには、別の ブループリント (例、Level ブループリント や Character ブループリント) 内で、Create Widget ノードと Add to Viewport ノードを使用してそれを呼び出す必要があります

Blueprint script for displaying widget in game

上の例では、Create Widget ノードが、Class セクションで指定されている Widget ブループリントを呼び出し、Return Value は、結果として得られるものです。 (Owning PlayerPlayer Controller であり、デフォルトのプレーヤーコントローラーの空白の結果に適用されます)。Add to Viewport は Widget ブループリントを画面に描画するものであり、作成されたウィジェットを保持するメインメニュー変数が追加されたターゲットであることを指定しています。

さらに、Return Value は Main Menu という名前の変数に割り当てられるので、ウィジェットを再度作成しなくても後で Widget ブループリントにアクセスしたり、必要に応じて削除できます。

ウィジェットを表示させないようにするには、Remove from Parent ノードを使用し、Target Widget ブループリントを指定します。

Blueprint script for removing widget from being displayed in game

入力モードを設定し、カーソルを表示する

プレイヤーに UI とインタラクションさせる場合や UI を完全に無視させたい場合があるかもしれません。プレイヤーが UI とどのようにインタラクションするかを決定するために使用可能なノードがいくつかあります。以下のような Set Input Mode タイプがそれに該当します。

Set Input Mode nodes for widgets

  • 上の画像の左のノード、Set Input Mode Game and UI は、名前が示すように入力モードと UI を設定し、プレイヤーが入力や UI を介してゲームを操作できるようにします (例、画面上でキャラクターを操作するだけでなく、ボタンや UI エレメントのクリックにもアクセスできます)。

  • 上の画像の中央のノード、Set Input Mode Game Only は、ゲームに対して入力のみを有効にし、UI エレメントは無視します (これは、ヘルス、ポイント、時間表示などのインタラクティブではない UI エレメントに最適です)。

  • 上の画像の右のノード、Set Input Mode UIOnly はエッジケース ノードで UI ナビゲーションのみを可能にし、ゲーム入力は使えないようにするために使用します。これは、完全にすべてのゲーム コントロールを無効にし、UI がすべての入力を処理します。このノードは慎重に使用してください。

上のノードを補足するために、マウス カーソル 表示を 有効/無効 にしたい場合があるかもしれません。これは、Set Show Mouse Cursor ノードを使って行うことができます。Get Player Controller ノードをドラッグして、Set Show Mouse Cursor ノードを使用して True または False にチェックを入れて、マウスカーソルを表示または非表示にします。

Blueprint script for enabling or disabling the mouse cursor

上の画面では、I を使用してマウス カーソルの表示/非表示を切り替えています。

ウィジェットをウィジェットに加える

各ウィジェットに Add to Viewport ノードを使用する代わりに、各ウィジェットに他のウィジェットを追加することもできます。

Blueprint script for adding widget to the widget

上の例では start_Button と呼ばれる Scroll Box ウィジェットを Add Child 関数を使用して、Main Menu と呼ばれる新規ウィジェットに付加する方法を示しています。

Add Child ノードは、パネル内のあるウィジェットを別のウィジェットに親子付けします。これに対して Add to viewport は、新規ウィンドウであるかのようにウィジェットをルート ビューポートに追加します。子のウィジェットを取り除くには、親を取得し、RemoveChild を呼び出します。

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