MovementComponentを作り始めてみた
前回のあらすじ
接地判定を実装してみた - yamonメモ.cpp
地形判定を取れるようになったので、
本格的にキャラクターを速度ベースで動かしてみることにする。
追加したコンポーネントはActorComponent継承のMovementComponent。
速度や回転値等を計算して更新し続ける挙動を想定している。
直面した問題
何も考えずにアクターの正面方向に速度を与えてみると、
倒れてしまう…。(それよりGIF貼れたのか!!)
回転のロックで凌いでいたが、小回りが利かなくなりそうなので、
今のうちに法線から計算して回転値を入れる設計にしておく。
全てMovementComponent内で完結させるようにしてみる。
法線と進行方向とUpVectorをCrossProductに掛けてごにょごにょ…
できた!
これでMovementComponentで自由に動かしても、
とりあえずそれっぽく動作するようにはなったかな?
短いけど今日はここまで。
次はキャラ同士がぶつかりそうになったら自動で避ける仕組みを入れてみようかな。