前回の記事では、プレイしたときにキャラクターをレベル上に配置するための処理について記載しましたが、今回はそのキャラクターを移動させるための処理について勉強します。
※プログラミング初心者なので、論理的かつ正確な説明が出来ていないと思いますがご了承ください。
キーの割り当て
まずは、どのキーを押したら移動できるのかというキーの割り当てを行う処理。
今回は、前後左右の動きをキーボードの「W」「S」「A」「D」に割り当てていきます。
コンテンツブラウザ内の何もないところを右クリックして、「入力」「入力アクション」クリック。
![](http://ue5-studying.com/wp-content/uploads/2024/05/c0e07ebe41a76faaa3938c3241c6600c.jpg)
ファイル名を入力して、そのファイルをダブルクリック。
「アクション」「Value Type」を「Axis1D(float)」にする。
![](http://ue5-studying.com/wp-content/uploads/2024/05/40fd1e1346dd492a490f6ee703647e57-1024x321.png)
同様に、左右に動かすための入力インプットを作成。設定は上記と同様にする。
上記2つのファイルを閉じて、次にコンテンツブラウザの何もないところを右クリックして、「入力」「入力マッピングコンテキスト」をクリック。
![](http://ue5-studying.com/wp-content/uploads/2024/05/b8615ec113c7364e886afea961533e70.jpg)
ファイル名を入力して、ダブルクリックをしてそのファイルを開く。
例:前後進むためのキー割り当て
・Mappinng横の⊕をクリックし
・以前に作成した入力アクションを選ぶ
・キーボードのようなマークをクリック後、割り当てたいキーを押す。
・選択した入力アクションの横にある⊕をクリックする。
・上記と同じく、キーボードのようなマークをクリック後、割り当てたい
・Modifiers欄にある⊕を押す。
・Negateを選ぶ。
![](http://ue5-studying.com/wp-content/uploads/2024/05/e251d9c541efdf65c6f32e094cacd649-1024x285.png)
上記作業を、左右に動かすためのキーの割り当てで同様に行う。
![](http://ue5-studying.com/wp-content/uploads/2024/05/8b28132c0a5cd912be246aaaa6be6f6e-1024x583.png)
キャラクターブループリントを開き、イベントグラフを表示する。
キャラクターに上記で作成したキーの割り当てを反映させるためにブループリントのノードを組む。
![](http://ue5-studying.com/wp-content/uploads/2024/05/1ac3276b012ad54ba90ca31fea740ac5-1024x601.png)
上記処理について、詳しくは説明できませんが、作成した入力マッピングコンテキストをPlayerControllerに追加したということだと思われます。
さらに、実際にキーが押されたらキャラクターが動くようにノードを組む。
![](http://ue5-studying.com/wp-content/uploads/2024/05/d553e70c2f65cdaf77eb16c13f3a4afd.png)
上記ノードの詳しい内容は説明できませんが、自分が理解した内容としては
・Get Control Rotationで、マウスを動かした距離からキャラクターが今どこを向いているのかを計算する。
・Get Forward Vectorで前方の方向を取得、Get Right Vectorで右方向を取得
・Add Movement Inputでキャラクターを前後左右に進ませる。
コンパイルしてプレイすると、アニメーションがないので立ったまま移動、常に一定方向を向いている、視点移動が出来ない状況となっています。
次回は、マウスによる視点移動の処理を行っていきます。
コメント