【Unity】VFXグラフのシステムサブグラフを使う

投稿者: | 2021-05-20

VFXグラフのシステムをサブグラフにして、他のVFXグラフの中で使ってみました。

VFXグラフを作る

まずサブグラフにするためのVFXグラフを作りました。このグラフでは、色のプロパティを作って、InitializeコンテキストのSet Colorブロックに接続します。

プロパティは、Exposedのチェックを入れて公開します。

また、スポーンシステムでは、Single BurstブロックとSettingsによって、2秒ごとに3個ずつのパーティクルを出すループを3回繰り返します。

システムサブグラフを作る

このスポーンシステムとパーティクルシステム全体を矩形選択します。

そして、右クリックから「Convert To Subgraph」を選択すると、ダイアログが出るので保存します。

これで、選択したシステムが一つのコンテキストになります。

このコンテキストには、公開したプロパティと、イベントのスロットがあります。これはサブグラフにする前のグラフのものと同じです。

試しに、スタートのフロースロットにイベントコンテキストをつなげて、イベント名を変えてから再度サブグラフにしてみました。

すると、フロースロットの内容が変わりました。

サブグラフを他のVFXグラフで使う

作ったサブグラフはアセットとして保存されているので、他のVFXグラフで使うときは、それをProjectウィンドウからVFXウィンドウにドラッグアンドロップします。

サブグラフをカスタマイズする

作られたノードのStartフロースロットにスポーンシステムを接続して、OnPlayによって一度だけトリガーするようにしました。

すると、トリガーするたびに、サブグラフに含まれるスポーンシステムによって、2秒ごとに3回、3個ずつパーティクルが発生しました。

また、オペレーターをプロパティスロットに接続して、サブグラフで作ったプロパティの値を変えることもできます。

これでパーティクルの色が変わります。

サブグラフを編集する

サブグラフを編集するには、システムサブグラフノードを右クリックして、「Enter Subgraph」を選択します。

コメントを残す

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