1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Unity】 dotweenを使った動きの紹介

Last updated at Posted at 2025-12-06

はじめに

dotween便利すぎて凄い、しかも無料!?皆さん使ってください!!!って記事です。
使い方は色んな方が解説してると思うので、実際の動きでこの命令使ってるよっていう紹介記事です。

https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676?locale=ja-JP
dotweenはこちら

DOLocalMove

test5.gif

タイトルが横から来て、コマンド系は下から出てきます。これはDOLocalMoveを使ってます。

    titleL.transform.DOLocalMoveX(-3.6f, 0.5f);
    titleCom.transform.DOLocalMoveY(-0.7f, 0.5f);

X軸だけ動かすとかY軸だけ動かすのが出来るのも良いですね。

    this.transform.DOLocalMove(new Vector3(-90, -15, 0), 0.3f);

カーソルはこれで動かしてます。
gifの容量の関係でカットされてますが、コマンド側からすーっと、ウィンドウ中に移動するため、ここはvector3で指定してます。

test2.gif

カメラを動かすのにもDOMoveを使ってます。

    Camera.main.transform.DOLocalMove(new Vector3(0, 6.3f, -18f), 0.7f);
    Camera.main.transform.DORotate(new Vector3(25, 0, 0), 0.7f);

位置を動かして、角度を替えてます。Rotateもよく使うね。
カードやらステータスやらも全部DOMoveですね。下から出たり横から出たり。

    btlEne.transform.DOJump(new Vector3(3.5f, 0.3f, -4.5f), 1f, 1, 0.5f).SetEase(Ease.Linear);
    btlEne.transform.DOScale(Vector3.one * 0.8f, 0.5f).SetEase(Ease.Linear);

キャラがぴょーんと飛んでくるのはDOJumpですね。
ついでに遠近法っぽく見えるようサイズも変えてます。

DOScale

test3.gif

このカードを切り替えたときのばよんっていう動きはスケールでやってます。

    private IEnumerator bayon()
    {
        Vector3 originalScale = cardImage.transform.localScale;
        cardImage.transform.DOScale(originalScale * 1.2f, 0.2f)
        .OnComplete(() => cardImage.transform.localScale = originalScale);

        yield return new WaitForSeconds(0.3f);

        cardImage.transform.localScale = originalScale;
    }

で、選択したときにくるんとする動きはDORotateですね。

    private IEnumerator kurun()
    {
        Sequence seq = DOTween.Sequence();
        seq.Append(cardImage.transform.DORotate(new Vector3(0f, 90f, 0f), 0.25f).SetEase(Ease.InOutQuad))
           .AppendCallback(() => {
                       cardImage.sprite = ResourceManager.instance.cardSprites["Card1-2"];               }
           })
           .Append(cardImage.transform.DORotate(new Vector3(0f, 0f, 0f), 0.25f).SetEase(Ease.InOutQuad));

        yield return new WaitForSeconds(1f);
    }

ひっくり返ったときにカード画像をCard1-2に替えてるよって感じです。

DORotate

DORotateは上でも紹介しちゃったけど、こういう回し方も出来るよということで。

test4.gif

        enban.transform.DORotate(new Vector3(15, 0, 1080f + targetAngle), 4f, RotateMode.FastBeyond360).SetEase(Ease.OutCubic);

これだけでくるくる回して減速していきます。SetEaseで自動的に減速してくれるわけです。
これはルーレットなので、先にどこで止まるかっていうのを決めて、最終的にその角度になるようにって回してるんですが。

Shakeはダメージ食らった時とかの振動で使ってたんだけど、あれ座標がズレてっちゃうからあんまり使わないでアニメーションで振動っぽい動きを自分で作るようになっちゃった。
多分私がアレなんだけど。

終わり

以上がdotweenの紹介でした。便利ですね。

👉 fungusに関する記事はこちら Fungusの導入からカスタムまで(1)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?