[Unity 3D] ゲームオブジェクトをゆっくり90度回転させる方法。

(2022/03/15)
ゲームオブジェクトをゆっくり90度回転させる方法。

UnityでCubeを90度回転させようと思った時、transform.Rotateで90度回転すると一気に回転してしまい、見ていて回転しているのが分かりずらいのでゲームオブジェクトをゆっくり回転させる方法を書き残しておきます。

ゲームオブジェクトをゆっくり90度回転させる方法

コルーチンを使えば、ゲームオブジェクトをゆっくり90度回転させることができます。

bool rot = true;

float speed = 1f;

  void Start()
  {

  }

  void Update()
  {
      if (Input.GetKeyDown(KeyCode.Space) && rot == true) {
        rot = false;
        StartCoroutine(rt());
      }
  }

  IEnumerator rt()
  {
    int i = 0;
    while(i < 90)
    {
    i++;
    this.transform.Rotate(0,speed,0);
    yield return null;
    }
    rot = true;
  }

上のコードでは、スペースキーを押すとゲームオブジェクトが90度回転します。また三行目のspeedの値を変えることで回転するスピードを変えることができます。
回転中はコルーチンを呼び出さないためにbool型の変数を使いました。(一行目の「bool rot = true;」のこと)

 
他の記事も見る
 
  • プライバシーポリシー