現在キーボード入力かコントローラ入力かを判定してフラグを立てたい

いつもお世話になっております。
ユーザーの入力デバイスがキーボード(マウス)かコントローラかを判別してフラグを立てたいです。
フラグによってゲーム中に表示するキーガイドの画像を差し替えるなどの処理をしていくつもりです。
デバイス入力を監視するためのノード、機能等はありますでしょうか?

手元にコントローラーがなくて確認できないのですが

IsControllerAssignedtoGamepadというノードがありますね。

うまくいけばこれでコントローラーがアサインされているか確認できるかもしれません。

デバイス入力を監視するノードがあるかはわからないのですが、こういう感じの方法で最後に入力したボタンがどちらかを調べることは出来ると思います。

プロジェクト設定のインプットのところで、通常の操作に関するものとは別に、キーボードの入力だけ集めたアクションと、ゲームパッドの入力だけ集めたアクションマッピングを作っておきます。
同じボタンを別々のアクションに登録してますが、それぞれにイベントが発生する仕様なので、これでも問題なく動作します。

今回はテストなのでPrintStringしてるだけですが、どっちで入力したかのフラグを書き換えるようにすれば、最後に押したのがどちらかわかるので、それに合わせて表示を切り替えればいいです。

こういう仕組みを、レベルブループリントかGameModeあたりに作っておけばいいと思います。

スティック操作とかマウスカーソルの移動とかは無理に対応しなくても、よく使うボタンやクリック等に反応すれば十分実用的になると思います。

243686-2018-06-09-20h56-16.png

243687-2018-06-09-21h00-28.png

入力からデバイスを調べたかったら、このやり方でできそうですよ。

243944-2018-06-12-06h10-25.png

1 Like

ご回答ありがとうございます。参考にさせていただきます。

ご回答有り難うございます。具体的な実装のヒントになりました。

ご回答ありがとうございます。おかげさまでスマートな実装ができそうです!