Forward/Up/Right Vector とは? (翻訳/要約)

(以下は、英語スレッドの質問を翻訳/要約したものです。)

非常に基礎的な質問で恥ずかしいのですが (しかも名前のとおりなのでしょうから)、Forward/Up/Right/Left Vector の意味を確認したいのです。どこにも説明が見つからなかったものですから。Forward vector とは、コンポーネントまたはアクタにおいて正確にはどのようなものなのでしょうか?

Asked by AllenGingrich

英文スレッド

Forward Vector

アクタが真っ直ぐ正面に向かった時の方向です。ルートコンポーネントを基準にします

Right Vector

アクタのルート コンポーネントが正面を向いた時の右方向です。

Up Vector についても同様です。(上方向のベクタです。)

Answered by Rama

GetActorUpVector は、アクタのルート コンポーネントの Z (up 上方) を取得する関数です。
GetActorForwardVector は X (forward 前方)、GetActorRightVector は Y (right 右方向) を取得します。それらのベクタは、ワールド空間におけるベクタとして取得されます。各ベクタの大きさは 1 です。

GetUpVector、GetForwardVector、GetRightVector はコンポーネントからの方向を取得します。

ですから、たとえば、ルート コンポーネントとしてカプセル コンポーネントをもつアクタがある方向に面していて、カプセル コンポーネントに子としてアタッチされているカメラ コンポーネントがあるとします。アクタを中心にしてカメラを動かすと、GetActorForwardVector (アクタからの方向) と GetForwardVector (カメラからの方向) によって取得される方向は異なることになります。

Up のベクタをネゲートする (正負を反転させる) と、Down の方向が得られます。Forward をネゲートすると Backward (後ろ方向) が得られます。

Answered by AnXgotta