(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

DOTweenで一回転(360度)以上角度を変える方法【Unity】【DOTween】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2021.3.1f1


はじめに

Unityで位置や大きさなどのアニメーション、

いわゆるTweenを実装するアセットとしてお馴染みのDOTween

DOTween Pro | Visual Scripting | Unity Asset Store


今回はそのDOTweenで一回転以上させる方法の紹介です!


ちなみに以前書いた1文字ずつアニメーションさせる方法の記事でも使っていたりします。


なお、記事中では以下のアセットを使っています。

Clean & Minimalist GUI Pack | 2D GUI | Unity Asset Store



一回転以上角度を変える方法

DOTweenはtransformのDORotateで簡単に回転させる事が出来ますが、

これをそのまま使うと指定した角度になるように最短で回ってしまいます。

例えば380度回転させようとすると20度回転して止まります。

//2秒で時計回りに380度(回ってほしいが、20度回って止まってしまう)
transform.DORotate(new Vector3(0, 0, -380), 2);


そんな時は第3引数にRotateMode.FastBeyond360を指定すればOK。

//2秒で時計回りに380度
transform.DORotate(new Vector3(0, 0, -380), 2, RotateMode.FastBeyond360);


ちなみにずっとループで回転をさせたい場合は以下のような感じに。

//1秒で時計回りに1回転をループ
transform.DORotate(new Vector3(0, 0, -360), 1, RotateMode.FastBeyond360)
  .SetEase(Ease.Linear)//直線的に変化するように
  .SetLoops(-1);//永続ループ