Houdini 20.0 Vellum

流体のTipsとトラブルシューティング

How to

Vellum Fluidは、Vellum Solverにシームレスに統合されています。 例えば、Vellum FluidとVellum Grains/Vellum Clothとの間で相互作用をシミュレーションすることができます。 現在のところ、Vellum Hairは対応していません。 最良の結果を得るには、その都度、必要に応じてアトリビュートやパラメータを変更します。

To...Do this

ソルバの設定を最適化する

流体の品質と安定性には、サブステップが重要な役割を果たします。 サブステップは、Vellum Solver DOPノードの Common タブの Iterations の下にあります。 Substeps は最低でも5以上を推奨します。 サブステップ数を増やすほど、 純粋な流体 シミュレーションで優れた結果が得られます。 Viscosity および/または Surface Tension の設定を高くするならば、10から20の間を推奨します。 サブステップ数が増えると、クックする時間も長くなることに注意してください。

純粋な流体 のシミュレーションを最適化するには、 Constraint Iterations の値を約20に下げ、 Smoothing Iterations は通常0に設定します。

Vellum Grain、Vellum Softbody、Vellum Clothのような 流体と他の拘束タイプ を使用したシミュレーションでは、サブステップ数を増やし、反復回数を減らすのが普段のやり方です。 以下の設定で始めるのが良いでしょう。

  • Substeps10に設定します。

  • Constraint Iterations20に設定します。

  • Smoothing Iterations5に設定します。

流体の連続放出を実現する

  • シェルフツール/DOPsとSOPネットワークの詳細なワークフローの説明は、流体とGrains(粒)の放出のページを参照してください。

Vellum FluidとVellum Grainのシミュレーションでパーティクルが消失する問題を解決する

Vellum GrainとVellum Fluidをシミュレーションするとパーティクルが消失する場合は、Vellum Solver DOPノードに移動して、 Advanced ▸ OpenCL Neighbor Search をオフにします。

摩擦を扱う

Vellum Fluidに対する FrictionDynamic Friction の影響はそれほど大きくありませんが、流体には便利で、Vellum Clothと相互作用します。 FrictionDynamic Friction はどちらも、衝突している2個の物体のそれぞれ呼応するアトリビュートに乗算されます。 また、 Friction 値を上げて流体の速度を落としたり、広がりすぎるのを防ぐことができます。 Vellum Solver DOP/SOP(DOP/SOP)またはVellum Configure Grain SOPでは、摩擦はパーティクル単位で適用することができます。Vellum Configure Grain SOPのパラメータは、ソルバのパラメータの乗数として作用します。

  • Friction は、ソルバの Static Threshold パラメータに呼応します。

  • Dynamic Friction は、ソルバの Dynamic Scale パラメータに呼応します。

Vellum Fluid(または、Vellum Grain、Vellum Softbodyなど)と相互作用するオブジェクトに摩擦を適用したい場合、Attribute Create SOPを追加することで、frictiondynamicfrictionの浮動小数点アトリビュートを作成することができます。 オブジェクトの摩擦値は、そのオブジェクトに相互作用するVellumマテリアルの摩擦値で乗算されます。

Vellum FluidとVellum Grainとの相互作用を改善する

Repulsion Weight 値を下げると(< 0.1)、Vellum FluidとVellum Grainとの相互作用を改善することができます。 Repulsion Weight 値が高いと、Vellum GrainはVellum Fluidパーティクルとほとんど混じりません。

Minimal Solverを使用する

Minimal Solverは、Vellum Brush SOPで使用されており、エンドユーザには推奨されていません。

Multi-Phase流体(多相流)をシミュレーションする

Multi-Phase流体(多相流)シミュレーションは、Vellum Configure Grains SOPノードの Phase アトリビュートを使用してセットアップされ、水と油のような混合流体をシミュレーションすることができます。流体の挙動は設定によって変化します。

  • Phase 値は等しいが、 Viscosity および/または Surface Tension 設定が異なる場合、接触する領域で流体同士がくっつきやすくなります。

  • Phase 値は異なり、 Viscosity が等しい場合、2つの流体は相互作用するものの、流体同士の間に摩擦がないような挙動になります。

  • Phase 値が異なり、 Viscosity および/または Surface Tension も異なる場合、流体は分離し、ほとんどくっつきません。

