テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】Timelineの独自Playableを超簡単に作るウィザード

キーボードが治ったので久しぶりのブログ更新です。

今回の内容はTimelineのPlayableを簡単に自作する方法です。

f:id:tsubaki_t1:20171015191851j:plain

Playableの自作

Timelineは現状、非常に単純な機能しか有していません。
例えば、アニメーションの再生、オーディオの再生、GameObjectのアクティブ切替、それと汎用ControlPlayableです。

tsubakit1.hateblo.jp

ControlPlayableがソコソコ汎用的なのでソレナリに色々な事が出来るには出来るのですが、少し凝った事をしようとすると直ぐにPlayableを自作したくなります。

 

とは言え、Playableの自作はかなり面倒くさい作業です。

Monobehaviourのように単純に一つのコードでは動作せず、Playable Asset、Playable Behavour、そして現実的に運用しようと思ったらPlayable Trackが必要でしょう。
Playable Trackは作成一覧に無いので、気づきにくい項目です。

f:id:tsubaki_t1:20171015192638j:plain

Playableをサクっと作るウィザード

この面倒くさいPlayableの作成をかなり単純にしてくれる機能がありました。

Default Playableに付いているTimeline Playable Wizardを使います。

f:id:tsubaki_t1:20171015192723j:plain

Default Playableについてはコチラ

tsubakit1.hateblo.jp

Timeline Playable Wizardの使い方

Wizardの使い方です。

まずDefault Playableをインポートしておき、Window > Timeline Playable Wizardを選択します。

すると下のような画面が出てきます。

f:id:tsubaki_t1:20171015192922j:plain

クリップ側で特にバインドしないならばStandard Bind Playableにチェックを入れます。
要するに、トラックで動かす対象が固定ならばStandard Bind Playableにチェックを入れる、クリップ毎に動かす対象(目標)を変えたいならばチェックを外す…といった感じです。

f:id:tsubaki_t1:20171015193300j:plain

後はTrack Binding TypeバインドしたいクラスStandard Bind Playable Property動かしたい値を設定します。

例えばTransformのPositionをTimelineで動かしたい場合は、下のような設定になります。

f:id:tsubaki_t1:20171015193617j:plain

字幕のようにTimeineで文字が変わる項目を作りたい場合は、下のような設定です。

f:id:tsubaki_t1:20171015193646j:plain

後はウィザード下のCreateボタンを押せば、Playableのコードが作られます。

作られるコード

作られるコードは若干面倒くさい構造です。たったコレだけの為に、5つのソースコードが追加されます。

f:id:tsubaki_t1:20171015194056j:plain

とは言え、命名規則はある程度決まっており、役割としても概ね決まっています。

  • ○○○Track
  • ○○○MixerBehaviour
  • ○○○Behaviour
  • ○○○Clip
  • ○○○Drawer
○○○Track

トラックを制御するコードです。
何をバインドするか…といった項目や、トラックの色を設定します。

MixerBehaviourもココから生成しています。

f:id:tsubaki_t1:20171015194432j:plain

○○○Clip

クリップをシリアライズするクラスです。
この項目にクリップ毎のパラメータを設定したり云々する感じです。

f:id:tsubaki_t1:20171015194659j:plain

○○○MixerBehaviour

クリップ全体の動作…という感じです。

この項目を記述して、クリップのブレンドやクリップ全体の動作を制御します。

このインスタンス一つのTrackに一つ生成されます。

大抵の場合、こちらを修正すれば色々と操作できます。

○○○Behaviour

各クリップの動作や、パラメータ保持情報についてです。

設定したクリップの数だけインスタンスが作られます

クリップ毎のパラメータを保持しているのはこの項目ですが、Drawerがパラメータを制御しているので、Drawerを編集しないとパラメータを増やせません

○○○Drawer

○○○Behaviourのエディター拡張…みたいなものです。

○○○Behaviourの値を編集したい場合は、こちらも編集します。

感想

手軽に出来るウィザードを用意するんじゃなくて、必要なコードはを少しシンプルな構造にできなかったのかしら。

関連

tsubakit1.hateblo.jp