Houdini 21.0 Height Fieldと地形

スランプ(地すべり)

山が崩れて岩になる時。

On this page

緩んだ石や岩が不安定になると、それらは比較的短い距離を滑り落ちて、低地で堆積物を形成します。 HeightField Slump SOPは、幅広いパラメータとマスクを通じて、この過程をシミュレーションして微調整することができます。

このノードには、スランプを生成するための2つの異なるモード( SmoothGranular )が備わっています。 両モードはパラメータセットが異なっているものの、 Granular はシミュレーションを使用しない簡略化されながらも強力な侵食モデルもサポートしています。 スランプと粒状侵食を組み合わせることで、堆積物で埋まった谷間を含んだ非常にリアルな結果が得られます。

角度は、スランプや侵食全般において重要な役割を果たします。 例えば、このノードの Repose Angle パラメータは、緩い物質が安定して留まる角度を決定します。 Repose Angle パラメータを70に設定すると、緩い物質は非常に急峻な領域でのみ付着したままになります。 一方、40に設定すると、傾斜が緩やかな部分にもスランプ堆積物が形成されます。

例: 浸食された丘陵

この例のネットワークは、侵食された丘陵と、その谷間に堆積した瓦礫を生成します。 まずはHeightField Noise SOPの調整から始めましょう。

Note

以下の例では、HeightField SOPHeightField Noise SOPで構成された基本的なHeight Fieldのセットアップを使用しています。

  1. 非常に高い山を形成したいので、HeightField Noise SOPの Amplitude パラメータを1000に設定します。

  2. 極端な高さを補正するために、 Element Size パラメータを800まで上げます。 このパラメータは、ノイズをスケールして、高周波スパイクを除去します。

  3. ノイズパターンの別の部分を表示させるために、 Offset.X パラメータを390に変更してそのノイズパターンをプラスX軸方向に移動させます。

  4. Noise Settings セクションの Noise Type パラメータを Worley Cellular F1 に設定します。

  5. HeightField Distort by Noise SOPを追加して、 1番目 の入力をそのHeightField Noise SOPの出力に接続します。

このHeightField Distort by Noise SOPは、エッジや稜線を崩して、荒れた風化した岩の典型的な外観を創出します。 このノードの Amplitude パラメータを15に設定します。

上記の設定と値による結果は以下の通りです。

スロープ(勾配)マスク

Height Fieldでは、マスクを適用して地形上の特定の領域に効果を制限すると、より良好な結果が得られることが多々あります。 スランプも例外ではありません。

  1. HeightField Mask by Feature SOPを配置して、その入力を上流のHeightField Distort SOPの出力に接続します。

    デフォルトで Slope メソッドが有効になっているので、そのままこの機能を使用します。

  2. Min Slope Angle パラメータを5Max Slope Angle パラメータを50に変更します。 赤色で示された領域は、スランプ物質が追加される箇所となります。

  3. マスクが若干ギザギザに見えるので、それをぼかすために、 Smooth Radius パラメータの値を1.5から2の間で調整します。

スランプ

地形の急峻な領域内の谷間と浸食チャネル(流路)間の隙間を堆積物で埋めるようにしたいです。

HeightField Slump SOPを追加して、その入力をそのHeightField Mask by Feature SOPの出力に接続します。 そして、そのHeightField Slump SOPの青い Display/Render フラグを有効にすると、即座にその効果が確認できます。 マスクされた領域は、山腹から流れ下った細かい堆積物をすべて含むため、滑らかな状態となります。

  1. そのHeightField Slump SOPの Slump タブにある Slump Mode パラメータを Granular に変更すると、 緩い物質が地形の一部を埋めるようになります。ただし、その見た目にはかなりノイズが多くて、岩が斜面を滑り落ちているように見えます。

  2. このノイズの多い見た目を解消するために、 Quantization パラメータを調整します。 この値は、基本的には堆積物の粒度を定義します。 例えば、0.1に設定すると、物質は表面構造のない滑らかで不定形の塊になります。 一方、1のような高い値に設定すると、堆積物により多くのディテールが追加されます。 ただし、構造が不自然に見える“閾値”が存在する場合が多いため、非常に高い値の設定には注意してください。

  3. 他にも、 Repose Angle パラメータを設定することで滑らかな領域を崩すことができます。 このパラメータは、粒状の物質が水平面上で滑らずに積層できる最大傾斜角を示しています。 30の値を試してください。

浸食

侵食チャネル(流路)のある良い感じの外観を得たいのであれば、HeightField Slump SOPの Do Erosion オプションを有効にしてください。

Note

Do Erosion オプションは、 Granular モードでのみ利用可能です。

Do Erosion オプションを有効にすると、Height Fieldが消失し、そのノードにエラーが表示されます。 これは、 Layer Bindings タブの2つの入力レイヤフィールド( Entrained Material フィールド(以下のEntrainmentを参照) Sediment フィールド)が不足しているのが原因です。 これらのレイヤがなければ侵食は機能しません。 Entrained Material のレイヤは、既に緩んだ物質が存在する領域を定義し、スランプ生成過程ではそれらの領域は考慮されません。

