ゲーム制作 UnrealEngine5

【UE5】エンジン-インプットの設定

閲覧いただきまして、ありがとうございます。
UnrealEngine5 ゲーム開発はじめました。数えてシリーズ9回目の投稿になります。

今回は、プレイヤーを動かしてみたいと思います。

UE4では、
プロジェクト設定→ エンジン インプットから、軸マッピングに設定して、動作設定をしていましたが、
UE5では、非推奨になったようです。

プロジェクト設定 エンジン-インプットを参照してみると、その旨が記載されています。↓

エンジンーインプット

Enhanced Input アクションと入力マッピングコンテキストを使用してください。とありますので、そのように設定していきたいと思います。

まずは、「Input」フォルダを作成しておきます。
「Input」フォルダから、右クリック→「入力」を選択→入力アクションを選びます。

名前を「Move_InputAction」としておきます。

開いて、ValueTypeのところ「Axis2D(Vector2D)」を選択します。

Axis2D(Vector2D)は、上1、下-1 、右1、左-1 という値が定義されます。

入力マッピングコンテキスト

続いて、「入力」→「入力マッピングコンテキスト」を選びます。名前を「Move_InputMappingContext」としておきます。

「Move_InputMappingContext」を開いて、Mappingsの横にある+マークをクリック、Move_InputActionを設定します。

※1 まずは、上(キーボード)、下(キーボード)をそれぞれ設定して、
キーボードの上 ▲を押したら、Playerは上へ
キーボードの下 ▼を押したら、Playerは下へ動きようにしていきます。

▼Modifiersのところインデックスの設定で、Negateを設定して、軸ごとに入力マッピングを反転させています。

Mapping Contextアセットの登録、設定

※1 TopDownCharacter_BPを開いて、イベントグラフに記述します。
BeginPlayイベントより、Cast To Player Controller ノードを追加、Get Controller ノードを接続します。

Cast To Player Controller ノード より、enhancd ~と検索して、[Get EnhancedinputLocalPlayerSubsystem]を追加します。
Add Mapping Context ノードを追加して、接続します。
作成した「Move_InputMappingContext」アセットを選択します。

これでPlayerへのMappingContextの登録、設定ができました。

EnhancedInputAction Move_InputAction

※1 続いて、Playerのブループリントに、EnhancedInputAction Move_InputAction ノードを追加していきます。

ActionValue 構造体ピンを分割します。

上下方向の制御 Add Movement Input ノードをそれぞれ追加して、図のように接続します。

WordDirection Xに1を入力することで、キーボードの上▲を押すとPlayerは上に動くようになります。

*2
キーボードの下▼を押すと、Nagete設定しているので、上の反対(つまり下)に動くようになります。

キーボード ▲で上方向へ、▼で下方向へ 動けば、ここまでは成功です。

※1 キーボードの右 ▶を押したら、右方向へ、キーボードの左 ◀を押したら、左方向へ動かすためには、
「Move_InputMappingContext」に以下のように追加していきます。

各Modifiersに設定している「Swizzle Input Axis Values」は、Y軸方向には必要みたいです。
左 modifiers に設定している「Negate」で、入力インプットを反転させています。

Playerのブループリントに、MoveInputActionのところ追加記述していきます。
Add Movement Input をもう一つ追加、WorldDirection Yに1を入力します Action Value Y を接続します。

キーボードの右 ▶を押すと右へ、キーボードの左 ◀を押したら、左へ動けば、ここまでは成功です。

今回は、プレイヤーをとりあえず動かしてみました。

このままでは、Animationが上を向いたままなので、下方向へ行ったら下方向のAnimation に変化する。といったように、それぞれの方向に動いたときに、それぞれのAnimation の動きをするようにしていきたいと思います。次回予定とします。

それでは、また。

【UE5】UnrealEngine5でゲーム開発始めました - aki★'s technical-Lab (akihisa-h.com)

(修正履歴)
*1 2024/3/31 説明がわかりにくかったので、修正しました。
*2 2024/4/6 追記しました。

-ゲーム制作, UnrealEngine5