先日のHoudiniマスタークラスで行われたTerrainの地形生成は非常に勉強になりました。その中で植生を計算する元になるマスクをHeightfield(以降、HF)から何種類も作成されていました。
Terrainにデータを配置していく上でのとても良いヒントになりました!本当に素晴らしい講演でしたね!!
そこで、Heightfieldで作成したレイヤー同士をブレンドして新しいマスクを作る方法をご紹介いたします。
Houdiniの使用バージョンは16.5です。
まず、Heightfield mask by FeatureのSlopeを使用して、傾斜している部分のマスクを作成します。
次にそのマスクをLayerに変更します。
マスクをレイヤーとして保存するには、Heghtfield Copy Layerを使用します。
ここではレイヤー名をslopeにしました。
更にも1つHeightfield mask by featureを追加し、Slopeをオフにして、Heightを有効にします。
同じようにCopy Layerを使用して、altitude(高度)というレイヤーを作成します。
これでブレンドしたい2つのLayerが作成できました。
現状では、Heightfieldのレイヤーをブレンドして新しいマスクやレイヤーを作り出すノードはございません。
これを行うにはHeightfield Wrangleノードを使用します。
ここに例えば
@mask = @altitude*@slope;
と入力します。
すると結果としては、高さがあり、かつ傾斜している部分のみの新しいマスクを作ることができます。
さらにここに川が流れる部分のマスク(@flow、これはErodeノードから生成)をブレンドしたいので
とすると、水が流れるであろう部分をマスクから削除することができました。
後はScatterを行うことで意図した部分に必要なデータを配置しやすくなります。