【Unity】VFXシェーダーグラフで煙エフェクトにできた線を消す #2

投稿者: | 2023-03-26

VFXシェーダーグラフで煙エフェクトにできた線を消す #1では、煙のパーティクルの不透明度をVFXシェーダーグラフで操作しましたが、それによってVFXグラフでの不透明度の変更が反映されなくなりました。

そこで、VFXグラフで変更した不透明度の値をVFXシェーダーグラフにわたしてみます。

シェーダーグラフを修正

まず、VFXシェーダーグラフでfloat型のプロパティを新しく作ります。

Blackboard

これを作業領域へドラッグアンドドロップします。

シェーダーグラフ

そして、最後のMultiplyノードのあとにMultiplyノードを新規作成して、前のMultiplyノードの出力をAに、新しく作ったプロパティをBに接続し、新しいMultiplyノードの出力をマスタースタックのアルファにつなぎます。

VFXグラフを修正

次に、VFXグラフのアルファの値を上で作ったプロパティにわたします。VFXグラフの何も無い空間で右クリックから「Get Attribute: alpha」ノードを作ります。

VFXグラフ

Outputノードに新しいプロパティが追加されているので、Get Attributeノードと接続します。Get AttributeノードのLocationは「Current」にします。

これで、VFXグラフの「Set Color over life」ブロックなどで書き込まれたalphaによって、パーティクルの全体の不透明度が徐々に変わりました。

コメントを残す

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