UE5:ウィジェットの表示と非表示を切り替える!

今回の記事では、アクターのコリジョンに触れたときに、ウィジェットが表示され、コリジョンから離れるとウィジェットが非表示になるノードを組んでいきたいと思います。
思っている数倍、簡単なので、是非最後まで頑張ろう!

今回ThirdPersonのフォルダに作成していくよ!
まずは、デフォルトで入っているCubeを移動コピーする!
今回名前は「SM_GameCube」

そしたら右クリックから、ウィジェットブループリントを作成してね
名前は「WBP_Ekey」にするよ

パレットから階層に下記を配置してね
・キャンバスパネル
・テキスト
配置ができたらテキストボックスのテキスト欄に【E】と入力!
テキストの場所は好きなところで問題ないよ!

次はブループリントの作成だよ
コンテンツドロワーを開いて、ブループリントクラスを選択!
アクターで今回は作成してね!
名前は「BP_Cube」にするよ!

追加からスタティックメッシュコンポーネントを追加するよ!
※画像で既にCubeが移ってるけど気にしないでね

追加したスタティックメッシュコンポーネントを選択して、SM_GameCubeを設定しよう

次はコリジョンを追加するよ!
コンポーネントタブの追加欄からBox Collosionを追加してね!
※どのCollisionでも問題ないです。Collisionの大きさもお好きな大きさでOK

ここからは、ブループリントを組んでいくよ!
追加したCollisionを右クリックして「On Component Begin Overlap」を選択!
選択したらイベントグラフにイベントが配置されるよぅ
同様の手順で「On Conponent End Overlap」も追加しよう!

そしたら画像のようにノードを組んでね!
使っているノード一覧
・Create Widget
・Add to Viewport
・Set Visibility×2
Create Widgetには、作成したウィジェットブループリントを設定して
Set Visibilityノードは上を「Visible」下を「Collapsed」に設定するよ!

ここまでできたら、作ったブループリントをゲーム内に配置して、プレイしてみよう!

しっかり表示されているかな?

また、離れたらウィジェットの表示が消えているかな?
というところで、しっかりできていたら終わりだよ!
何か変な挙動をする場合は、どこを間違えているか探すのも一興だから頑張ってね!