特定のオブジェクトを中心にして、90度ずつ向きを変えられるように、スクリプトを作成しましょう。
今回の例では、Sphereを対象に、クリックで90°回転するようにしています。
関連記事:
回転の往復をくり返す
4つの座標で回転して四角形に動く
1秒おきにランダムで回転角を変える
オブジェクトの外周に沿って動く
円を描くように移動する
特定オブジェクトを対象に90度ずつ回転
SphereとCubeを作成します。
X方向をずらして配置します。
ゲームビューではこのように見えています。
CubeAngle.csを作成し、Cubeに追加します。
CubeAngle.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeAngle : MonoBehaviour { [SerializeField] GameObject centerObj; int angle = 90; void Update () { if(Input.GetMouseButtonDown(0)) { //RotateAround(中心の場所,回転軸,回転角度) transform.RotateAround (centerObj.transform.position, Vector3.up, angle); } else if(Input.GetMouseButtonDown(1)) { //RotateAround(中心の場所,回転軸,回転角度) transform.RotateAround (centerObj.transform.position, Vector3.up, -angle); } } } |
CenterObjのフィールドに、Sphereを入れます。
ゲームプレイしてみましょう。
左クリックすれば、時計回りに90度ずつ回転。
右クリックでは、反時計回りに動きます。
関連記事:
回転の往復をくり返す
4つの座標で回転して四角形に動く
1秒おきにランダムで回転角を変える
オブジェクトの外周に沿って動く
円を描くように移動する