質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Unreal Engine

Unreal Engineは、Epic Games社によって開発されたゲームエンジンです。高レベルの移植性を持っており、様々なプラットフォームのゲーム開発が可能。GitHubアカウントを登録すれば無料でダウンロードできます。

Q&A

解決済

1回答

613閲覧

Unreal Engine5で、キーボード入力を取得できない

BraveDragon

総合スコア15

Unreal Engine

Unreal Engineは、Epic Games社によって開発されたゲームエンジンです。高レベルの移植性を持っており、様々なプラットフォームのゲーム開発が可能。GitHubアカウントを登録すれば無料でダウンロードできます。

0グッド

0クリップ

投稿2023/11/03 08:27

実現したいこと

  • キーボード入力を取得できるようにして、自機をキーボードで移動できるようにする

発生している問題・エラーメッセージ

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

レベルBPで、SetInputModeUIOnlyを呼び出す代わりに、SetInputModeUIOnlyを呼び出すようにしたところ、自機が動かせるようになりました。
以下にレベルBPのスクリーンショットを添付します。
イメージ説明

投稿2023/11/04 05:33

BraveDragon

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問