3つの異なる流体と Phase アトリビュートを使用したシーンのセットアップ方法については、Vellum流体の位相ページを参照してください。

低密度の流体の問題を解決する

Vellum Fluidでは、 Density が非常に低い場合(< 10)、シミュレーションが不安定になる傾向があります。 また、例えば10020000など、流体間で Density 値の差異が大きいと、シミュレーションでパーティクルが爆発することもあります。 この問題は、 Substeps を上げても解決することができません。 シミュレーションが安定するまで、 Density 値を均等にすることを推奨します。

高粘度の流体のシミュレーション時間を短縮する

Viscosity 値が非常に高いと、シミュレーションに時間がかかります。 シミュレーションの前にdviscベクトルアトリビュートをポイントに追加することで、前のタイムステップの条件を利用してViscosityソルバを開始することができます。

  1. Attribute Wrangle SOPを追加します。

  2. VEXpression 入力フィールドに、v@dvisc;と入力します。セミコロンを付けるのを忘れないでください。

段になるのを防ぐ

流体パーティクルが層または段を形成することがあります。 これを防ぐには、Vellum Configure Grains SOPノードに移動して、 Dither Surface をオンにします。

Vellum Fluidのしぶきを増やす

デフォルトでは、パーティクルの爆発を避けるために、加速度が制限されています。 しぶきの多い流体には、デフォルトの値が低すぎる場合があります。 Vellum Solver DOPノードでこれを変更するには、 Advanced ▸ Motion に移動して、 Max Acceleration の値を上げます。 このアトリビュートは、しぶきの減速にも適しています。

しぶきの量が十分でない場合は、Vellum Configure Grains SOPノードの Particle Scale を上げて、パーティクルを増やすことも可能です。

パーティクルをソースオブジェクトに合わせる

Vellum Configure Grain SOPの Packing Density を使用すると、Vellum Fluidパーティクルを“過剰に詰め込む”ことができます。 値を高くすると、パーティクルの位置が変位され、ソーシングオブジェクトをはっきりと見せることができます。通常は、1.5から2.0の間で十分です。

Vellum Grainでは、 Packing Density1より大きくしないでください。

脱線パーティクルを削除する

流体とオブジェクトとの衝突やその他の状況において非常に速く加速されたパーティクルの脱線はよく起こります。 POP Kill DOPを追加することで脱線パーティクルを色々な方法で除去することができます。 SOPベースのネットワークでは、そのPOP Kill DOPをVellum Solver SOP内部で配置します:

  1. Vellum Solver SOPをダブルクリックして中に入ります。

  2. ⇥ Tabを押してTABメニューを呼び出します。そこからPOP Killを追加します。

  3. そのPOP Kill DOPの出力をFORCEノードの入力に接続します。

Rule タブでは、速度や位置などのアトリビュートの閾値を定義したVEXpressionを記述することができます。

  1. Enable を有効にしてVEXpressionを編集できるようにします。

  2. 例えば、速度が2.5より速いパーティクルをすべて削除したい場合は、以下のように入力します。

if (length(@v) > 2.5)
{
    dead = 1;
} 

ボックスや球などの他のオブジェクトをヘルパージオメトリとして使ってパーティクルを削除することもできます。

  1. Bounding タブを開きます。

  2. Enable を有効にします。

  3. Bounding Type ドロップダウンメニューから境界タイプを選択し、その境界ジオメトリを調整します。

  4. Bounding Object または Bounding Volume を選択した場合、 SOP Path を使用して、SOPネットワーク内の境界オブジェクト/ボリュームを指定します。

Vellum

ソフトボディ

流体

拘束

コリジョン

その他

上級