コースティクス(RT Caustics / RT Caustics Color)はプールや海の浅瀬などの水底に映る光の波紋のような模様を作り出すノードです。
とても綺麗なノードですが、良い感じの波紋を作るにはコツが必要なのでまとめてみました。
もくじ
コースティクスって何?
まずは現実の光の波紋の話です。
光は水に入ると屈折を起こします。水に垂直に入る時は直進しますが、斜めに入る時には水面部分で角度が変わります。


もし水面が波打っていると…?
水面に角度が付いて光の入射角が変わることにより、場所によって光が多く集まる部分と暗くなる部分が出来ます。

これが光の波紋の原理で、このような集光現象のことをコースティクスと言うそうです。
ノードに必要な入力
コースティクスのノードには、波打っている水面の高さをハイトマップで表現したものを入力する必要があります。

試しになんとなく適当なノードを入れてみると、水面に似たものでなければうまくシミュレートされないのが分かります。きれいな光の波紋を作るには、本物の水面が波打っているようなハイトマップのノードを作るのが大事です。

ここではあまり凝らなくてもシンプルな組み合わせで雰囲気が出るものを2つ紹介してみます。
Gaussian Noise
あまり波立っていないゆるやかな水面に使えると思います。ある程度大きめにしてブラーでぼかしをかけると良い感じになるかと思います。

Cells2
反転してぼかしをかけると水面っぽい感じになるかと思います。やや直線的なので、他のノイズを重ね掛けしたりワープをかけて水面が風でユラユラする感じにするともっと良いかもしれません。

カラーとは…?
コースティクスにはグレースケールとカラーの2種類があります。どちらも入力はグレースケールのハイトマップで、カラーは背景色だけ指定することができます。
カラーとグレースケールの違いは、カラーのみIOR(Index of Refraction 屈折率)を高く設定した時にDispersionの値を上げると色の拡散が起こると公式のリファレンスに書いてありましたが…。

正直分かるような分からないような…。

IORとDispersionを調節してから思いきりアップにして見てみると、確かに虹色に見える部分もあります。
大きな波紋がテクスチャ全体にかかるような感じにしたら見えやすいかもしれないです。
作例
Gaussian Noiseにワープをかけスケールを変えたものを2枚ブレンドし、コースティクスを適用してから着色してみました。
使うノイズと設定次第で無限に答えがありそうなところがとても楽しいです。
