LemonteaのUnity部屋

LemonteaのUnity部屋

Unityの使い方とかです~

初めてのスクリプト(7) 任意の物体の周りをRatateAroundで回転させる

こんにちは。レモンティーです。

ステージギミックとかで、特定のルートまたは物体の周りを
クルクル回って欲しいことってありませんか?

そんなとき、sinやcosを使わなくても
自動で回転移動させてくれるのがtransform.RotateAroundです。

こんなふうに使います

RotateAround(Vector3 point, Vector3 axis, float angle);

pointは、中心の座標です。

axisは、回転の軸です。

angleは、回転させる角度です。Updateに書くことが多いとおもいますが、その場合は1フレーム当たりの回転角ですね。


回転の中心にCubeなどを使いたいときは、あらかじめGameObject型の変数に取得しておきます。
たとえばXという変数に入れた場合、こんな感じでかきます

transform.RotateAround(X.transform.position, Vector3.up, Y*Time.deltatime);


これをUpdateの中に書けば、
このスクリプトをアタッチしたオブジェクトは
X(Cube)を中心に1秒につきY度づつ回転しつづけます。
Vector3.upはz方向の単位ベクトルなので、xy平面を回転します。


こんな簡単に書けるとは知らず…私は最初
Rigidbodyで向心力を作ろうとして楕円ばかりできたので書いておきます。

これなにげに便利なんですよね

今回はこれでおしまいです。


Next
sawalemounity.hatenablog.com


前回
sawalemounity.hatenablog.com


関連
移動モノ
sawalemounity.hatenablog.com