ここでは、両方のバインディングにmaskを使用します。 これによって、地形全体を覆う深い溝が多数ある山脈が形成されます。

  1. Slump タブに戻って、 Global Erosion Rate パラメータを0.6に変更します。 この値は Spread Iteration パラメータに依存し、反復毎に地質を削り取ります。

  2. Erodability パラメータは、岩石の柔らかさを定義します。 高い値は、石灰岩やドロマイトのような比較的柔らかい岩石の生成に適しています。 花崗岩のように長石や石英などの鉱物で構成される岩石は硬度が高くなります。 ここでは中程度の硬度を想定し、このパラメータ値を0.7に設定します。

その他のパラメータ(特に Advance Erosion タブのパラメータ)はそのままで構いません。 それらのパラメータの多くは河床生成時にのみ必要となります。 とはいえ、下記の画像では Removal Rate0.5に設定しています。

これで、スランプ/堆積物が侵食チャネル(流路)を埋めるようになり、深い場所に堆積した大量のスランプが見られる高度に侵食された山々の典型的な外観が得られます。

Tip

ネットワークに既に上流のHeightField Erode SOPが含まれている場合、そのdebrisレイヤとsedimentレイヤを、HeightField Slump SOPの Layer Bindings タブの Entrained MaterialSediment の入力レイヤとして使用することができます。

エントレインメント(同調現象)

エントレインメント(Entrainment)という用語がよく分からないかもしれませんが、幸い理解は難しくありません。

山脈を流れ下る氷河を想像してみてください。 その流れの途中で、氷は岩盤から岩石や石を引きずり、下流へと運びます。 地質学では、この輸送過程のことを“エントレインメント(同調現象)”と呼びます。 氷と共に運ばれる岩石の量を測定すると、その氷河のEntrainment Rate(エントレインメント率)を得ることができます。 これは、河川内の砂利や急斜面から流出する物質にも同様に当てはまります。

Slump Mode パラメータを Smooth に設定すると、その Entrainment Rate を決めることができます。 これは、各反復においてスランプ物質と共に引きずられて巻き込まれる物質の割合を制御します。 つまり、設定値が高いほど、より多くの物質がスランプ物質と共に流れ下ることになります。

Flow Fieldタブ

HeightField Slump SOPには Flow Field タブがあります。 そのタブでは、 Calculate Flow Fields オプションを有効にするかどうかを選択することができます。 このオプションを有効にすると、このノードは2つのレイヤを生成します。 Layer Bindings タブの Out Layers セクションにあるflowflowdirの出力レイヤが有効になったのが分かります。

HeightField Slump SOPのFlowフィールドは、HeightField Flow Field SOPの基本形です。 そのHeightField Flow Field SOPのヘルプには、そのflowflowdirの出力レイヤに関して以下の情報が記載されています。

  • flowレイヤは、 累積 した物質の流れを表現します。 このレイヤには、ボクセル空間におけるその流れの方向を示した2つの符号付きコンポーネント(XとY)が含まれています。 これは累積なので、物質が左に流れてから右に流れた場合、それらの2つの動きが打ち消されて、Xコンポーネントが0になります。

  • flowdirレイヤには、各ボクセルにおける平均的な流れの方向を示したXYZ方向のベクトルが含まれています。 これは、ボクセル空間からジオメトリ空間に変換されます。 なお、そこには高さの変化量は含まれていません。

Height Fieldと地形

生成

  • 地形の生成

    HoudiniのHeight Fieldを用いた基本的なワークフロー。

  • マップからHeight Fieldを生成

    マップからディテールの細かい地形を生成することができます。

  • 単独の山

    必要な場所にカスタムの丘や山を生成します。

  • レイヤ

    レイヤを積み重ねてマスクを適用することで、よりリアルな表現を高めます。

  • 段丘化(Terracing)

    頂上に近いほど段状の地形を生成します。

  • 歪曲(Distortion)

    地形を形作って自然な見た目にします。

  • 地形のペイント

    アーティストの気分で、ご自身で景観をペイントしましょう。

  • 投影

    任意のジオメトリをHeight Fieldの一部に変換します。

  • パッチ(継ぎ合せ)

    パッチ(継ぎ合せ)とカットアウト(切り抜き)を用いて地形を組み立てます。

  • パターン

    基本的なジオメトリパターンからリアルな地形を生成します。

  • リサンプリング

    地形の解像度を段階的に上げます。

  • 様々な特徴部

    地形を変換、エクスポート、特徴豊かにします。

散布

マスク

  • マスキング

    修正したい領域やディテールを加えたい領域を定義します。

  • ライトマスク

    地形上の日照領域からマスクを作成します。

自然現象

VEX

テクスチャ

Shallow Water Solver(浅水ソルバ)