Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Unity(初心者向き)】ゲームオブジェクトの向きや角度、回転について

 

Unityの回転や角度については混乱しやすい場合もありますので整理する意味も含めて説明として載せておきたいと思います。

 

 

1.ゲームオブジェクトの向き

 

 

ゲームオブジェクトの向きは以下のようにあらわします。

 

型はQuaternion型です。

 

Quaternion rot = transform.rotation;

 

2.ゲームオブジェクトの向きの指定(度数)

 

ゲームオブジェクトの向きを度数で指定する時は以下のようにします。

 

transform.rotation = Quaternion.Euler( 30f, 0f, 0f); // X軸を30°に設定

 

また、親子関係のオブジェクトの子のオブジェクトの相対角度を指定する時は

transform.localRotationを使用します。

 

transform.localRotation = Quaternion.Euler( 20f, 0f, 0f); // X軸を20°に設定

 

 

3.ゲームオブジェクトの角度の取り出し

 

ゲームオブジェクトの向きをVector3型の角度(度数)で取り出す時は以下のようにします。

 

Vevtor3 angle = transform.eulerAngles; // 結果はVector3型で各要素は角度

 

また、ゲームオブジェクトの向きのそれぞれの角度(度数)を個別で取り出す時は以下のようにします。

 

float angleX = transform.eulerAngles.x; // x軸の回転量

 

 

4.ゲームオブジェクトの回転

 

ゲームオブジェクトを度数を指定して回転させる時は以下のようにします。

 

transform.Rotate (20f, 0f, 0f );  // X軸を20°回転

 

 

ゲームオブジェクトをX軸(yz平面)に沿って回転させるような場合は以下のようにします。

 

transform.Rotate( 120.0f * Time.deltaTime , 0f , 0f );

 

実際に、ある軸(平面)に沿ってオブジェクトを回転させるような場合には、該当オブジェクト以外に空のオブジェクトを置いてそれを該当オブジェクトの親オブジェクトとしてその親オブジェクトのtransform.rotationを操作したほうが単純な場合が多いです。

 

 

以上、Unityでのゲームオブジェクトの向きや角度、回転についての簡単な説明になります。