Unity初心者がRotationを理解するための第一歩

transform.rotationは
Quaternion というデータフォーマットを基に決定されています。

一般的に利用されているオイラー角度(360度で1回転)とは異なる概念で、
直感的な理解が難しいと思います。

Inspector上では、オイラー角度で表示されているし、変更もできると思う方もいるかもですね。
どうやら、Inspecterに表示の際はQuaternion→オイラーへ変換されて表示されているようです。

つまり、
Quaternion と オイラー角度 はお互いに変換可能な数値ということです。

Quaternion.eulerAngles : 
Quaternion → オイラー角への変換メソッド

Vecto3 型で、(x軸の角度,  y軸の角度, z軸の角度)というデータ
数値はfloat
transform.rotation.eulerAngles で、transformのオイラー角度が算出

https://docs.unity3d.com/ja/540/ScriptReference/Quaternion-eulerAngles.html

Quaternion.Euler :
オイラー角 → Quaternionへの変換メソッド
上記、Quaternion と オイラー角度 を変換させる方法を説明してきました。

これらを用いれば、オイラー角度を用いて、rotationを操作する方法も可能ということです。

しかし、オイラー角度を用いた簡単な方法があります。
それがRotateメソッドです。

Transform,rotate(x, y, z, relativeTo )
x軸・y軸・z軸に対して、Transformを回転させる角度を変更することが可能です。
現在のTransformに対して、角度を加算します。

relativeToとは
ローカル座標を基準にするのか ・ ワールド座標を基準にするのかを指定することが出来ます。

x, y, zは、オイラー角度で、数値はflaot

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です