【Unity】VFXシェーダーグラフで画面を歪ませる

投稿者: | 2024-02-03

VFXグラフとVFXシェーダーグラフで画面を歪ませてみました。ノーマルマップの値でスクリーンポジションを移動させて、シーンカラーを取得します。

VFXグラフを作る

VFXグラフで適当にパーティクルを絶え間なく発生させます。

VFXシェーダーグラフを新規作成してOutputコンテキストにアタッチします。

ノーマルマップとカラーマップをアタッチしています。パーティクルのアルファはVFXグラフで時間とともに変更しています。「Get Attribute: alpha」ノードを接続して、そのアルファの値をVFXシェーダーグラフに渡しています。

VFXシェーダーグラフ

まずノーマルマップをサンプリングします。R、G値をアルファとかけ合わせます。

アルファはもう一つのテクスチャのアルファ値を使います。VFXからの入力で調節します。

このテクスチャはVFXグラフで煙のエフェクトを作るの方法で作りました。

アルファの値はそのままマスタースタックのAlphaにも接続しています。

ノーマルマップにアルファをかけた値で、Screen Positionの値を少し移動させます。

少し移動させた位置のシーンカラーをマスタースタックのBase Colorに入力します。

これでシーンカラーに歪みを加えられます。

透明マテリアルのRendering Pass

パーティクルの後ろにある透明マテリアルがRendering Passでデフォルトだと、表示されなくなりました。

Before refractionなどに変更すると表示されました。

コメントを残す

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