見出し画像

UE5でのThirdPerson TPSのプレイヤーキャラクター移動させるブループリント

環境 UE5.3 Windows10

前提 Enhanced Inputを使う

チュートリアルにあったYour First Hourのブループリントを参考にした。

Inputアクションの用意

Inputフォルダを作成。以下はInputに作る
入力マッピングコンテキストを用意。
名前はIMCとかで良い。IMCはInput Mapping Contextの略
Actionフォルダを作って入力アクションを作る。
移動なのでIA_Moveにする。ジャンプだったらIA_Jumpとか。

IMC_Defaultを開いてW,S,A,DにModifiresに設定をする。
W[0] = Swizzle Input Axis Values
S [0] = Swizzle Input Axis
S [1] = Negate
A[0] = Negate
DはModifiresの設定はしない

IA_Moveを開いてValue TypeをAxis2D(Vector2D)にする

BPフォルダを作る。以下はBPフォルダに作る

ブループリントクラスを作る -> Characterにする
名前をBP_PlayerCharacterとかにしておく。
BP_PlayerCharacterをレベルに設置する。
プレイヤーとして動かしたいので詳細からボーンの項目にある
Auto Possess PlayerをPlayer 0にする

BP_PlayerCharacterのイベントグラフを開いてブループリントを書く

Enhanced Input Local Player Subsystemノード周り

Enhanced Input Local Player SubsystemはEnhanced Inputに省略
右クリックからEnhanced Inputを作成
作成時にノードが出ない場合は右クリック押したときに出るダイアログの右上にある「状況に合わせた表示」のチェックをはずす

Enhanced Inputノードその1

右クリックからGet Controller作成
Get Controller -> Cast To PlayerController 作成
イベント BeginPlay -> Cast To PlayerControllerに接続
Cast To Player Controller -> Is Valid作成
Cast To Player ControllerのAs Player Controller -> Enhanced Inputに接続
Is Valid の Is Valid -> Add Mapping Context作成
Enhanced Input -> Is ValidのInput Objectに接続
Ehhanced Iput -> Add MappingContextのTargetに接続
Add Mapping ContextのMappingContextをIMCを選択

EnhancedInputAction IA_Moveノード周り

Enhanced Inputノードその2

右クリックからEnhancedInputAction IA_Moveノードを作成
EnhancedInputAction IA_Moveは以後IA_Moveとする
IA_MoveのTriggered -> Add Movement Input(1)作成
※Add Movement Input(1)は左右移動に使う。前後方向用にもAdd Movement Inputを使うので(1)を付けている

Add Movement Input(1)のWorld Direction -> 演算のGet Right Vector作成
Get Right VectorのIn Rotの構造体ピンを分割
右クリックからポーンのGet Control Rotationを作成。2つある場合は Target is Pawnのほうを選択。前後を作るときにGet ControlRotationをもう一つ作るので左右移動のほうを(1)、前後移動のほうを(2)とする

Get Control Rotation(1)のReturn Valueの構造体ピンを分割
Return Value X(1) -> Get Right Vector(1)のIn Rot Xに接続
Return Value Z(1) -> Get Right Vector(1)のIn Rot Zに接続
※Zはジャンプに使うのだと思う。
IA_MoveのAction Valueの構造体ピンを分割
IA_MoveのAction Value X -> Add Movement InputのScale Valueに接続

Add Movement Input(1) -> Add Movement Input(2)を作成
Add Movement Input(2)のWorld Direction -> 演算のGet Forward Vector作成
Get Forward VectorのIn Rotの構造PINを分割
右クリックからポーンのGet Control Rotationを作成。2つある場合は Target is Pawnのほうを選択。
Get Control Rotation(2)のReturn Valueの構造体ピンを分割
Return Value Z(2) -> Get Forward Vector(2)のIn Rot Zに接続
IA_MoveのAction Value Y -> Add Movement Input Scale Valueに接続

最後にコンパイル

イベントグラフの線の途中にある●はAdd ReRoute Nodeで追加できる。
視認性を良くするためのもの。

参考

https://www.youtube.com/watch?v=Lg3fo6bhMcg









   



この記事が気に入ったらサポートをしてみませんか?