On this page | |
Since | 14.5 |
パーティクル流体シミュレーションまたはVellum流体シミュレーションからのポイントジオメトリを、このノードの1番目の入力に接続します。 このノードは、最も外側にあるポイントからサーフェスを生成します。
(ポイントにpscale
アトリビュートがある限りは、パーティクル流体シミュレーションからのポイントだけでなく、どのポイントもサーフェス化することができます。このアトリビュートには、各パーティクルの仮想半径をHoudini単位で指定します。)
他のボリューム/オブジェクト内側にあるサーフェス領域を削除する ¶
オプションとして、生成されるサーフェスをポリゴンに変換する前に、そこからジオメトリを減算することができます。 例えば、流体のコンテナオブジェクトの外側、または、流体が衝突するオブジェクトの内側で、このノードがポリゴンを生成しないようにすることができます。
-
サーフェスから減算したいボリューム/ジオメトリを、このノードの 2番目 の入力(“Collision Objects and Volumes”)に接続します。
-
パラメータエディタで、 Regions タブをクリックして、 Subtract Collision Volumes を有効にします。
フィルターにマスクをかける ¶
Filteringタブのコントロールを使用することで、 平滑化 などのフィルタリングをサーフェスに適用することができます。
Fogボリュームを使ってフィルターの効果にマスクをかけるには:
-
このノードの 3番目 の入力(“Mask Volumes”)にマスクボリュームを接続します。
-
Filtering タブで、左側にあるチェックボックスを使ってフィルターを有効にします。
-
そのフィルターの右側にある Mask チェックボックスを有効にします。
-
そのフィルターの下側にあるMaskコントロールで、 Mask Input を有効にします。
Mask Input の隣のフィールドでは、その入力内のグループを指定することができます。空っぽのままにすると、このノードは入力内のすべてのジオメトリを使用します。 または、
@name=mask
のようなグループ構文を使用することで、名前で特定のボリュームを指定することができます。
入力の一部をプレビューする ¶
Regions タブの Use Bounding Box パラメータは、サーフェス化を入力ジオメトリの一部に制限することができます。 このパラメータを使用することで、小さな“プレビュー”領域だけをサーフェス化することができるので、パラメータ調整時のフィードバックを速くすることができます。
-
境界ボックスをセットアップする前に、 Surfacing タブをクリックして、 Convert To を“Particles and Compressed Fluid Surface”に設定します。これは近似された流体を表示するので、その境界ボックスの移動が速くなります(このノードは境界ボックスを動かす度に再サーフェス化を試みません)。
-
Regions タブをクリックし、 Use Bounding Box を有効にします。
-
このノードがまだ選択されている状態のまま、ビューア内でEnterを押して、このノードのハンドルを表示します。
Note
境界ボックスのデフォルト値は、非常に大きい(50×50×50)です。ビューアで遠くまでズームアウトするか、または Use Bounding Box の Size パラメータを小さくさせてハンドルを表示させてください。
-
境界ボックスのハンドルを使って、その境界ボックスの位置やサイズを変更するか、または Use Bounding Box の Size と Center のパラメータを使って、流体全体の一部をフレームします。
-
Surfacing タブをクリックして、 Convert To をサーフェス生成オプション(“Surface VDB”, “Surface Polygons”, “Surface Polygon Soup”)のどれかに設定して、その境界ボックス内で生成されたサーフェスをプレビューします。
入力ジオメトリ全体に対して現行パラメータの効果を確認したい時は、単に Regions タブの Use Bounding Box を無効にするだけです。
Tips ¶
-
Compressed Fluid Surface を確認する場合、 Transfer Attributes 、 Subtract Collision Volumes 、 Closed Boundaries を無効化することで、最高速のプレイバックを確認することができます。
-
このノードの入力のパーティクルジオメトリをFluid CompressあるいはPack Pointsのノードを使ってパックした場合には、(シェルフから作成される流体シミュレーションと同様に)そのネットワークには、ディスクからそのパックパーティクルを読み込むノードを含めてください。
この場合、FileまたはFile Cacheの Delay Load Geometry が有効な状態でそのパーティクルを読み込むようにしてください。 このオプションを使用すると、そのノードはサーフェス化で必要になるまではそのパーティクルがディスクから実際に読み込まれなくなります。 これによって、境界ボックスによるクリッピングをした時や Transfer Attributes が無効な状態で Compressed Fluid Surface Points をプレビューするだけの時には、その読み込み時間を短くすることができます。
-
非常に遅い動きの粘性のある流体に関しては、デフォルトのサーフェス化設定では、その結果のメッシュで“チラツキ”が発生することがあります。チラツキを最小限にするには、以下のことを試してください:
-
FLIP Solverの Reseed Particles をオフにして、シミュレーション中に新しいパーティクルを取り込まないようにします。
-
Average Position サーフェス化方式を使用している場合、 Limit Refinement をオンにして、その反復を0のままにするか、 Spherical 方式に切り換えます。どちらの場合でも、 Filtering タブで、例えば Dilate, Smooth, Erode のパラメータを有効にして平滑化をした方が良いです。
-
Adaptivity を0に設定して、最適ポリゴンメッシュを無効にします。この設定によりメッシュが重くなってしまいますが、時間軸との整合性が良くなり、メッシュ法線の変化によるポリゴン化の変更が回避されます。
-
-
ソースポイントがFluid CompressSOPによって圧縮された流体出力である場合、このノードは
surface
とvel
のVDBを使って、流体のもっと深い部分で紛失している深度やVelocityのデータを満たします。
パラメータ ¶
Surfacing ¶
Method
パーティクルから初期VDB符号付き距離フィールドを作成するために使用するサーフェス化方式。
Average Position
VDB From Particle FluidSOPを使用してパーティクルの平均位置からサーフェスを作成します。 このオプションは、より滑らかな初期サーフェスを作成し、近くにあるパーティクル間でより滑らかなサーフェスを作成するオプションがあります。 しかし、 Spherical 方式よりも処理が重くなります。
Spherical
VDB From ParticlesSOPを使用して各パーティクル周辺に単に球ボリュームを作成してから、それらを結合してサーフェスを作成します。 これは、通常では平滑化を必要とする非常にでこぼこしたサーフェスを作成します。しかし、 Average Position 方式よりも高速です。 これは、非現実的な表現をするために面白い見た目のサーフェスを作成したい時にも役立ちます。
Particle Separation
流体シミュレーション内の2つのパーティクル間の距離。 このパラメータは一般的に、そのパーティクルを作成した流体シミュレーションのFLIP Objectと同じパラメータを参照するべきです。
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 を乗算した値よりも小さくなければなりません。
Limit Refinement Iterations
このチェックボックスをオンにすると、ノードは、指定した回数だけジオメトリを改良します。 これをオフにすると、ノードは特定の品質に到達するのに必要な反復数を使用します。 処理速度と品質のバランスを考えると、このパラメータは1から4の範囲に設定してください。
このノードで指定した反復回数は常に有限で、反復回数を上げると、反復毎にかかる時間がすぐに長くなります。 そのため、3から4よりも大きな回数に設定するメリットがほとんどありません。
Min Radius in Voxels
このボクセル数より小さい半径のポイントは無視されます。 Voxel Scale の設定を小さくしても出力が得られるようにするには、このパラメータを下げる必要があります。
Preserve Bubbles
流体内に完全に潜り込んでいる気泡は、サーフェスSDFを再サンプリングした時に消えてしまうことがあります。 このオプションは、別のサンプリングメソッドを使用することで、その生成されるサーフェス内に気泡を維持します。 このオプションは、余計に計算時間がかかるので、内部ジオメトリを維持する必要がある時にのみ有効にしてください。
Union Compressed Fluid Surface
入力の流体がFluid CompressSOPで圧縮されていた場合、その圧縮されたサーフェス流体VDBを使って、流体のより深い部分をパーティクルのディテール以下で満たします。
Erosion Scale
Union Compressed Fluid Surface が有効な時、このパラメータは、圧縮された流体のパーティクルの帯域幅にsurface
フィールドを収縮させます。
そのフィールドとそのパーティクルの間に継ぎ目が見える場合、この値を下げることで継ぎ目を除去することができます。
Convert To
サーフェス化処理の出力を指定します。 最初の3つのオプションは、主にプレビュー向けです。
Particles
アンパックし、何かしらのRegionsフィルターを適用して、入力パーティクルを出力します。これを使用することで、(非圧縮の)パーティクル流体がどの程度なのかを理解することができます。
Particles and Compressed Fluid Surface
入力の流体がFluid Compress SOPによって圧縮されていた場合、これは、(上記の“Particles”と同じ)入力パーティクル と 収縮されて圧縮された流体サーフェスを出力します。 これを使用すると、パーティクルサーフェスのディテールと圧縮されたサーフェスの下部がどの程度なのかを理解することができるので、FLIPシミュレーションのプレビューに役立ちます。
Compressed Fluid Surface
入力の流体がFluid Compress SOPで圧縮されていた場合、これは、その圧縮されたサーフェス のみ を出力します。 このフィールドは、そのシミュレーションから取得されたポイントVelocityと連動したFLIP Solver内の液体の表現です。 これを最終サーフェスのプレビューとして使用することができます。
もし Transfer Attributes が無効で、このノードの入力が Delay Load Geometry を有効にしたファイルである場合、そのパックパーティクルは、このオプションによって ディスクから決して読み込まれなくなり、高速プレビューに役立ちます。
Surface VDB
サーフェス化とフィルタ化の後にraw VDBを出力しますが、ポリゴンへの変換は行ないません。これは、他の処理でFogボリュームを必要とする時に役立ちます。
Surface Polygons
最終サーフェスをポリゴンとして出力します。
Surface Polygon Soup
最終サーフェスをポリゴンスープとして出力します。
Isovalue
計算されたサーフェスボリュームがこの値に等しい箇所にサーフェスを作成します。デフォルト(0)は、“何かのボリューム”と“ボリュームなし”の間の境界でサーフェスを作成します。 この値を上げることで、サーフェスを膨張させることができます。
Adaptivity
サーフェスを生成する時に許容する誤差。 値が大きいほど合致精度が悪くなり、ポリゴン数が少なく、ポリゴンが大きくなります。 値が小さいほど合致精度が良くなり、メッシュの密度が濃くなります。
Transfer Attributes
このリストのPointアトリビュートを入力ポイントからそこから生成されるサーフェス上にコピーします。
Attribute Radius
Transfer Attributes にリストしたアトリビュートに対して、これは、サンプリングされたアトリビュート値を平滑化するために、 Particle Separation に対する乗数として使用する半径です。 値が大きいほど、アトリビュート値がより滑らかになります。
Attribute Samples
Transfer Attributes にリストしたアトリビュートに対して、これは、パーティクルアトリビュートをメッシュに転送する時にサンプリングするポイントの数です。 サンプル数が多いほどアトリビュート値が滑らかになります。 Geometry Velocity Blurを使ってレンダリングする場合には、特にVelocityとモーションブラーが滑らかになります。
Visualize
“Velocity”または“Vorticity(渦速度)”を選択して、ビューア内でその値をサーフェスカラーとして可視化します。
Filtering ¶
パーティクルから生成されたrawサーフェスを滑らかにするのに、特に Method が“Spherical”の時にフィルタリングを必要とすることがよくあります。
フィルタリングは、パーティクルから生成されたrawサーフェスを更に滑らかにするために必要になることが多いです。 特にサーフェス化の Method が Spherical に設定されている時です。 Dilate と Erode のフィルタを有効にすると、近くのパーティクルが一緒にブレンドされてサーフェス内の隙間が閉じるので、さまざまな Smooth 処理でより滑らかにすることができます。 Final Smooth を Gaussian に設定すると、例えば、水しぶきが起こる前のタンクの中のような、非常に滑らかで平坦なサーフェスが生成されます。 しかしながら、水しぶきの領域の鮮明なディテールがぼやけることもあります。 この問題を修正するには、 Final Smoothing の Mask パラメータを有効にし、Velocityおよび/あるいはVorticity(渦速度)が低い領域内にスムージングマスクを作成すると、 動きが低速になり、液体内のあまり乱流でない部分が滑らかになります。
Dilate
指定したボクセル数でサーフェスを外側へ拡張させます。 その Mask パラメータが有効である場合は、このフィルタはマスクされた領域に対してのみ適用されます。
Smooth
指定したフィルタを反復回数分使用することで、サーフェスを滑らかにします。 このフィルタは、 Dilate の後に適用され、その Mask パラメータが有効である場合は、マスクされた領域に対してのみ適用されます。
Erode
指定したボクセル数でサーフェスを内側へ収縮させます。 このフィルタは Smooth の後に適用され、その Mask パラメータが有効である場合は、マスクされた領域に対してのみ適用されます。
Final Smooth
指定したフィルタを反復回数分使用することで、サーフェスを再度滑らかにします。 このフィルタは、 Erode の後に適用され、その Mask パラメータが有効である場合は、マスクされた領域に対してのみ適用します。
上記のフィルターをマスクする方法を参照してください。
Velocity Range
流体Velocityからフィルターマスクを生成します。 最低スピードより遅いVelocityのサーフェス領域は完全にフィルタ処理されますが、 最高スピードより速い領域は何もフィルタ処理されません。
Vorticity Range
流体Vorticityからフィルターマスクを生成します。 最低Vorticityより下のVorticity(渦速度)のサーフェス領域は完全にフィルタ処理されますが、 最高Vorticityより上の領域は何もフィルタ処理されません。
Collision Offset
2番目の入力に接続された衝突オブジェクトまたはボリュームから指定したワールド空間オフセットの範囲内にフィルタマスクを生成します。
Mask Input
このノードの3番目の入力(“Mask Volumes”)に接続されたジオメトリのボリュームを使用して、フィルターにマスクをかけます。
Mask Input の隣のフィールドでは、その入力内のグループを指定することができます。空っぽのままにすると、このノードは入力内のすべてのジオメトリを使用します。
または、@name=mask
のようなグループ構文を使用することで、名前で特定のボリュームを指定することができます。
Combine Operation
複数のマスクフィールドを指定した場合(例えば、 Velocity Range と Vorticity Range を有効にしたり、 Mask Input フィールドに複数のマスクボリュームを指定した場合)、このノードは、この演算を使用してそれらのマスクフィールドを結合します。
Mask Smooth
結合したフィルタマスクをサーフェスフィルタリングのマスクに使用する前に、そのフィルタマスクを滑らかにします。
Note
このパラメータは、 マスクボリュームを平滑化 するためのものです。 平滑化フィルターをマスク するためのものではありません。
Limit Bandwidth
指定したボクセル帯域幅の中でのみフィルタリングできるように、パーティクルから生成された元々のrawサーフェスからマスクを制限します。
Visualize Mask
ビューア内でマスク量をサーフェスカラーとして可視化します。
上記のパラメータは、 Visualize Mask がオンの時に有効になるので、 可視化されている間は、マスクのパラメータの修正をより迅速に行なうことができますが、 その可視化は Mask パラメータを持つ上記のフィルタのどれかに適用される前です。
Regions ¶
このタブのコントロールは、サーフェス化を境界ボックスに制限したり、ジオメトリ内側をサーフェス化しないようにしたり、カメラから見える領域だけをサーフェス化することができます。
Region Voxel Scale
このノードは、領域を内部的に Particle Separation と Voxel Scale を乗算した解像度を基本にしたVDBボリュームとして表現します。 これは、その領域ボリューム内のボクセルのスケールに対する乗数です。 このスケールを上げると、その領域の計算速度が速くなりますが、精度が悪くなります。 このスケールを下げると、計算速度が遅くなりますが、精度が良くなります。この値を1未満にしないでください。
Subtract Collision Volumes
このオプションが有効な時、このノードの 2番目 の入力(“Collision Objects and Volumes”)のジオメトリまたはボリュームの内側にサーフェスを生成しません。
Collision Offset
ここで指定したHoudini単位分だけ入力ジオメトリから減算領域を膨張させます。
Use Bounding Box
境界ボックス内にのみサーフェスを生成します。
このパラメータが有効な時、ビューア内で Handlesツールを使用することで、その境界ボックスのサイズと位置を変更することができます。
Size
境界ボックスのサイズ。
Center
境界ボックスの中心。
Close Boundaries
ボックスの境界に壁を作成してサーフェスを閉じます。これが無効な時、このノードは単にその境界でサーフェスをクリップして、そのサーフェスを開いたままにします。
Flatten Geometry
サーフェスのエッジを平坦化して、シミュレーションした流体のエッジと周辺のOceanサーフェスを合わせやすくします。 この処理は、既にほぼ平坦になっているメッシュでうまく動作します。流体の境界で水しぶきや波があった場合には、重複ポリゴンを生成してしまう可能性があります。 Rebuild SDF を有効にすると、そのエッジ周辺のサーフェスを滑らかにすることができます。
Rebuild SDF
平坦化した後にVDB符号付き距離フィールドを再構築します。これにより、その境界周辺の水しぶきの平坦化による不具合を削除することができ、最終のメッシュがより滑らかになります。
None
SDFを再構築しません。
Full Resolution
平坦化中にポリゴンとVDBを双方に変換する時にフル解像度を使用します。この設定は、最も精度の良い結果を生成しますが、非常に高い解像度のメッシュを扱うので非常に処理が重いです。
Adaptive
平坦化中にポリゴンとVDBを双方に変換する時にトップレベルの Adaptivity パラメータを使用します。この設定は、 Full Resolution よりも精度が悪いですが、計算時間とメモリ使用量を非常に少なくすることができます。
Output Flattened Attribute
ポリゴンジオメトリ上にflattened
Pointアトリビュートを出力します。
このアトリビュートは、ポイントと境界内側の Flatten Distance までの距離を意味します。
このアトリビュートを使用することで、プロシージャルディスプレイスメントシェーディングのスケールを、平坦化された流体の一部にのみ適用することができます。
Suppress Near Collisions
衝突ジオメトリまたはボリューム付近の流体を平坦化しません(上記の衝突ボリュームの減算を参照)。 このオプションは、川底などの流体領域の底を表現した衝突オブジェクトがある時に、流体の底を平坦化しないようにすることができます。
Collision Bandwidth
Suppress Near Collisions が有効な時に、衝突入力からの平坦化を抑止する距離で、 Particle Separation の倍数で指定します。
Plane
どの平面上で平坦化するか。
Shape
エッジから先細になる形状。“Rectangle”は、コーナーが付いて拡張された矩形になり、“Circle”は拡張された円になります。
Water Level
エッジで平坦化する“静止時の”海面水位。
Max Height
サーフェスは、そのサーフェスエッジから Flatten Distance 離れた箇所でのこの Max Height から、そのサーフェスエッジでの Water Level の高さまで滑らかに縮小します。
Flatten Distance
流体は、平坦化領域から内側にこの距離まで平坦化されます。
Pad Bounds
境界ボックスから外にこの距離だけ平坦化平面を広げます。 このパディングは、ポリゴン出力とボリューム出力の両方に影響します。大きなスケールでメッシュを拡張するには、 Extrude Polygons オプションを使用します。
Extrude Polygons
メッシュのエッジにあるポリゴンを外側に押し出して、中央が液面となる大きな平面を作成します。 この平面は、中央がシミュレーションサーフェスとなる大きくて平坦なOceanサーフェスを生成してから、その全体にOceanディスプレイスメントを適用するのに役立ちます。 これは、 Closed Boundaries が無効で、 Pad Bounds が有効な時にのみ利用可能です。
Tip
この押し出されたジオメトリの結果が完全に平坦でなかった場合には、 Pad Bounds を上げてください。
None
押し出しません。
Planar
平面に沿って一度に押し出します。このメソッドは高速ですが、対角線沿いの部分が三角形になります。
Along Each Axis
各軸に沿って別々に押し出します。このメソッドは非常に処理が重いですが、対角線沿いの部分が四角形になります。
Extrude Distance
すべての水平方向にメッシュ境界ポリゴンを押し出す距離。
Extrude Division
押し出されたジオメトリのポリゴン分割数。
Camera
指定したカメラのフラスタム(視野角錐台)の範囲で流体サーフェスをクリップします。 ポイントがパックジオメトリで、そのポイントを読み込むノードの Delay Load Geometry が有効になっている場合、可視パーティクルのみがディスクから読み込まれます。
Z Near
クリップ領域を開始するためのカメラからの距離。
Z Far
クリップ領域を停止するためのカメラからの距離。
Use Camera’s Window
設定した場合、カメラのウィンドウスケール、オフセット、クロップパラメータが以下に説明する Window X/Y の設定と一緒に使用されます。
Window X/Y
クリップ領域で満たすためのカメラのビューの最小/最大部分。 これにより、余白を追加することができるので、境界の条件やシーンの主要なエリアに確実に焦点を合わせることができます。
Close Boundaries
フラスタム(視野角錐台)の境界に閉じた壁を作成します。そうしないと、サーフェスが境界でクリップされます。
入力 ¶
Particles and Volumes
サーフェスを生成するためのパーティクルジオメトリと、オプションのボリューム。
Collision Objects and Volumes
流体サーフェスから減算するジオメトリおよびSDFボリューム。
Mask Volumes
サーフェスをフィルタリングするためにマスクとして使用されるFogボリューム。
See also |