0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unreal Engine 5】Enhanced Inputによるキャラクター移動の実装【備忘録】

Posted at

はじめに

Enhanced Inputを使ったキャラクター移動の実装のブループリントが調べてもなかなか見つからなかったので備忘録として書いておきます。
まず最初にプラグインからEnhanced Inputを適用しておきます。
たぶん大体のことは公式ドキュメントに書いてあるので、ほぼそれをなぞる形になります。

Input Action

image.png

前後左右を同時に取れるようにValue TypeをAxis2Dにしておく。
前後と左右のパラメータを別で取って作ることももちろん可能。

Input Mapping Context

image.png

Input Actionを作成したら、Input Actionとキーを対応付けるためにInput Mapping Contextを作成。
ここではWとSをY軸の値に設定。理由は動かすキャラクターの正面方向をY軸にするため。
Negateは入力に対してマイナスをかける処理。

Player Controller

image.png

今回は入力の処理はまとめてPlayer Controllerで処理するためPlayer Controllerにブループリントを書きます。
プレイヤーコントローラーのEnhanced Input Local Player Subsystem を取得し、Input Mapping Contextを追加します。Mapping Contextに先ほど作成したInput Mapping Contextを入れます。

image.png
image.png

最後に移動の実装です。
今回キャラクターのメッシュを図のように配置したので、ワールドの座標とメッシュの座標が一致していません。そのためInput Actionで取得した値をそのまま移動に使ってしまうとX軸とY軸が反転した移動になってしまいます。また一般に、キャラクターの向きはワールド座標に対して動的に変化するので、ブループリントの実装はXとYの値を反転させ、キャラクターの正面(Forward)を取ってくるようにしています。

以上でキャラクターの移動の実装については完了です。
拙い文ですが最後まで読んでいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?