Roba Memo - 素人のUnity覚書と奮闘記

素人のUnity覚書と奮闘記

オブジェクトを回転させる その2

使うメソッド

//回転させる
public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
//回転角度を取得する
public Vector3 localEulerAngles;

30度ずつ時計回りするスクリプト

public void OnRotation (GameObject target)
{
    target.transform.Rotate (0, 0, -30);

    Debug.Log("現在の角度=" + target.transform.localEulerAngles.z);

}

注意点

時計回りはマイナスになる。
localEulerAnglesで取得した角度は、正の数字になる。
例えば、時計回りに90度回転させたら、localEulerAngles.z=270になる。
どういうわけか、29.99…のような数字になる時があるので、判定で使う場合は四捨五入するといいかも。

if (Mathf.Round (target.transform.localEulerAngles.z) == 270){
    //270度だった場合の処理
}