1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unity Timeline簡単拡張

Posted at

ScriptのMonobiを使ってアニメーショントラックからゲームオブジェクトにない値を操作する

シャドウディスタンスなどゲームオブジェクトにない値をスクリプトを経由してアニメーションできるようにするタイムラインでは一番簡単な拡張方法。
image.png

image.png

image.png

コントロールトラックを使った拡張

こちらはものびに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を継承する

構造を作成

image.png

##アセットの作成

image.png

Playableトラックでいじるだけなら上二つで十分 同じ処理を何回も使う場合はいちいち参照を入れなければいけないので向いていない

トラックの拡張

トラックのバインドするタイプとクリップのタイプ、カラーを指定する
クリップは複数定義することができる。
image.png

トラックに合わせてアセットとBiheviを修正
image.png

image.png

ミキサーを作りブレンドできるようにする

ミキサーもPlayableBehabiourを継承する

image.png

ミキサーに合わせてアセットやロジックを変更する

image.png

image.png

トラックにミキサーだということを定義する関数があるので付け足す

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?