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などに変更すると表示されました。