通常、オブジェクトの回転軸は中心にありますが、軸をずらして回転をさせてみましょう。
棒の端を回転軸にして、マウスを押すとバットを振るように回ります。
回転の中心を変更する
Cubeを作成して、スケールを変更し、棒状に伸ばします。
このままでは、オブジェクトの中心を軸にして回転してしまいます。
空のオブジェクトを作成します。
GameObject(空のオブジェクト)のX座標を動かします。
ちょうど、Cubeの端まで移動しました。
Cubeをドラッグ&ドロップして、GameObjectの子オブジェクトとして入れます。
CubeRotate.csを作成して、GameObjectに追加します。
CubeRotate.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeRotate : MonoBehaviour { void Update() { if(Input.GetMouseButton(0)) transform.Rotate(0,10,0); else if(Input.GetMouseButton(1)) transform.Rotate(0,-10,0); } } |
ゲームプレイして、左右のマウスボタンを長押ししてみましょう。
マウスを押した分だけ、Cubeが回転します。
中心をGameObject(空のオブジェクト)にすることで、Cubeの回転軸を変えています。