H16 新機能 Ocean 2


どうも篠島です。この間に投稿したOceanツールの説明の続きです。今回はマスクについて説明します。

 

Ocean Spectrum SOP のインプット2にFogボリュームを繋げてマスクとして使い、どの部分にだけ波形用のスペクトラムを適用するかを指定することが出来ます。下のように適当なジオメトリから VDB from Polygons でFogボリュームを作り、Ocean Spectrum SOPのマスクインプットに繋げるとデフォルトでFogボリュームの部分に対する影響が無くなります。

 

Ocean Spectrm SOP の Mask タブで Type のところから Contribution を選ぶと、マスクの内部だけに処理がされるようになります。

Height Field を使ってマスクを作成することも可能です。その場合Height FeildのサイズとOcean用のグリッドのサイズが合うようにしてください。そして普通にマスクを書くと、height と mask フィールドが作られますが、Ocean Spectrum SOPは最初のフィールドをマスクとして使用するので、Delete SOPによりheightフィールドを削除しています。

 

レンダリングする時に、Ocean Spectrum SOPで作ったデータを書き出す必要があります。シェーダーでその書き出したデータを元にディスプレイスメントをしているのです。マスクデータを別で書き出して、oceansurfaceシェーダーのマスクインプットに繋げればレンダリングした時にマスクが適用されるらしいのですが、なぜかうまくいきませんでした。その代わりスペクトラム用のファイルにマスクを含めてファイルを書き出せば、レンダリング時にマスクが適用されてレンダリングされました。