uGUI と DOTween で NGUI の Tween 的なものを作ってる

ども、ゴコーです。

今、タイトルの通り uGUI と DOTween を組み合わせて NGUI の 「Tween xx」コンポーネントみたいなことをするコンポーネントを作ってます。つまり、スクリプトは書かずインスペクターからどういうトゥイーンをするか設定できるようにします。

DOTween PRO(有料版)には DOTween Animation という上記の目的を達成するためのコンポーネントも用意されていますが、個人的に DOTween 自体に欲しい要素や DOTween にはあるのに DOTween Animation では省かれている部分を補完したものが欲しいケースがあったので自作することにしました。

現状できることは以下の通りです。
・DOTween のサポートしている RectTransform, CanvasGroup 対象のトゥイーンつなぎこみ
・シーケンスの作成(DOTween Animation にない)
・シーケンスは Reordable List で並び替えられるように
・RectTransform の Anchors の変更(DOTween にない)

シーケンスを作成できるということは複数のコンポーネントを対象に Append/Join で逐次/並列実行できるということで、使いどころは限られますが面白いことができるかもしれません。現時点の設計ではアタッチしたオブジェクトに対してしかシーケンスを作れないのですが、シーケンスが一番生きるのはマネージャーオブジェクトを外部に作って複数のオブジェクトを対象としたシーケンスを作った場合かなーと思ってます。

Anchors の変更はレスポンシブな UI を作るために必要な要素だと思いますが、 DOTween にはないので当初はその部分だけ拡張するつもりだったのですが、ノってきて最終的にはエディタ拡張までし始めてます。まあ、オレオレライブラリではなくオレオレ拡張、って感じですが。

見た目はこんな感じ↓

capture

今後の課題は
・RectTransform, CanvasGroup 以外の uGUI に関連するトゥイーンのつなぎこみ
・OnStart, OnComplete などに対応

来週中にはできるかなー。
できたら BitBucket とかで公開すると思います。
Reordable List に関して得られた知見もあるのでそこらへんにも触れられれば。

では、また。

Comments

comments

スポンサーリンク
336*280px