どうも篠島です。前回に引き続き Terrain 機能の説明です。今回はマスクについて説明してみます。
HeightField Paint
HeightField ノードにはマスクインプットを取るものが複数あり、パラメーターのところで Add a Mask Paint というアイコンがあるのでそれをクリックすると、自動的に HeightField Paint ノードと言うものが作られ、自動的にノードも接続してくれます。そして自動的にペイントモードになります。
Shift + ドラッグ でブラシサイズの変更ができます。そしてビューポート上で HeightField に直接書き込みます。HeightField Paint ノードを表示してみると赤くマスクが作られているのがわかります。これにより自分で好きな場所に特定のノードの効果を制限させることができます。
HeightField Mask
他にも HeightField Mask というノードがあり、自分でシェイプを書くことによりマスクを作ることが出来ます。それぞれのシェイプはStorokeタブの中に記録され、気に入らないパスは個別に削除することが出来ます。そして HeightField Mask を他の HeightField ノードのマスクにつなぎます。
マスクを使ってみる
HeightField Noise 以外にも HeightField Layer 等でマスクを使って2つの2Dボリュームを合成することが出来ます。
さらに Transform SOP を付けることで2Dボリュームやマスクを移動して合成することも出来ます。
一度マスクを繋げると、Mask フィールドにマスク情報が保存されて下のノードまで行くので、新しくノードを繋いだら上のノードをマスクインプットに繋げれば同じ場所のマスクに処理を立て続けにかけていくことが出来ます。下の例だと、HeightField Terrace により山をテラス状にし、マスクを読み込んで一部分だけテラスにしています。そしてさらに HeightField Blur によりブラーを掛けていますがHeightField Terraceによりマスクフィールドが読み込まれているので、直前のノードからマスクを引っ張ってきています。
HeightField Mask Clear
HeightField Mask Clear によってマスクを消去する事ができます。このノードは実は HeightField Layer Clear というノードで、指定したフィールドの値を0にします。HeightField Mask Clear はデフォルトでマスクフィールドが指定されているので、このノードを繋げるだけで自動的にマスクを削除してくれます。