この記事では、Unreal Engine 5を使って、Archviz(建築ビジュアライゼーション)プロジェクトの3Dウィジェットに可視性設定を追加する方法を説明します。この手順を実行することで、ゲームプレイ中に3Dウィジェットの表示をコントロールすることが可能になります。初心者でも理解しやすいように、詳細に手順を解説します。
3Dウィジェットの初期設定
最初に、ゲームが開始されたときに3Dウィジェットを非表示に設定します。そして、「tab」を押してタスクバーがアクティブになると、3Dウィジェットは非表示のままで、タスクバーが表示されるようにします。もう一度「tab」押すと、タスクバーがフェードアウトし、3Dウィジェットが表示されるようになります。
- BP_FirstPersonCharacterを開く
Unreal Engineのコンテンツフォルダに移動し、BP_FirstPersonCharacterを開きます。 - カスタムイベントの作成
Begin Playノードの近くで右クリックし、「Custom Event」を作成します。イベントに名前を付け、例としてHidePOIとします。 - 全アクターの取得
新しいイベントから出ているワイヤーをドラッグし、「Get All Actors of Class with Tag」を選択します。環境に戻り、3Dウィジェットを選択します。 - タグの追加
POI_pawn_1を選択して、詳細パネルの検索バーで「Tag」を検索し、Tagsから「+」を押して要素を追加POIというタグを追加します。 - 可視性の設定
BP_FirstPersonCharacterエディタに戻り、「Get All Actors of Class with Tag」のTagを「POI」に変更します。Out ActorsからFor Each Loopを作成します。その後、Array Elementから「Rendering>Set Visibility」を選び、Propagation to Childrenがチェックします。また、New Visibilityがオフになっていることを確認します。 - イベントに接続
Begin Playノードからワイヤーを引き、Sequenceを作成します。2番目の入力から先ほど作成したノードを接続します。これで、ゲーム開始時に3Dウィジェットが非表示になる設定が完了です。

タスクバーがアクティブな時の設定
次に、タスクバーがアクティブになったときに3Dウィジェットを表示するように設定します。
- ウィジェットフォルダを開く
ウィジェットフォルダに移動し、BP_mainwidgetを開きます。 - タスクバーの設定
詳細パネルで「OnClick」を検索し、アクションボタンをクリックします。新しいピンを追加し、「Get All Actors of Class」を選択して、BP_FirstPersonCharacterをターゲットにします。 - ノードの複製
BP_FirstPersonCharacterに戻り、先ほど作成したコンポーネントを複製し、ノード名をShowPOIに変更します。New Visibilityをチェックし、Compileをクリックします。 - ノードを接続
先ほどコピーしたノードをに戻り、BP_mainwidgetFor Each Loopに接続します。最後にCompileしてテストを行い、設定が機能することを確認します。




ウォークモード時の設定
ウォークモードがアクティブなときに3Dウィジェットが表示されてしまっているので、これを非表示に設定します。
- BP_TopPoundウィジェットを開く
BP_Toppawnを開き、ウォークモードを選択します。 - イベント設定
「OnClicked」イベントを検索し、HidePOIイベントをアクティブにする設定を追加します。 - ノードのコピーと接続
でコピーした2つのノードをBP_mainwidgetに戻り、新しいピンに接続します。その後、BP_ToppawnHidePOIのノード名を設定し、最後にCompileしてテストを行います。

タスクバー表示時の3Dウィジェットの表示設定
Edit Mode でタスクバーが表示されている時は、3Dウィジェットを非表示し、タスクバーが表示されていない時は、3Dウィジェットを表示します。


まとめ
これで、ゲームプレイ中に3Dウィジェットの表示を動的にコントロールする方法が設定できました。次のステップでは、キー入力に応じて3Dウィジェットとタスクバーの表示を切り替える設定を行います。次回の記事で、さらに詳細な設定を説明していきます。