DOTweenの導入方法と使用例

DOTweenはUnityのAssetのひとつで、Objectの動きを制御するAsset。
無料版と有料版があるが、今回は無料版を利用した。


assetstore.unity.com


先ず、上記のAssetをDownloadし、Importする。
その次に下記のようなウィンドウが表示されるので、「Setup DOTween」を押下。


「Setup DOTween」押下


そうするとAdd/Remove Modulesに遷移するので、「Apply」を押下。


「Apply」押下


これで準備完了。
あとは、Objectにアタッチされているスクリプトに動きをコーディングすると完了となる。


動きのコーディングの前にやることは、スクリプト冒頭に、

using DG.Tweening;

を記載。これでDOTweemingをこのスクリプト内で使用可能となる。


では、実際に動きのコーディングをしていく。
 今回は2種類の動きを作ろうと思う。
どのような動きか、画像をあげるので灰色の円盤状の機体に注目してほしい。


まず1つ目。
下記のような簡単な直線的な動き。



この動きを実現させるためには、下記のコーディングをする。

void Start()
{
    transform.DOMove(new Vector3(0, -750, 0), 4.0f)
                    .SetEase(Ease.Linear);
}

簡単に説明すると、

  • 第1引数は到着点
  • 第2引数は到着点に行くまでにかかる時間
  • チェーンメソッドSetEase()は加速減速の方法

今回のケースだと、
(0, -750, 0)4秒かけて加速減速なしで向かう
となる。
これだけで完成となる。
ちなみにObject出現位置が動きの開始位置となるのでそこは記述の必要はない。


2つ目。
Pathを指定してその経路を通る動き。下記のような動き。



この動きを実現させるためには、下記のコーディングをする。

void Start()
{
            Vector3[] paths = new[] {
                                    new Vector3(0, 0, 0),
                                    new Vector3(-450, 300, 0)
                                 };
            transform.DOPath(paths, 2.0f, PathType.CatmullRom)
                            .SetEase(Ease.Linear);
}

簡単に説明すると、
先ず、Vector3でPathの配列を作る。
そのあとに動きの制御のDOPathを利用する。

  • 第1引数はPathの配列
  • 第2引数は到着点に行くまでにかかる時間
  • チェーンメソッドSetEase()は加速減速の方法

今回のケースだと、
(0, -750, 0)、(-450, 300, 0)を経由して2秒かけて加速減速なしで向かう
となる。
これだけで完成となる。