[ノード]コンポジットで陽炎を表現しよう[blender]

blender2.82a使用
陽炎とは真夏のアスファルトなどで熱気により景色が揺らいでいる現象のことですね。
他にもジェット噴射とか焚き火とかでも起こります。
これをコンポジットで再現します。













冒頭の動画は分かり易くする為に少し効果を強めにしましたがあそこまでする必要はないです。
Mantaflowを使った動画はレンダリングに時間がかかりますし準備も大変なのでもう少し簡単なシーンで説明します。


平面にノイズテクスチャを貼り、移動アニメーションで揺らぎの素材に
取り敢えず簡単なシーンを作ります。
またスザンヌに御足労してもらいます。





次に新規シーンで揺らぎのための素材を作ります。
平面にノイズテクスチャを貼り、そのテクスチャを上方向に移動アニメーションさせます。






結果的にこんなノイズのアニメーションができました。
この素材を使って揺らぎを作ります。



コンポジットのディスプレイスノードでゆらぎを作る
どちらのシーンでも良いのですが、今回はSceneで作業します。
コンポジターウィンドウでディスプレイスノードを追加しスザンヌのレンダー画像とベクトルに先ほど作ったノイズの素材を繋ぎ変形量を入力します。

揺らぎを作る事ができましたが、画面全体が変形してしまっています。

パーティクルを使ってマスク画像を作りディスプレイスの効果を限定的にする
冒頭の動画では煙を使いましたがレンダリングに時間がかかるので今回は代わりにパーティクルを使います。
再び新規シーンを作り白いパーティクルを発生させマスク画像とします。




最終的にこの様なコンポジットノードになりました。





レンダリング結果です。

パーティクルの部分が揺らいでいるのが分かるでしょう。
この様にして陽炎の表現が出来ます。
応用でブラーを併用しても良いですね。

マスクは目的のところが白で他は黒であれば何でも良いのです。今回の様にパーティクルを使っても良いですし、ただオブジェクトを白くして配置するのもありでしょう。冒頭の様に煙を使うのも一つの手段に過ぎないのです。手書き画像でも良いんですよ。