DOTweenの公式サイトに特徴が書かれています。
こちらを参考に、DOTweenの特徴を日本語でまとめました。
DOTweenの特徴
処理が早い&効率が良い
DOTweenはかなり高速で動きます。
またそれだけでなく、キャッシュや再利用の工夫がされていて無駄なGC Allocを防げるようになっています。
インテリセンスに対応
全てのコードにXMLコメントがついており、エディタのインテリセンスで表示することができます。英語だけど大体わかる。
インテリセンスはこういうメソッドの説明とかのやつです。
これは地味に嬉しい。
型安全、文字列は一切なし
すべて型安全で、文字列は一切使われていません。
簡潔で理解しやすい記法
transform.DOMove(new Vector3(1, 2, 3), 10);
これで「座標(1, 2, 3)まで10秒かけて移動する」という処理になります。
めちゃくちゃ分かりやすい。
また、x座標だけを変化させたい場合は
transform.DOMoveX(1, 10);
のように簡潔に書くこともできます。
時間が正確
DOTweenは基本的に「何秒で何をする」という処理をするわけですが、この「何秒」の部分が非常に正確。
1秒の処理を1000回ループさせる処理と、1000秒の処理を1回させる処理は同時に終わります。
使いやすいAPI
APIが非常に分かりやすく直感的で、かなり使いやすいです。
メソッドを全部覚えていなくても「こんな感じに書けばできそう」で実際にできることもしばしば。
ほぼ全てをアニメーション化できる
transformだけではなく、Unityで扱うほぼ全てをアニメーション化することができます。
ホントか?と思われるかもしれませんが、そもそもクラス変数も補間できる(Mathf.Lerp()みたいな感じ)ので、本当に「ほぼ全て」です。
モジュール単位で無効化できる
DOTweenは以下のモジュールが存在します。
- Audio
- Physics
- Physics2D
- Sprites
- UI
- TextMeshPro
- 2D Toolkit
モジュール単位で有効化/無効化できるので、プロジェクトで不要なものは外すことができます。
処理のオプションが豊富
「軸を固定して移動」などのオプションが豊富で、各アニメーションに対して指定することができます。
アニメーションイベントが豊富
開始時/終了時/一時停止時/巻き戻し時/再開時など、アニメーションの流れに合わせて処理を行うことができます。
複数のアニメーションを同時実行
アニメーションは同時に並行して実行することができます。
さらに、アニメーション同士をブレンドして実行することも可能です。
パスでアニメーションを作成
パスによって自由にアニメーションの動きなどを指定することができます。
実行中でも変更可能
アニメーションの実行中でも、最終的な値やアニメーション時間を動的に変更することができます。
セーフモード完備
アニメーション中のGameObjectが途中で破棄された場合でも、セーフモードが有効になっている場合(デフォルトで有効)はエラーは起きません。
逆にセーフモードを無効にして、しっかりTweenも破棄するように気をつけることもできます。
非同期処理との組み合わせやすい
「WaitFor〜」といった待機するメソッドが用意されているため、コルーチン内でアニメーションの完了を待機する、みたいな処理も簡単に行うことができます。
回転オプションが豊富
Unity(というか3Dゲーム開発)で地味に面倒なのが「回転」ですが、DOTweenでは回転に関するオプションが豊富です。
最短経路で回転するか否かや、ローカル座標/ワールド座標の指定などができます。
メソッドが共通利用できる
DOTweenにはTweenerとSequenceという2つの主に使うクラスがあるのですが、どちらもTweenクラスを継承しているためどちらのクラスかを気にせずに同じメソッドが利用できます。
確かに全く気にしていませんでした。
拡張性が高い
DOTweenは拡張性を意識して作られており、独自のプラグインを別ファイルとして作ることができます。
遅延実行が可能
アニメーションだけではなく、「○秒後にこの処理を実行する」というような遅延実行も可能です。
イージングの種類が豊富
イージングの種類が豊富で、30種類以上のイージングの中から選ぶことができます。
更新タイミングを指定できる
Update()のタイミングだけではなく、FixedUpdate()やLateUpdate()のタイミングで更新することもできます。
その他オプションが豊富
その他にもコールバック、ループ処理、TimeScaleなど様々なオプションが用意されています。
結論
DOTweenの特徴を公式サイトを参考にまとめてみました。
結論としてはなかなかの高機能で、非常に直感的。
やはり超おすすめです。
個人的にはDOTweenがないとやってられません。
コメント