On this page | |
Since | 13.0 |
このノードは、Particle Fluid SOPの代用になります。 このノードは、そのノードよりも高速でメモリ使用量も少なく、より滑らかな結果(凸凹が少ない)が得られ、非常によい“シート”(流体の接続部分が水滴の集まりではなく、幅の狭いつる状のような見た目になります)を持ちます。
このノードは、ゼロレベルを設定した符号付き距離フィールド(SDF)VDBを出力して、流体サーフェスを表現します。 出力されたVDBは、Convert VDBノードによって、ポリゴンまたはPolygon Soupに変換することができます。 入力のポイントやプリミティブは、出力されません。
パラメータ ¶
Limit Refinement Iterations
このチェックボックスをオンにすると、ノードは、指定した回数だけジオメトリを改良します。 これをオフにすると、ノードは特定の品質に到達するのに必要な反復数を使用します。 処理速度と品質のバランスを考えると、このパラメータは1から4の範囲に設定してください。
このノードで指定した反復回数は常に有限で、反復回数を上げると、反復毎にかかる時間がすぐに長くなります。 そのため、3から4よりも大きな回数に設定するメリットがほとんどありません。
Half-Band Voxels
出力フィールドに詳細な値を記録したVDBを生成するための、サーフェスの各片側のバンドの幅(ボクセル単位)。 このバンド外のボクセルは、VDBの背景値(またはマイナスの値)を記録します。
Rebuild SDF
出力を標準の符号付き距離フィールド(SDF)に変換します。 このオプションをオフにすると、流体サーフェスを意味するゼロレベル設定のスカラーフィールドが出力され、ボクセルに割り当てられた符号は、標準のSDFの符号と一致します(流体内側をマイナス、外側をプラス)。 しかし、非ゼロレベルは必ずしも0レベルの通常オフセットを意味するわけではなく、例えば、0.1のレベルサーフェスは0.0レベルサーフェスから0.1の距離だけ均一に離れているとは限らないので、 それは適切な距離フィールドではありません。 さらに、サーフェスの両側のVDBの背景値は、-1と+1です。 このオプションをオフにすると、若干高品質なサーフェスが生成される場合があります。
Output Name
出力で生成されるフィールドの名前。
Particles ¶
このタブのパラメータは、出力解像度、パーティクルのサイズ、パーティクル相互作用の拡張を制御します。
Resample Input
パーティクルの不正な分布を補正するために、以下のパラメータを使って再サンプリングします。 これによって、オーバーサンプリングされた領域のパーティクル数が軽減されて、パフォーマンスが良くなり、画面の乱れを回避することができます。
Particle Separation
シミュレーションで使用するパーティクルの距離間隔。 これは、以下の3つのパラメータに対してユニット長として使われます。
Voxel Scale
生成されるVDBボリュームで使用するボクセルの辺長。
これは、 Particle Separation の長さに対するスケールです。
例えば、 Particle Separation が0.1
で Voxel Size が0.5
なら、出力フィールドのボクセルの辺長は、0.05
になります。
Influence Scale
パーティクルが相互作用する最大距離。
小さくするとより滑らかな結果になりますが、処理時間とメモリ使用量が大幅に増えます。
これは、 Particle Separation の長さに対するスケールです。
例えば、 Particle Separation が0.1
で Influence Radius が3
なら、パーティクルがお互いに0.6
ユニットの範囲内にあれば相互作用します。
通常では、値を高くするほど、より小さなスケールの流体に似たような繋がった(且つ、滑らかな)出力になります。 しかし、この値を高くすると、特に Resample Input オプションを選択しなかった場合、ボクセルサイズの半径に対して 3乗で 処理時間が増えます。 再サンプリングは、パフォーマンスとメモリ使用量を大幅に軽減します。
Droplet Scale
パーティクルと生成されるサーフェス間の大まかな目的の距離。
これは、 Particle Separation の長さに対するスケールで、 Influence Scale よりも小さくなければなりません。
もしpscale
アトリビュートが存在すれば、これは、( Particle Separation の長さの代わりに)pscale
アトリビュートの値に対するスケールになります
Note
これは、他のパーティクルからの相互作用がない場合に、パーティクルと生成されるサーフェス間の目的の距離がパーティクルを中心にした球(水滴)の形状で正確にわかるので、 孤立したパーティクルで形成される水滴の半径を正確に求めることができます。
pscale
アトリビュートを使えば、局所的にサーフェスからパーティクルまでの距離を操作する(パーティクルをサーフェスに引き寄せたり、引き離す)ことができます。
pscale
の値は、流体サーフェスから各パーティクルまでの距離を計算した結果をこのパラメータで乗算するスケールとして Particle Separation の代用となります。
Droplet Scale とすべてのパーティクルのpscale
を乗算した値は、 Influence Radius と Particle Separation を乗算した値よりも小さくなければなりません。
Tiles ¶
Advancedタブには、タイリングの制御と流体のサーフェス化アルゴリズムのメモリ管理機能が用意されています。
Tile Size
アルゴリズムで使用される立方体“タイル”のサイズ。それらのタイルは、このノードのディスプレイフラグがオンの時にビューポートで可視化されます。 タイルは並列処理できるので、CPU数が多い時はタイルをより小さくする方が良い場合があります。 しかし、作業をタイルに分散する時に、タイルの数が多いほどオーバーヘッドが増えてしまいます。 このノードで使われるメモリ使用量は、タイルサイズに関係しますが、タイルの数には関係ありません。 タイルの数が多いほど、このノードで使用されるメモリ使用量が増えます。
この値は、 Particles タブの Influence Radius パラメータに対するスケールです。 つまり、 Influence rRadius パラメータの値をそのままで、この値を2倍にすると、メモリ使用量が8倍になります。 同様に、ボクセルサイズを半分にしても、メモリ使用量が8倍になります。
Tile Offset
グリッド原点からタイル配列の原点までの変位量。このパラメータを変更すると、指定した値(ボクセルサイズの一番近い倍数に丸められます)だけ全体のタイル配列がずれます。Modifying このパラメータを修正すると、流体のメインボディと重なっているタイルの数を減らすことができ、ノードのパフォーマンスを著しく改善することができます。 例えば、流体シミュレーションに浅い水のプールを含んでいる場合、このメインのプールをできるだけ少ないタイルの列で覆うようにするのが良い考え方です。
Note
生成されるサーフェス間のフレームからフレームへの一貫性を保持できるように、流体をサーフェス化する全体のフレーム範囲に対して Tile Offset を固定値に設定することが非常に重要です。
Additional Padding
隣接するタイル間の余分な重なり具合。
この値が大きいほど、タイル間の不一致のリスクが小さくなりますが、それと同時に、タイル毎に行なわなければならないノードの作業量が増えます。
この値を上げると、大幅にノードの処理時間が長くなります。
この値を3
よりも大きくするのは、通常では、ほとんどメリットがありません。
この値は、 Particles タブの Influence Radius パラメータに対するスケールです。
Limit Physical Memory %
オンにすると、コンピュータの全体のメモリ容量の最大 パーセンテージ がこのノードの作業バッファになります。
これは、ノードで作成されるフィールドが使用するメモリ容量には影響しません。
大きな Tile Size と Additional Padding の値では、この制限内に抑えることができないことがあります。 その場合、ノードが停止して、エラーを表示します。 メモリ容量があまりにも少なすぎて、利用可能なCPUすべてを使うことができない場合、ノードは警告を表示します。
Visualize
サーフェス化のジョブの分析に使用する Tiles や Padded Tiles (または両方)の可視化の選択。
Note
ノード上をクリックすると、このノードが使用しているCPUの数を確認することができます。
入力 ¶
Particle Fluid Field
サーフェスの生成元となるパーティクルジオメトリ。一般的には、パーティクル流体シミュレーションからパーティクルフィールドを接続しますが、ポイントのセットをこのSOPの入力として使用することもあります。
See also |