バッテラが如く

プログラミングしましょ!

【DoTween】DOTweenAnimationで終了後に別のDOTweenAnimationを実行したい場合

Unity (2021.3.2f1)

はじめに

DOTWeenPRO(有料版)ではインスペクターでアニメーションをセットすることができます(下図)。

さらにDOTWeenAnimationを複数アタッチすることもできるので、
拡大やフェードを同時にするといったことも簡単にできたりします。

しかし、これらは「よーいどん」でアニメーションがスタートしてしまいます。
これを片方ずつ順次再生させたかったのでそれをやるにはどうしたらいいかという内容です。

今回使ったアセット

・DOTWeenPro

ゴール

例として「移動後」に「フェードアウト」をゴールとしたいと思います。

普通はこうなる

DOTWennAnimationを複数登録しただけだとこうなります。

「移動」と「フェードアウト」が同時に動いています。

これを片方ずつ再生するのがゴールです。

手順

2つ目は自動再生しないようにする

当たり前ですがAutoPlayがオンになっていると勝手に再生しちゃいます。

2つ目は1つ目が終わった後に再生したいので、AutoPlayのチェックを外しておきます。

1つ目のOnCompleteでDOPlayNextを呼ぶ

1個目の終わりを検知するにはOnCompleteでイベントを追加します。

オブジェクトは自分自身(Sceneタブにいる)を選択します。

Functionのプルダウンを開くと以下の画面が出てきます。

その中にあるDOPlayNext()を選びます。

これで再生してみるとゴールの形になります。

注意事項

OnCompleteはプレビューだと確認できないので、シーンを再生する必要があります。

そこがちょっと手間ですねー。