Houdini 21.0 Height Fieldと地形

Shallow Water Solver(浅水ソルバ): 最適化

浅水シミュレーションの設定と最適化。

Shallow Water Solverには、シミュレーションの制御、エラー修正、カスタマイズを行なうための様々なパラメータとオプションが備わっています。

To...Do this

シミュレーション全体の品質を向上させる

  • Shallow Water Solverシミュレーションは、サブステップに基づいています。 不安定性が確認された場合は、 Simulation タブを開いて、 Substeps を増やしてください。 値を大きくするとシミュレーション速度は低下しますが、より正確な結果が得られます。 このパラメータは、10単位で段階的に上げていくと良いでしょう。

波の跳ね返りを回避する

  • デフォルトでは、波はHeight Fieldの境界で跳ね返ります。 この跳ね返りを回避する最も迅速な方法は、 Setup タブを開いて、 BoundariesPeriodic に変更することです。 これによって、波はHeight Fieldの境界を通過するようになりますが、反対側で再び出現します。

  • Damping Layer セクション内のパラメータを使用して境界付近の波を減衰させることもできます。 これは、どのタイプの Boundaries でも機能します。

    1. Enable Damping Layer トグルを有効にします。

    2. 軸トグルで、波を減衰させる方向を選択することができます。

    3. Layer Size パラメータと Damping Strength パラメータの値を大きくすると、波が境界に到達する前に減衰させやすくなります。

波の繰り返しと再進入を回避する

  • ソルバの Setup タブの BoundariesReflective に変更します。 これによって、波はHeight Fieldの境界で跳ね返るようになります。

水の流れを速くする

Note

水の流れが速すぎると不安定性が生じる可能性があります。 これを修正するには、 Simulation タブの Substeps10単位で増やしてください。

  • ソーシングを利用している場合、 Setup タブの Source Scale パラメータを上げてください。 これによって、より多くの水が注入されて、流れが速くなります。

  • 別の方法として、 Setup タブの Gravity パラメータを上げる方法があります。 例えば、9.8*2のようなエクスプレッションを入力すると値を2倍にすることができます。

  • 1を超える値を設定すると、 Time Scale がシミュレーション全体の速度を上げ、1フレームあたりの流れが増加します。

水の流れを遅くする

  • ソーシングを利用している場合、 Setup タブの Source Scale を下げることで、水量を少なくすることができます。

  • 別の方法として、 SetupGravity パラメータを下げる方法があります。 例えば、9.8*0.25のようなエクスプレッションを入力すると値を1/4にすることができます。

  • 値が1未満の場合、 Time Scale がシミュレーション全体の速度を下げ、結果として流れの速度が低下します。

  • SetupMax Wave Speed パラメータを有効にして、波の速度制限を設定することができます。

水の注入量を増やす

  • より大きなsourceマスクを描画すると良いでしょう。 このようなマスクの描き方については、Shallow Water Solverのページで説明されています。

  • ソルバの Setup タブの Source Scale パラメータの値を高く設定します。

Velocity Diffusion を使用する

  • このパラメータは、Velocityフィールドをぼかし、設定値を高くすると水の粘性が増します。

  • Velocity Diffusion の値を小さくすることも、シミュレーションの安定化に役立ちます。

forceマスクを使用する

すべてのマスクレイヤの設定は、ソルバの Bindings タブにあります。 Force Mask Layer は事前設定されていませんが、そのワークフローは他のレイヤと同様です。 以下に簡易ガイドを記載します。 より詳細な手順については、Shallow Water Solverフィールドのページを参照してください。

  1. Height Fieldマスク系ノードを追加します(例えば、ネットワーク内のHeightfield SOPとShallow Water Solver SOPの間にHeightField Paint SOPを追加して接続します)。

  2. マスクを生成します。

  3. HeightField Copy Layer SOPを追加して接続します。

  4. Destination フィールドに固有の名前(例えば、force)を入力します。 ソルバの Bindings タブにリストされている名前は絶対に 使用しない でください。

  5. 現在のmaskを削除してネットワークを健全に保つために、HeightField Mask Clear SOPを追加して接続します。

  6. ソルバの Bindings タブに移動します。 Force Mask Layer フィールドにforceと入力します。

  7. ソルバの Setup タブの Forces Frequency パラメータを Every Frame または Every Substep に設定します。

アニメーションマスクを使用する

マスクは静的である必要はありません。 例えば、アニメーションするHeightField Noiseや変形するオブジェクトを使用してソースマスクを生成することができます。

  • ソルバの SetupConstraint Updates セクションに移動します。

  • Source Frequency パラメータを Once per Frame に設定して、マスクがアニメーションすることをソルバに知らせます。アニメーションするシンクマスクの場合は、 Sink Frequency パラメータを Once per Frame に設定してください。

    • マスクのアニメーションや変形が非常に速い場合は、精度を高めるために Every Substep を選択してください。 このオプションは、シミュレーションを大幅に低下させる可能性があることに注意してください。

    • 静的マスクを使用することもできますが、代わりに Source Scale をアニメーションさせてください。

    1. 注入を開始すべきフレームにタイムラインスライダを移動させます。

    2. Source Scale パラメータをAlt + クリックして、アニメーションキーを作成します。

    3. 注入量が最大となるフレームに移動します。

    4. 別のキーを作成します。

マスクとレイヤの名前を変更する

ソルバの Bindings タブでレイヤの名前を変更することができます。

  1. 変更したいレイヤの新しい名前を入力します。 すべての名前が固有であり、ネットワーク内の他の場所で使用されていないようにしてください。

  2. 元の名前が使用されていたすべてのノードを更新して、その新しいレイヤ名を適用します。

スパイクやボクセル消失を回避する

場合によっては、スパイクやボクセル消失が見受けられます。 これは、水流が速い領域、または、流れの方向が異なる水流が衝突する領域でよく発生します。 以下にスパイクを軽減する方法を記載します。

  • ソルバの Simulation タブの Substeps を上げます。 初期値の2倍である20から始めるのが適切です。 50100の値のようなさらに高い値を試みても良いでしょう。

  • Setup タブに Velocity Diffusion パラメータがあります。 非常に小さい値(<0.001)はシミュレーションの安定化に役立ちます。非常に高い設定は水の粘性を高めます。

  • Setup タブに Max Wave Speed トグルがあります。 これを有効にして、厳格な速度制限値を入力してください。 これもスパイクの発生を軽減するのに役立ちます。

Height Fieldと地形

生成

  • 地形の生成

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

  • マップからHeight Fieldを生成

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

  • 単独の山

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

  • レイヤ

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

  • 段丘化(Terracing)

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

  • 歪曲(Distortion)

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

  • 地形のペイント

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

  • 投影

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

  • パッチ(継ぎ合せ)

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

  • パターン

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

  • リサンプリング

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

  • 様々な特徴部

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

散布

マスク

  • マスキング

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

  • ライトマスク

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

自然現象

VEX

テクスチャ

Shallow Water Solver(浅水ソルバ)