あっぷあっぷブログ

UnrealEngine(ゲーム用途)関連の備忘録です。

【UE5】マウスカーソルを表示しつつ、視点移動や他の入力を受け付けたい場合

マウスカーソル表示とInputActionの入力を両立させる

PlayerController内での処理

Set Input Mode Game And UI ノードを使います。
マウスカーソルを表示させたいので、Show Mouse Cursor にチェックをいれます。
これでマウスカーソルを表示しつつ、InputActionの入力も受け付けることが可能になります。(一応は...)

ただ、このままだと扱いが難しいので、以下の記事や説明も参考になるかもしれません。

make-study.hatenablog.com

マウスクリック中にしか視点移動ができなくなる

マウスキャプチャーモードがCaptureDuringMouseDownに変更されるため、視点移動など、マウスの動きを検知するInputActionは、マウスクリック中にしか発動しなくなります。

Set Viewport Mouse Capture Modeノードでマウスキャプチャーモードを変更することで、マウスクリック中じゃなくともマウスの動きを検知することが可能です。

ただし、Show Mouse Cursorにチェックを入れた状態だと、どうしてもマウスクリック中にしか視点移動のInputActionは反応してくれませんでした。

In Widget To Focus

ここにWidgetを指定すると、Widgetにフォーカスされた状態になります。
WidgetにフォーカスされるとInputActionが発動しません。
ただ、InputActionにマウスクリックが指定してある場合、Widgetにフォーカスされてようと発動することがあります。おそらく、マウスクリックでビューポートクリックが行われ、Widgetのフォーカスが外れビューポートにフォーカスされ、InputActionが発動できたのだと思われます。

Hide Cursor During Capture

ここにチェックを入れると、マウスクリック(左、右、真ん中問わず)中にカーソルが消えます。