Unity2019からpackageManager経由になった。 タイムラインから任意のメソッドを呼び出すためのやり方です。 Signalを使うのが簡単だけど万能じゃないので自分でカスタムするのも良い。
Signal
やりかた
PlayableDirectorコンポーネントをGameObjectくっつけて、Playableというパラメータにtimelineアセットをセットする
SignalRecieverコンポーネントをどっかのGameObjectにくっつける。タイムラインウィンドウにドラッグする, signal emitterとして、加える。
タイムライン上で右クリックするとエミッターを加えられる。
そのエミッターで emit signalってところでcreate signalして信号の種類?を決める。種類とはエミッターを区別するためのもので、自分で決められる。
emit signalを選ぶと、エミット する先(GameObject, Class, Method) を指定できる。
面倒な点
ひとつのsignalに対し、パラメータが一つしか設定できないこと。 TestClass.Hoge(0); と TestClass.Hoge(1); を違う時間に呼びたい時、Signalは2個作る必要がある。 でも、手軽に使える。
そうしたくない場合はcustomするしかないと思う。
カスタムする
こちらを参考に。 [Unite2018] スクリプトによるTimelineがっつり拡張入門 - しがないエンジニアのブログ
手続きがすごく面倒。以下のような5つのファイルをいい感じに指定するとできるみたい。サンプルをうまく自己流にアレンジする。