バッテラ777

ゲーム開発に関する情報を共有するブログです。記事を8192書くまでやめれません

【Unity】3Dオブジェクトを回転させる方法

Unity

はじめに

今日はUnityについて勉強していきます。

今更ですがゲームオブジェクトの回転をどうやるのかを覚えていなかったので自分の脳への定着化も兼ねて記事化していこうと思います。

環境

この記事の情報は次のバージョンで動作確認しています。

* MacOS Monterey (12.1)
* Unity (2021.3.2f1)

指定の角度に設定する (絶対値)

transform.localRotation = Quaternion.Euler(x, y, z);
transform.localRotation = Quaternion.Euler(Vector3);

transform.rotationだとグローバル座標での角度

指定の角度分回転する (相対値)

Transform.Rotateを使います

transform.Rotate(x, y, z);

x,y,zに各軸で回転させる度数を指定します。

Rotateメソッドはオーバーライドが結構あります。詳しくは公式サイトで!

docs.unity3d.com

一応上記のRotateはローカル座標での回転ですが、ワールド座標での回に転させたい場合は下記のようにします。

transform.Rotate(x, y, z, , Space.World); // Space.Self(デフォルト)だとローカル座標

うーん。ワールド軸で回転させる必要性がよく分かりませんが。。

おわりに

最後まで見ていただきヘペトナス!

読者登録・Twitterのフォローもお願いします。