【Unity】タイムラインでVFXグラフにイベントを送信する

投稿者: | 2021-05-10

タイムラインで、VFXグラフをオンオフしたり、イベントアトリビュートを設定してみました。

VFXグラフを作る

まず、VFXグラフでは、何も無いところで右クリックして、「Create Node」から「Get Attribute: color」オペレーターを作ります。

Locationを「Source」にして、「Set Color」ブロックにつなぎます。ソースアトリビュートはInitializeコンテキストでしか使えないようです。

タイムラインを作る

Window > Sequencing > Timeline をクリックしてタイムラインウィンドウを表示します。

タイムラインウィンドウで「Create」ボタンをクリックして新しいタイムラインを作ります。

上のVFXグラフをアタッチしたVisual Effectオブジェクトを、タイムラインの左側の何も無いスペースにドラッグアンドドロップして、「Add Visual Effect Activation Track」をクリックします。

これで、ドラッグアンドロップしたVisual Effectオブジェクトがバインディングされます。

同じ場所を右クリックして、「Visual Effect Activation Track」をクリックした場合は、この欄がNoneになっているので、Visual Effectオブジェクトをこの欄にドラッグアンドロップします。

イベントを送信したいところで右クリックして、「Add Visual Effect Activation Clip」を選択します。

このクリップの開始と終了で指定したイベントが送信されます。

クリップは移動や伸縮ができます。

イベントを設定

クリップを選択してインスペクタを見ると、送信するイベントを設定できます。

一番上のClip Timingは自動で入力されます。その下で、イベント名を変えたり、+ボタンからイベントアトリビュートを設定したりできます。

今回はカラーピッカーで色を設定しました。

クリップは複数作り、別々の色を設定できます。

colorを選択してマイナスボタンを押すと、イベントアトリビュートを削除できます。

デフォルトでは、スタート時にVFXグラフが再生されるので、Visual Effectオブジェクトのインスペクタで、initial Event Nameを空欄にしておきます。

また、タイムラインの再生は、最後のクリップの端で終了してしまい、最後のExitイベントが送信されないようです。

なので、目盛り部分を右クリックして、Fixed Lengthを選択します。

これで、終了位置を動かせるので、最後のクリップから少し離しておきます。

これで、タイムラインを使ってVFXグラフのイベント送信ができました。

コメントを残す

メールアドレスが公開されることはありません。