[UE4]Actorを目標のActorまで等速直線移動させる
駅に向かう電車のように、目標のActorの座標まで自Actorを等速直線で移動させる。そんな処理を書く際、ベクトルの正規化を知っておくと役に立ちます。
Normalize関数
ベクトルの正規化には、Normalize関数を使います。
Aにベクトルを入力すると、正規化したベクトルをReturn Valueに返してくれます。
正規化されたベクトルを単位ベクトルと言います。これは長さが1のベクトルで、AddActorWorldOffset等に移動量(Delta Location)を渡すときに便利です。
使用例
目標のActorのワールド座標をGetActorLocationで取得し、自Actorのワールド座標と引き算します。これで目標までのベクトルができました。
その結果をNormalize関数で正規化します。得られた結果が単位ベクトルです。
これに速度係数をかけて移動量として扱います。
あとは、得られた移動量をAddActorWorldOffset等に与えてActorを移動します。
高校で学んだベクトルの計算がここで役に立ちました。
最後まで読んでいただきありがとうございます。この情報が役に立てば幸いです。スキしていただけると励みになります。
この記事が気に入ったらサポートをしてみませんか?