Unityでオブジェクトを指定した角度に回転させる方法のまとめ
前提
Unity上のオブジェクトを、指定した角度に回転させたい。例えば、Rotationの値が(0, 0, 90)になるようにしたい。
簡単なようでいて、この対応が意外とややこしいので、備忘録として。
対応
対応は2種類の方法がある。
- Transformの「eulerAngles」を指定する方法。
- transform.rotationを指定する方法。
Transformの「eulerAngles」を指定する方法。
this.gameObject.transform.eulerAngles = new Vector3(0, 0, 90);
Transformの「eulerAngles」はVector3で指定できるので便利。
transform.rotationを指定する方法。
transform.rotation = Quaternion.AngleAxis(90.0f, new Vector3(0, 0, 1));
「Quaternion.AngleAxis」を使用して角度と回転軸を指定すると、それに見合ったQuaternionの値を返してくれる。Transform.rotationにそのまま代入できるのは便利。
参考
以下の記事に助けて頂いた。他にもよくまとまっていて素晴らしい記事。感謝申し上げる。