円を描くような動きを、時計回りと反時計回りに切り替えられるように、スクリプトを作成してみましょう。
Sphereをクリックすれば、逆方向に回転。もう一度クリックすれば、元通りに回転します。

回転する向きを変える
空のオブジェクトを作成します。

この名前をCenterPointにします。
CenterPointが、円状の動きをつける、中心点になります。

Sphereオブジェクトを作成します。
CenterPointから少しずらした位置にします。

CircleMove.csを作成し、Sphereに追加します。

CircleMove.csを記述します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CircleMove : MonoBehaviour { [SerializeField] GameObject centerObj; private float angle = 100; private bool flag; void Update () { //時計回り if(!flag) { transform.RotateAround (centerObj.transform.position, Vector3.forward, -angle * Time.deltaTime); } //反時計回り else { transform.RotateAround (centerObj.transform.position, Vector3.forward, angle * Time.deltaTime); } } void OnMouseDown() { if(!flag) { flag = true; } else { flag = false; } } } |
CenterObjのフィールドに、CenterPointを入れます。

ゲームプレイしてみましょう。
Sphereをクリックすれば、回転の向きが変わります。
