初心者向け2022-05-12【キャラを作ろう#4】移動の実装【UE5】キャラクターBPの移動がどう実装されているかを知る。今回はキャラクターを前後左右に動かすだけの実装がどうなっているのかを見る。videos.サムネ詐欺になるが、アニメーションは実装しないので直立したまま移動する。一部過去の記事の理解が必要なのでそこはリンクを入れてある。複雑なので理解に時間がかかるかもしれない。自前のキャラクターブループリントを開いてノードを組んでいく。移動だけなら非常にシンプルなノード構成になっており、以下がすべて。キャラクターブループリントを作成したらイベントノードに上のまま貼り付ければ動く。インプットノード上のインプット~になっているノード2種は、コントローラーの入力を拾うイベント。インプットに設定されているキーに反応しているだけなので、自由にキー名やイベント名を変えられる。Tickのような役割があるこのキー入力を受けるイベントはTickノードのように基本毎フレーム実行されている。Tickと違って不要になるとシステム側で自動で止まるので賢いノードだが、この先に無駄な処理をつなぐとものすごい勢いで処理コストを消費する可能性があるので注意する。Input実際にキャラクターを動かしているノードはこれ。設定されているスピード値で決定この場合ターゲットは自分自身なので何も繋がなくてOK。Zに入力された角度から求められる単位ベクトルを出力する。単位ベクトルって何!?となるかもしれないが難しく考える必要はない。シンプルに角度を入力すると矢印を作って出力する(角度を方向へ変換)というイメージ。Valueがマイナスになるのでベクトルは後ろ向きになる。単位ベクトルというのはこの矢印の長さが1というだけ。長さが1なのもここではあまり気にする必要は無く「このベクトルが示すのは方向だけですよ。スピードや強さの意味はもってませんよ」みたいな感覚で十分。実際に問題になってくるのはこれらを演算するときに重要となる。Vectorとなっている。