見出し画像

[UE4]Actorを目標のActorまで等速直線移動させる

 駅に向かう電車のように、目標のActorの座標まで自Actorを等速直線で移動させる。そんな処理を書く際、ベクトルの正規化を知っておくと役に立ちます。

Normalize関数

ベクトルの正規化には、Normalize関数を使います。

画像2

Aにベクトルを入力すると、正規化したベクトルをReturn Valueに返してくれます。

正規化されたベクトルを単位ベクトルと言います。これは長さが1のベクトルで、AddActorWorldOffset等に移動量(Delta Location)を渡すときに便利です。

使用例

目標のActorのワールド座標をGetActorLocationで取得し、自Actorのワールド座標と引き算します。これで目標までのベクトルができました。

その結果をNormalize関数で正規化します。得られた結果が単位ベクトルです。

これに速度係数をかけて移動量として扱います。

画像1

あとは、得られた移動量をAddActorWorldOffset等に与えてActorを移動します。

高校で学んだベクトルの計算がここで役に立ちました。


最後まで読んでいただきありがとうございます。この情報が役に立てば幸いです。スキしていただけると励みになります。


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