概要
この記事ではUnityのTimelineのカスタムクリップで使うパラメーターのキーフレームアニメションを作成する方法について書きます。カスタムでトラックを作って、アニメーションのように詳細に制御したいという時に、下の画像のように設定できるようにします。
カスタムクリップの作り方はこちらなどを参考に
https://tips.hecomi.com/entry/2022/03/28/235336
やり方
やり方は以下二つを行うことで可能になります。
- 作成したPlayableBehaviourを[Serializable]にする
- PlayableAssetにPlayableBehaviourのクラスをpublicで持たせておく
以下テスト用のサンプルです。
シリアライズされた少数型の変数をキーフレームで制御することが可能です。
ExamplePlayableAsset.cs
using System;
using UnityEngine;
using UnityEngine.Playables;
[Serializable]
public class ExamplePlayableAsset : PlayableAsset
{
public ExamplePlayableBehaviour behaviour = new ExamplePlayableBehaviour();
public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
{
ScriptPlayable<ExamplePlayableBehaviour> playable =
ScriptPlayable<ExamplePlayableBehaviour>.Create(graph, behaviour);
return playable;
}
}
ExamplePlayableBehaviour.cs
using System;
using UnityEngine;
using UnityEngine.Playables;
[Serializable]
public class ExamplePlayableBehaviour : PlayableBehaviour
{
//キーフレームで制御可能
public Vector3 Vector3;
public Color Color;
public float Float;
public double Double;
//キーフレームで制御不可
public string Text;
public int Int;
}
参考
タイムラインをカスタマイズしたい場合はこちらの動画の視聴をお勧めします。
Mixerについてなど網羅的に解説されているため、この動画から入門するのがおすすめです。
今回の内容については40:30頃に解説されています。