【Unity】DOTweenについて

DOTween(Demigiant’s Object Tweening)は、Unityゲームエンジン向けの非常に強力で便利なアニメーションライブラリです。DOTweenを利用することで、オブジェクトのアニメーション、トゥイーン(補間処理)、エフェクトの実装が非常に簡単になります。


特徴

DOTweenの主な特徴と用途は以下の通りです:

  • 簡単なアニメーション
    線形や非線形のアニメーションを簡単に作成できます。位置、回転、スケール、アルファ(透明度)、色など、さまざまなプロパティに対して柔軟なアニメーションが実現可能です。
  • イージング
    複数のイージング(Tween進行速度曲線)をサポートしており、滑らかでリアルな動きを簡単に実装できます。
  • シーケンス
    複数のアニメーションを組み合わせ、シーケンスとして連続的な動きを設定できます。たとえば、オブジェクトを移動させた後に回転、さらに拡大するといった処理が可能です。
  • ループとリピート
    アニメーションのループや繰り返し再生が簡単に設定でき、定常的な動作を容易に実装できます。
  • コールバック
    アニメーション完了時にコールバック関数を呼び出すことで、完了後の特定処理やイベントを簡単に実装できます。
  • パスのアニメーション
    オブジェクトを指定したパスに沿って動かすアニメーションも実装可能です。
  • 高性能・効率的
    大量のオブジェクトに対しても軽快に動作する高効率なエンジン設計となっています。
  • プラグイン対応
    多くのプラグインと連携可能で、さらに高度なアニメーション効果の実装が可能です。

DOTweenの利用方法

DOTweenは、シンプルなアニメーションから複雑なゲームプレイ要素まで幅広くサポートします。また、オープンソースとして提供されており、活発なコミュニティによってサポートされています。Unityプロジェクトに統合する際は、通常UnityのPackage ManagerからDOTweenをインストールし、スクリプト内で以下のように使用します。


サンプルコード

オブジェクトの移動サンプル

まず、シーンにオブジェクトを配置し、対象のTransformを操作するサンプルコードを示します。下記の例では、指定したTransformオブジェクトを (5, 0, 0) の位置へ2秒かけて移動させ、完了後にログを出力します。

using UnityEngine;
using DG.Tweening;

public class DOTweenSample : MonoBehaviour
{
    // アニメーション対象のTransform
    public Transform targetTransform;

    private void Start()
    {
        if (targetTransform != null)
        {
            targetTransform.DOMove(new Vector3(5f, 0f, 0f), 2f)
                .SetEase(Ease.Linear) // イージングの設定
                .OnComplete(() =>
                {
                    Debug.Log("アニメーションが完了しました!");
                });
        }
    }
}

シーン上で、上記スクリプトをアタッチしたオブジェクトのInspectorから対象のTransformを指定し、シーン再生時にアニメーションが実行されることを確認してください。

オブジェクト自身にスクリプトをアタッチする場合

オブジェクト自身をアニメーションさせる場合は、以下のようにシンプルに記述できます。

using UnityEngine;
using DG.Tweening;

public class DOTweenSample : MonoBehaviour
{
    private void Start()
    {
        transform.DOMove(new Vector3(5f, 0f, 0f), 2f)
            .SetEase(Ease.Linear) // イージングの設定
            .OnComplete(() =>
            {
                Debug.Log("アニメーションが完了しました!");
            });
    }
}

その他のショートカット

DOTweenでは、以下のようなショートカットを利用して、簡単なアニメーション処理が実装できます。

  • カメラを寄せる場合
Camera.main.DOFieldOfView(20, 3);
  • オブジェクトをフェードアウトさせ透明にする場合
GetComponent<Renderer>().material.DOFade(0, 3);

参考情報


以上が、DOTweenの概要および利用方法の校正・再生成した内容となります。DOTweenは手軽にアニメーションを実装できる強力なライブラリなので、ぜひプロジェクトに取り入れてみてください。

TWeen,Unity

Posted by hidepon