UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 前編 Standard Blend Playableを使う

はじめに

この記事は二部構成です。後編(UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 後編 Normal Modeを使う)はこちらをご覧ください。

 

Default Playableとは

UnityのTimeline機能は動画のようなストーリーのあるコンテンツを作るのに有効ですが、カスタマイズするためのスクリプトを書くのがなかなか大変です。そのカスタマイズの助けになるのがUnityが公開している"Default Playables”アセットです。

assetstore.unity.com

このアセットについては、テラシュールブログさんが紹介記事を公開しています。

tsubakit1.hateblo.jp

この記事にあるように、Default PlayableアセットはVideo Playerの制御やTransformのTween(位置をAからBへ徐々に動かす)などをTimelineで行うためのTrackを提供していますが、もう一つ重要なのがTimeline Playable Wizardです。こちらについてもテラシュールブログさんが紹介記事を出しています。

tsubakit1.hateblo.jp

この記事の説明の通り、Wizardを使うことでTimelineのカスタムTrackをコードを自分でゼロから書くことなく準備することができます。ただ、細かい作り方についての解説はこの記事になかったので、備忘録としてこちらに書くことにしました。

 

Timeline Playable Wizard

Asset StoreからDefault Playablesを入手すると、Unity EditorのWindowsのメニューにTimeline Playable Wizardが追加されるので、それを選択します。すると、以下のメニューが出てきます。

 

f:id:oitsmalab:20180625084053p:plain

 

このメニューでは、Standard Blend Playable(上図赤丸内)にチェックを入れるかどうかで設定が変わってくるので、分けて説明します。チェックを入れない(Normal Mode)場合の使い方については後編をご覧ください。

Standard Blend Playableを使う

以下のサンプルスクリプト StandardBlendPlayableSample.csを使います。

SampleVariableに値が保存されると、その値をDebug.Logで表示します。これをMain Cameraにアタッチするとします。

 

インスペクタ内で、アタッチしたSample Blend Playable SampleコンポーネントのSample Variableの値を0.5に指定します。

f:id:oitsmalab:20180625133835p:plain

 

次に、Timeline Playable Wizardを開いて、以下の通りに設定します。

 

f:id:oitsmalab:20180625134331p:plain

 

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として設定した名前のフォルダと以下のファイルが作られます。

 

f:id:oitsmalab:20180625093003p:plain

 

次に、以下のように、ヒエラルキーでMainCameraを選択した状態でTimelineウィンドウを開き、Createを押してTimelineアセットを作って保存します。

f:id:oitsmalab:20180625093317p:plain

 

ファイル名はMainCameraTimeline.playableにします。

 

f:id:oitsmalab:20180625093452p:plain

 

すると、Main CameraのTimelineがTimelineウィンドウに作られます。Addボタンを押すと、Activation TrackなどUnity Editorに付属するTrack、Transform TweenなどDefault Playablesアセットに付属するTrackに加えて、Sample Playable Trackが選べるようになってるので、それを選んでTrackを作ります。

 

f:id:oitsmalab:20180625094611p:plain

 

次に、下図のようにStandardBlendPlayableSample.csをアタッチしているMain Cameraを、"None(Standard Bind)”と表示されているアセットの選択窓にドラッグし、Timeline上で右クリックして"Add Sample Playable Clip"を選び、Clipを追加します。

 

f:id:oitsmalab:20180625094926p:plain

 

追加したクリップを選択すると、クリップのタイミング、イージングやSample Variableの値を設定できます。このとき、Sample Variableのデフォルトの値はTimeline Playable Wizardで指定した通り、Main CameraにアタッチされているStandardBlendPlayableSampleコンポーネントに対してインスペクタで設定した値(Sample Variables = 0.5)が反映されています。

 

f:id:oitsmalab:20180625095405p:plain

 

ここで、Ease In Durationを1, Sample Variableを1に変更してみましょう。

f:id:oitsmalab:20180625102925p:plain

 

これで準備ができました。Timelineの再生位置を先ほど追加したクリップの前に置くと、Consoleには"Main Camera:0.5"と出ますが、クリップ内では1へ増えていきます。

 

f:id:oitsmalab:20180625103903g:plain

 

今回はDebug.Logで値を表示するだけでしたが、その代わりに別のコードを入れることで、いろいろなものをTimelineで操作できるようになります。

 

それでは、次に後編

oitsmalab.hatenablog.com

をご覧ください。