UE5の回転軸について
UE5ではX軸・Y軸・Z軸で3次元空間を表現し、回転軸についてオイラー角(X・Y・Zを使った3つの角度の組で回転状態を表現)で示す。
Unity(UEと同じく3Dゲーム制作ソフト)と比較して異なる点がいくつかあり、つまづきやすい。詳しく紹介していく。
UE5の回転軸の目次
X軸・Y軸・Z軸回転軸について
回転に関わるノード
目次にもどる
UE5のX軸・Y軸・Z軸
UE5でアクタを選択すると、X軸(赤で前後)・Y軸(緑で左右)・Z軸(青で上下)を示す矢印が以下のように表示される。
.jpg)
UnityはY軸(上下)・Z軸(前後)だが、UE5はZ軸(上下)・X軸(前後)となっており混乱しやすいので注意したい。
なお、UE5では、Roll(ロール)・Pitch(ピッチ)・Yaw(ヨー)という軸の呼び方もある。
X・Y・Z軸とは呼び方が違うだけである。
・X軸=Roll(ロール)
・Y軸=Pitch(ピッチ)
・Z軸=Yaw(ヨー)
ブループリントの各ノードでトランスフォーム(アクタの位置・向き・大きさ)を変更する際などにRoll,Pitch,Yawなどと出てくる。
今回の記事では回転軸について紹介していくが、位置や大きさにも軸は関わる。
非常に重要なので、XYZ軸とRoll,Pitch,Yawについてはしっかり覚えておきたい。
目次にもどるUE5の回転軸について
UE5では回転軸をオイラー角(X・Y・Zを使った3つの角度の組で回転状態を表現)で示す。
例えば、Z軸=Yawの回転でキャラの左右の向きを表現できる(上下に伸びるZ軸を中心に回転するため)。
Z軸を中心に回転方向を正の値(右回転)あるいは負の値(左回転)で表現する。
.jpg)
試しにサードパーソンテンプレートを開いてほしい。そしてキャラでもキューブでもいいのでアクタを選択しよう。
詳細にあるトランスフォームの回転の「Z軸=Yaw」の数値を正の値に変えれば右に向きを変える(180°を入力すると真後ろを向く)。
.jpg)
「Z軸=Yaw」の数値を負の値に変えれば左に向きを変える(-180°を入力すると真後ろを向く)。
.jpg)
0°~360°で表現していたUnityと異なるため、混乱しやすい。
例えば210°など180°を超える数値を入力しても、きちんと補正され左斜め後方を向く(-150°と同じ)ので問題はない。
ただ、回転角度がマイナスであれば左回転と一発で判別できるなどメリットがあるので、基本的に負の値を使うのがおすすめ。
キャラの左右の向きが必要になるアクションは非常に多く、Z軸=Yawは最も使用機会が多いと言える。
同様にキャラが上を見上げたり足元を見るなどの向きの表現にはY軸=Pitchの回転を使うことになる。
Y軸を中心に回転方向を正の値(キャラが上を見上げる)あるいは負の値(キャラが足元を向く)で表現する。
.jpg)
キャラの側転を表現するにはX軸=Rollの回転を使うことになる。
X軸を中心に回転方向を正の値(キャラが右方向に傾く)あるいは負の値(キャラが左方向に傾く)で表現する。
.jpg)
側転のようなアクションがゲームで必要になることはあまりなく、Z軸=YawやY軸=Pitchと比べると使用機会は少ない。
目次にもどるUE5の回転に関わるノード。
UE5の回転に関わるノードをいくつか紹介していく。
SetActorRotation
.jpg)
New Rotationに入力したX軸・Y軸・Z軸の角度へ瞬時にターゲットを回転させることができるノード。
ターゲットがselfなら、このノードがあるブループリントクラスのアクタが回転する。
RInterp To

「Currentに指定した向き」から「Targetに指定した向き」まで時間をかけて回転させる。
どの程度のスピードで回転するかはInterp Speedで指定可能。
詳しくは以下の記事を確認してほしい。
RInterp Toの使い方