実現したいこと
- キーボード入力を取得できるようにして、自機をキーボードで移動できるようにする
発生している問題・エラーメッセージ
Unreal Engine 5でシューティングゲームを作成中です。
Pawnクラスから作成した自機のクラスBP_Playerについて、キーボードから入力を受け取って移動できるようにしたいのですが、ビューポートからプレイした時に、キーボードを入力してもキャラクターが動きません。
BP_PlayerのブループリントにあるAdd Input Movement Inputがおかしいのではないかと思い、Set Actor Locationを使用して動かす形にしてみたのですが、BP_Playerは動きませんでした。
TickイベントからSet Actor Locationを呼び出すとBP_PlayerがSet Actor Locationで指定した方向に移動すること、BP_Playerのブループリントで入力を受け取っているEnhanced Input ActionノードにPrint Stringノードをつないだ時に、画面やログに文字が出ないことから、キーボード入力を受け取ることができていないということは分かったのですが、入力を受け取れるようにする方法が分かりません。
どうすればキーボードの入力を取得できるようになりますでしょうか?
該当のソースコード
自機のクラスBP_PlayerのEnhanced Input Actionのブループリント
使用しているInput Mapping Contextの設定
Input ActionのIA Move
Game Modeの設定
Player Controllerのブループリント
プロジェクト設定のMap & Mode
試したこと
以下のことを試しましたが解決しませんでした。
これら全てを組み合わせた場合でも、問題は解決していません。
-
自機のクラスをPawnクラスではなく、Characterクラスから作成して、入力の設定を行う。
-
自機であるBP_PlayerのBPエディタの詳細→Pawn→Auto Possess Playerを「Player 0」に、Auto Possess AIを「Disabled」にする。
-
自機であるBP_PlayerのBPエディタの詳細→Input→Auto Recieve Inputを「Player 0」にする。
-
Enhanced Input Actionからではなく、プロジェクト設定でInputを設定した上でInputイベントからキーボード入力を受け取ってみたり、KeyBoardイベントから取得してみる。
-
BP_PlayerのBegin PlayイベントからEnable Inputを呼び出すようにする(スクリーンショットは以下)。
- レベルBPで、BeginPlayイベント発生時にShow Mouse Cursorをtrueにセットした後、SetInputModeUIOnlyを実行していたので、BeginPlayイベント発生時にそれら全てを呼び出さないようにする(呼び出していた時のスクリーンショットは以下)。
補足情報(FW/ツールのバージョンなど)
Unreal Engineのバージョン:5.1.1
開発環境:Windows11
レベル作成時のテンプレート:Basic

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。