Created on | Updated on
フォローする

Houdini HeightFieldのレイヤーをブレンドして新しいマスクを作成する

先日の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を行うことで意図した部分に必要なデータを配置しやすくなります。