ScriptのMonobiを使ってアニメーショントラックからゲームオブジェクトにない値を操作する
シャドウディスタンスなどゲームオブジェクトにない値をスクリプトを経由してアニメーションできるようにするタイムラインでは一番簡単な拡張方法。
コントロールトラックを使った拡張
こちらはものびにITimelineContorolを継承させて使う。
以下の3つを継承して使う
void OnControlTimeStart(){}
void OnControlTimeStop(){}
void SetTime(double time){}
double time1以外渡せないので複雑なことができない。
スタートや終わりの時にしたい処理だったりtimeを使った簡単な操作ならplayable拡張するよりこっち使ったほうが良き。
# がちTimeline拡張 カスタムトラック
参考 URL
https://blogs.unity3d.com/jp/2018/09/05/extending-timeline-a-practical-guide/
https://docs.unity3d.com/ja/current/ScriptReference/Playables.PlayableBehaviour.html?_ga=2.160512317.1239615847.1586800196-1964762908.1584240122
https://docs.unity3d.com/ScriptReference/ExposedReference_1.html
https://docs.unity3d.com/ScriptReference/Playables.PlayableDirector.html
https://light11.hatenadiary.com/entry/2019/05/16/214328
まず知っておくべきはTimelineはPlayable APIをベースに作られている。
playableGraphを視覚的にしたい場合はplayable ビジュアライザーを使うと視覚化できる。
using UnityEngin.Playables;
using UnityEngin.Timeline; を使う
必要なもの
トラックの拡張 TrackAseetを継承する
クリップアセットの作成 TrackAssetを継承する [System.Serializable] シリアライズが必要。保存するため
構造を作成 PlayableBehaviorを継承する。
ミキサーでブレンド PlayableBehaviorを継承する
構造を作成
##アセットの作成
Playableトラックでいじるだけなら上二つで十分 同じ処理を何回も使う場合はいちいち参照を入れなければいけないので向いていない
トラックの拡張
トラックのバインドするタイプとクリップのタイプ、カラーを指定する
クリップは複数定義することができる。
ミキサーを作りブレンドできるようにする
ミキサーもPlayableBehabiourを継承する
ミキサーに合わせてアセットやロジックを変更する
トラックにミキサーだということを定義する関数があるので付け足す