キーボードが治ったので久しぶりのブログ更新です。
今回の内容はTimelineのPlayableを簡単に自作する方法です。
Playableの自作
Timelineは現状、非常に単純な機能しか有していません。
例えば、アニメーションの再生、オーディオの再生、GameObjectのアクティブ切替、それと汎用ControlPlayableです。
ControlPlayableがソコソコ汎用的なのでソレナリに色々な事が出来るには出来るのですが、少し凝った事をしようとすると直ぐにPlayableを自作したくなります。
とは言え、Playableの自作はかなり面倒くさい作業です。
Monobehaviourのように単純に一つのコードでは動作せず、Playable Asset、Playable Behavour、そして現実的に運用しようと思ったらPlayable Trackが必要でしょう。
Playable Trackは作成一覧に無いので、気づきにくい項目です。
Playableをサクっと作るウィザード
この面倒くさいPlayableの作成をかなり単純にしてくれる機能がありました。
Default Playableに付いているTimeline Playable Wizardを使います。
Default Playableについてはコチラ
Timeline Playable Wizardの使い方
Wizardの使い方です。
まずDefault Playableをインポートしておき、Window > Timeline Playable Wizardを選択します。
すると下のような画面が出てきます。
クリップ側で特にバインドしないならばStandard Bind Playableにチェックを入れます。
要するに、トラックで動かす対象が固定ならばStandard Bind Playableにチェックを入れる、クリップ毎に動かす対象(目標)を変えたいならばチェックを外す…といった感じです。
後はTrack Binding Typeにバインドしたいクラス、Standard Bind Playable Propertyに動かしたい値を設定します。
例えばTransformのPositionをTimelineで動かしたい場合は、下のような設定になります。
字幕のようにTimeineで文字が変わる項目を作りたい場合は、下のような設定です。
後はウィザード下のCreateボタンを押せば、Playableのコードが作られます。
作られるコード
作られるコードは若干面倒くさい構造です。たったコレだけの為に、5つのソースコードが追加されます。
とは言え、命名規則はある程度決まっており、役割としても概ね決まっています。
- ○○○Track
- ○○○MixerBehaviour
- ○○○Behaviour
- ○○○Clip
- ○○○Drawer
○○○Track
トラックを制御するコードです。
何をバインドするか…といった項目や、トラックの色を設定します。
MixerBehaviourもココから生成しています。
○○○Clip
クリップをシリアライズするクラスです。
この項目にクリップ毎のパラメータを設定したり云々する感じです。
○○○MixerBehaviour
クリップ全体の動作…という感じです。
この項目を記述して、クリップのブレンドやクリップ全体の動作を制御します。
このインスタンスは一つのTrackに一つ生成されます。
大抵の場合、こちらを修正すれば色々と操作できます。
○○○Behaviour
各クリップの動作や、パラメータ保持情報についてです。
設定したクリップの数だけインスタンスが作られます。
クリップ毎のパラメータを保持しているのはこの項目ですが、Drawerがパラメータを制御しているので、Drawerを編集しないとパラメータを増やせません。
○○○Drawer
○○○Behaviourのエディター拡張…みたいなものです。
○○○Behaviourの値を編集したい場合は、こちらも編集します。
感想
手軽に出来るウィザードを用意するんじゃなくて、必要なコードはを少しシンプルな構造にできなかったのかしら。