今回はUnityでオブジェクトの回転を行う「Quaternion」についてのメモです。
はじめに
Unityのバージョンは2021.3.3f1です。
スクリプトでオブジェクトを回転させるQuaternionについてです。
実装開始
まずは「2D Object」→「Sprites」→「Square」を追加。

Rotationの数値を動かすとオブジェクトが回転します。

シーンを3Dにして数値を変えると、どこを軸にオブジェクトが回転しているか分かりやすいです。

2Dの場合、Zの値を変化させてオブジェクトを回転するケースが多いです。

スクリプトで実装
下記のスクリプトを作成してオブジェクトにアタッチすると、インスペクター画面で値をセットしたのと同じになります。
using UnityEngine; public class RotateSample : MonoBehaviour { void Start() { transform.rotation = Quaternion.Euler(0, 0, 45); } }
徐々にオブジェクトを回転させる場合は、下記の様なスクリプト。
using UnityEngine; public class RotateSample : MonoBehaviour { [SerializeField] private float _rotateSpeed; private float angle; private void Update() { angle += _rotateSpeed * Time.deltaTime; transform.rotation = Quaternion.Euler(0, 0, angle); } }
パラメータをセット。

公式リファレンスは下記。