UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 前編 Standard Blend Playableを使う
はじめに
この記事は二部構成です。後編(UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 後編 Normal Modeを使う)はこちらをご覧ください。
Default Playableとは
UnityのTimeline機能は動画のようなストーリーのあるコンテンツを作るのに有効ですが、カスタマイズするためのスクリプトを書くのがなかなか大変です。そのカスタマイズの助けになるのがUnityが公開している"Default Playables”アセットです。
このアセットについては、テラシュールブログさんが紹介記事を公開しています。
この記事にあるように、Default PlayableアセットはVideo Playerの制御やTransformのTween(位置をAからBへ徐々に動かす)などをTimelineで行うためのTrackを提供していますが、もう一つ重要なのがTimeline Playable Wizardです。こちらについてもテラシュールブログさんが紹介記事を出しています。
この記事の説明の通り、Wizardを使うことでTimelineのカスタムTrackをコードを自分でゼロから書くことなく準備することができます。ただ、細かい作り方についての解説はこの記事になかったので、備忘録としてこちらに書くことにしました。
Timeline Playable Wizard
Asset StoreからDefault Playablesを入手すると、Unity EditorのWindowsのメニューにTimeline Playable Wizardが追加されるので、それを選択します。すると、以下のメニューが出てきます。
このメニューでは、Standard Blend Playable(上図赤丸内)にチェックを入れるかどうかで設定が変わってくるので、分けて説明します。チェックを入れない(Normal Mode)場合の使い方については後編をご覧ください。
Standard Blend Playableを使う
以下のサンプルスクリプト StandardBlendPlayableSample.csを使います。
SampleVariableに値が保存されると、その値をDebug.Logで表示します。これをMain Cameraにアタッチするとします。
インスペクタ内で、アタッチしたSample Blend Playable SampleコンポーネントのSample Variableの値を0.5に指定します。
次に、Timeline Playable Wizardを開いて、以下の通りに設定します。
Playableの名前をSamplePlayableとし、Standard Blend Playableに、Track Binding Typeを先ほど作ったStandardBindPlayableSampleにすることで、このコンポーネントをタイムラインで制御できます。
Default Valuesには、StandardBindPlayableSample.csをアタッチしたMain Cameraをヒエラルキーからドラッグアンドドロップしましょう。これで、Main CameraにアタッチされているStandardBindPlayableSampleコンポーネントに対してインスペクタで設定した値(Sample Variableの値が0.5、など)が、Playableのデフォルトの値になります。
最後に、Standard Blend Playable Propertiesの項目でTimeline上で変化させたい変数を選択します。今回はSampleVariableを変化させます。
設定が終わったらCreateを押すと、Playable Nameとして設定した名前のフォルダと以下のファイルが作られます。
次に、以下のように、ヒエラルキーでMainCameraを選択した状態でTimelineウィンドウを開き、Createを押してTimelineアセットを作って保存します。
ファイル名はMainCameraTimeline.playableにします。
すると、Main CameraのTimelineがTimelineウィンドウに作られます。Addボタンを押すと、Activation TrackなどUnity Editorに付属するTrack、Transform TweenなどDefault Playablesアセットに付属するTrackに加えて、Sample Playable Trackが選べるようになってるので、それを選んでTrackを作ります。
次に、下図のようにStandardBlendPlayableSample.csをアタッチしているMain Cameraを、"None(Standard Bind)”と表示されているアセットの選択窓にドラッグし、Timeline上で右クリックして"Add Sample Playable Clip"を選び、Clipを追加します。
追加したクリップを選択すると、クリップのタイミング、イージングやSample Variableの値を設定できます。このとき、Sample Variableのデフォルトの値はTimeline Playable Wizardで指定した通り、Main CameraにアタッチされているStandardBlendPlayableSampleコンポーネントに対してインスペクタで設定した値(Sample Variables = 0.5)が反映されています。
ここで、Ease In Durationを1, Sample Variableを1に変更してみましょう。
これで準備ができました。Timelineの再生位置を先ほど追加したクリップの前に置くと、Consoleには"Main Camera:0.5"と出ますが、クリップ内では1へ増えていきます。
今回はDebug.Logで値を表示するだけでしたが、その代わりに別のコードを入れることで、いろいろなものをTimelineで操作できるようになります。
それでは、次に後編
をご覧ください。