渋谷ほととぎす通信

エンジニア社長によるUnityとAIのブログ & エンジニアの生存戦略

DOTweenで360度以上くるくる回転させる方法

DOTweenで360度以上くるくる回転させる方法

こんにちは、Unityエンジニアのオオバです。

オブジェクトをくるくる回転させたいとき
どのように実装しますか?

よく紹介される Updateメソッド
角度をセットする定番の方法もあります。

  • 回転する秒数指定
  • 回転するスピード指定
  • イージングの指定

オオバ的には↑上の3つの指定方法をもつ
DOTweenで実装した方が
汎用性が高く 実装手段としてオススメです。

ただしDOTweenの回転処理は一筋縄ではうまくいきません。

本記事ではDOTweenで
360度以上回転させる方法について解説します。

DOTweenのRotateMode.FastBeyond360を設定する

DOTweenで360度以上くるくる回転させる方法_0

結論を簡単にまとめると、
DOLocalRotateメソッドの第3引数に
RotateMode.FastBeyond360の指定をする
」です。

💻ソースコード : くるくる360度以上DOTweenで回転させるサンプル
transform.DOLocalRotate(new Vector3(0, 0, 720f), 2f,  
    RotateMode.FastBeyond360);  

↑コチラのコードを実行すると、
2秒かけて720度回転します。

RotateMode.FastBeyond360 を指定すると
360度以上回転させることができるのです。

ここから詳細を解説していきます。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

DOTweenはデフォルトで角度の小さい方へ回転する

DOTweenで360度以上くるくる回転させる方法_1

DOTweenはデフォルト角度が小さい方へ回転します。
たとえば以下のコード。

指定角度は360度にしていますが、
このDOTweenは回転しません。

💻ソースコード : 360度指定しているが回転しないDOTween失敗サンプル
transform.DOLocalRotate(new Vector3(0, 0, 360f), 2f);  

0度と360度は同じ角度と判定 されてしまうため、
小さい角度の方、つまり0度が採用され 回転しない のです。

RotateMode.FastBeyond360を指定して360度以上回転させる

DOTweenで360度以上くるくる回転させる方法_2

DOLocalRotateメソッドの第3引数には
RotateModeを指定できます。

RotateMode.FastBeyond360 を設定することで
360度と指定すれば、1回転。

360度以上をすればその分だけ回転します。

💻ソースコード : 6秒かけて360度回転し続けるDOTweenサンプル
transform.DOLocalRotate(new Vector3(0, 0, 360f), 6f, RotateMode.FastBeyond360)  
    .SetEase(Ease.Linear)  
    .SetLoops(-1, LoopType.Restart);  

DOLocalRotateの第3引数に
RotateMode.FastBeyond360を設定することで、
このように360度回転させることができます。

DOTweenで360度以上くるくる回転させる方法_3
無限ループ(SetLoos(-1))設定もしているため、
指定がない限り永遠に回転します。

まとめ : 360度以上回転させたいときはFastBeyond360を指定する

DOTweenで360度以上くるくる回転させる方法_4

記事の内容を簡単にまとめます。

  • DOTweenはデフォルト角度が小さい方へ回転
  • 360度以上回転したい場合はRotateMode.FastBeyond360を指定

こんな感じです。

DOTweenで回転アニメーションさせた方が、
管理もしやすくオススメです。

ぜひとも回転をマスターしましょう!

もっと詳しくDOTweenのことを知りたい方はDOTweenの教科書を読んでみてください。

オオバ
オオバ
無料ページだけでもかなり学べますよ!
DOTweenの教科書
【600冊以上販売】Unityのアニメーション用ライブラリのDOTweenを体系的に学べる教科書。11万文字の大ボリュー...
詳しくはこちら
DOTweenの教科書

Unityオブジェクトの描画順の制御って難しいですよね。
この度、Unityの描画順を体系的に学べる「Unity描画順の教科書」を執筆しました。

Unityの描画順を基礎から学びたい方はぜひ確認してみてください!
Unity描画順の教科書

最後まで読んでいただきありがとうございました!
すばらしいDOTweenライフをお過ごしください。

オススメ記事