オイラー角としての角度
x,y,zの角度は、z軸にz度、x軸にx度、y軸にy度の順に回転します。 この変数は読み込んだり、絶対値の角度を設定する時のみ使用してください。角度が360度を超えた時には失敗するのでインクリメントしないようにしてください。 代わりにTransform.Rotateを使用してください。
// Print the rotation around the global X Axis
print (transform.eulerAngles.x);
// Print the rotation around the global Y Axis
print (transform.eulerAngles.y);
// Print the rotation around the global Z Axis
print (transform.eulerAngles.z);
// Assign an absolute rotation using eulerAngles
var yRotation : float = 5.0;
function Update () {
yRotation += Input.GetAxis("Horizontal");
transform.eulerAngles = Vector3(10, yRotation, 0);
}
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float yRotation = 5.0F; void Update() { yRotation += Input.GetAxis("Horizontal"); transform.eulerAngles = new Vector3(10, yRotation, 0); } void Example() { print(transform.eulerAngles.x); print(transform.eulerAngles.y); print(transform.eulerAngles.z); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public yRotation as float = 5.0F def Update() as void: yRotation += Input.GetAxis('Horizontal') transform.eulerAngles = Vector3(10, yRotation, 0) def Example() as void: print(transform.eulerAngles.x) print(transform.eulerAngles.y) print(transform.eulerAngles.z)
(eulerAngles.x = 10; のように)eulerAnglesの一部だけ値を設定することはドリフトと予期せぬ回転につながるのでしないでください。 新しい値を設定するときは、上記のように一度にすべてを設定します。 Unityは Transform.rotation に格納されている回転から角度を変換します。