あっぷあっぷブログ

UnrealEngine(ゲーム用途)関連の備忘録です。

【UE5】Make Rot from X? Y? Z?


A、Bという名称のアクターを用意しました。
各アクターの赤矢印はX方向(Forward Vector)、緑矢印はY方向(Right Vector)です。

Make Rot from Y を使ってみる


Aを回転させた後、AのY方向(緑矢印)からRotatorを作ります。
そしてSetActorRotationでRotatorをBアクターに適用します。
はたしてBAと同じ方向を向いてくれるのでしょうか?

結果


両アクターとも、Y方向(緑矢印)は同じ方を向いています。ですが、X方向(赤矢印)は違っています。

Make Rot from 系のノードは、入力した軸を元にRotatorを作ります。BアクターのY方向として、AアクターのY方向を指定したので、両アクターのRotation自体は異なっていますが、Y方向は揃っています。

AのY軸とBのX軸を揃える

今度はAアクターのY軸をX軸に見立てた場合の回転を作ります。
RotatorをBアクターに適用します。


AアクターのY軸とBアクターのX軸の向きが揃っています。

Make Rot from XY でX軸とY軸を入れ替える

AアクターのX軸をYの入力ピンに、Y軸をXの入力ピンに繋げます。
これによって作られたRotatorをBアクターに適用すると、以下のようになります。

XY と YX の違い

Make Rot from系ノードには、Make Rot from XY、Make Rot from YX と同じようなノードがあります。これについては以下に説明が載っていました。

historia.co.jp

2軸指定の Make Rot from ノードは初めに2つの軸が垂直に交わっているか調べ、垂直でなければ1番目に指定した方の軸のみを使ってRotatorを生成する。