【UE5】とりあえず3D空間上のUIをクリックしてみたい

サードパーソンのテンプレートに、3D空間にあるUIをクリックできる仕組みを追加してみたいこともあると思います。
今回は速度を重視するので、本番で実装するにはもう少し工夫する必要があるかもしれません。

1.BP_ThirdPersonCharacterのFollowCameraの下にWidgetInteractionコンポーネントを追加

WidgetInteractionコンポーネントのDetailタブの設定は以下です。※スクショ外の設定は変えていません

(Interaction Distace:10000.0 Interaction SOurce:Mouse)

BP_ThirdPersonCharacterのBPを以下のようにします。※BeginPlayの最後に付けます。

(使用ノード:Show Mouse Cursor Get Player Controller 右マウスの左ボタン(input mouseの検索で見つかります) Press Pointer Key Release Pointer Key)

2.ウィジェットブループリント(WBP_3DUI)を作成します。
Canvas PanelとCanvas Panelの子にButtonを追加します。

ButtonのOn PressedとOn Releasedのイベントを設定します。

On PressedにPrintStringノード(InStringには”押した”)を繋ぎ、
On ReleasedにPrintStringノード(InStringには”離した”)を繋ぎます。

3.アクター(BP_3DUI)を作成します。
Widgetコンポーネントを追加します。

Detailタブの設定は以下です。※スクショ外の設定は変えていません

(Widget ClassはWBP_3DUI Draw at Desired SizeはTrue)

4.BP_3DUIをレベルに配置し、レベルをプレイします。


3D空間のボタンを押したときに”押した”が左上に表示されボタンを離したときに”離した”が表示されれば成功です。

以上です。

エンジニアリング事業部からの最新情報をお届けします