Flowフィールドは、Heightfield Erode SOP、
HeightField Slump SOPで利用可能ですが、単独の
HeightField Flow Field SOPでも利用可能です。
例えば、これらのフィールドを
HeightField Distort by Layer SOPのDistortionレイヤとして使用することができます。
レイヤの別の応用例としてはマスクがあります。
あるいは、岩、木、その他の景観要素を散布するためにこれらのフィールドを使用することもできます。
Flowフィールドは、物質が削られた運搬されるあらゆる種類の侵食において興味深いものです。
Flowフィールドを計算すると、2つのレイヤ(flowとflowdir)が生成されます。
flowレイヤは、ボクセル空間における累積した物質の流れを表現します。
flowdirレイヤは、各ボクセルにおける平均的な流れの方向を示します。
そのflowdirレイヤには高さ情報は含まれません。
下図は、Heightfield Erode SOPのflowレイヤ(白)を示しています。
例: 侵食チャネル(流路) ¶
以下の例では、Flowフィールドを用いて歪曲処理によって深い侵食流路を生成する方法を説明しています。
Note
すべての説明と例では、非常に基本的な地形セットアップを使用しています。
そのセットアップは、HeightField SOPと
HeightField Noise SOPで構成して山や岩の構造を生成します。
十分なディテールが必要であれば、HeightField SOPの Grid Spacing パラメータを
1に設定してください。
この基本的なセットアップの操作方法の詳細は、ゼロからHeight Fieldを生成するイントロダクションをお読みください。
-
地形には既に垂直オフセットが入っているWorleyノイズを使用していくので、HeightField Noise SOPの Center Noise トグルをオフにします。
-
Amplitude パラメータを
400に設定します。 これによって、山の高さがわずかに低くなります。 -
Noise Settings セクションの Noise Type ドロップダウンメニューから Worley Cellular F1 を選択します。 これによって、鋭い峰と尾根を持つ山脈が表示されます。
-
HeightField Distort by Noise SOPを配置して、 1番目 の入力をそのHeightField Noise SOPの出力に接続します。 このノードは、規則的なフラクタルを崩して小さな岩の構造を生成します。
-
もっとディテールを増やすために、 Element Size パラメータを
75に変更します。
Flow ¶
ここでは、後ほど侵食量を制御するFlowフィールドを作成していきます。
HeightField Flow Field SOPは、HeightField Slump SOPを改良したものと考えることができます。
そのHeightField Slump SOPは、斜面を滑り落ちる際の瓦礫や緩い物質の挙動をシミュレーションします。
HeightField Slump SOPの詳細は、別の章で説明しています。
-
HeightField Flow Field SOPを配置し、その入力をそのHeightField Distort by Noise SOPの出力に接続します。 しばらくすると、赤いマスクが表示されます。
-
Flow タブにある Slump Mode パラメータを Smooth に変更します。 このモードでは、水はすべての可能な方向に広がります。
-
より強い降水をシミュレーションするために、 Rain Amount パラメータを
0.4に変更します。 雨滴が地形上の広い領域を覆う確率が高まるため、マスクがやや密になります。 Rain Density パラメータを使用すれば、通常から激しいまでの様々な雨のタイプをシミュレーションすることもできます。
Flowレイヤ ¶
イントロダクションで説明している通り、HeightField Flow Field SOPは、水が地形上でどのように広がるのかを表現したいくつかのレイヤを生成しますが、その水自体を表現したwaterレイヤもあります。
waterレイヤは、HeightField Flow Field SOPの Rain Amount パラメータおよび Rain Density パラメータ、地形内に水が集まる箇所から直接影響を受けます。
HeightField Visualize SOPを使用することで、それらのFlowフィールドレイヤを可視化することができます。
単にそのHeightField Visualize SOPの Layer パラメータを使用して、 Color を適用するだけです。
以下の画像は、そのHeightField Visualize SOPで
flowdir.x、water、flow、flowdir.zのレイヤを表示したものです。
歪曲 ¶
この手順では、flowレイヤを使用して地形の変位をスケールさせて、侵食チャネル(流路)のサイズと深さを制御します。
-
HeightField Distort by Layer SOPを追加して、 両方 の入力をそのHeightField Flow Field SOPの出力に接続します。 この 2番目 の入力は、既存レイヤをすべての関連パラメータで利用可能にします。
-
Scale Field パラメータのドロップダウンを開いて、
flowを選択します。 このフィールドは、マスクされた領域内の地形を変位させるために使用します。 -
Displace Scale パラメータを
2に設定して、より深く、より顕著な流路を生成します。
流路が深すぎたり、微細なスパイクが生じているようであれば、そのHeightField Distort by Layer SOPの後にHeightField Blur SOPを追加すると良いでしょう。
Radius パラメータを
0.5または1に設定して、可能な限りディテールを保持します。
そして、マスクを除去するために、ネットワークの最後にHeightField Mask Clear SOPを接続します。
Layer 1 のデフォルト値は既に
maskとなっているため、変更は不要です。
その後、そのHeightField Mask Clear SOPの青い Display/Render フラグを有効にして、最終結果を確認してください。