On this page | |
Since | 19.0 |
このノードは、 Skin Solify SOPノードによって生成されたジオメトリ(スキンサーフェスやスキンソリッド)に一連の拘束を作成し、
Skin Properties SOPノードで定義された設定を使用してその拘束を駆動してから、
Vellum solverを使ってスキンのシミュレーション(2回目のパスの皮下組織)を計算します。
スキンパス(スキンサーフェスとスキンソリッド)のシミュレーションの際は、皮下組織レイヤー(皮下組織サーフェスと皮下組織ソリッド)との次のような拘束関係を理解しておくことが重要です。

パラメータ
Solver
Reset Simulation
スキンのシミュレーションのキャッシュ全体をメモリからクリアします。
Initialization Frame
スキンのシミュレーションを開始するHoudiniプレイバー上のフレームを設定します。
Integration
(振り子のような)弧を描く動きでは、拘束予測がその予測を誤り、動きが減衰することがあります。そのような場合に、どのようにVelocityによってポイント位置を前へ前へと積分させていくかを決定します。
First Order
1次予測を使ってポイントを積分します。1次予測は、過度の跳ね返りを回避します。ソルバがシミュレーション中に衝突を検出した場合、1次予測に戻されます。
Second Order
2次予測を使ってポイントを積分します。2次予測は、弧を描く動きをさらに補い、システム内のエネルギーをより多く維持します。
Solve Iterations
Time Scale
Vellum Solverの実効時間のスケール乗数を指定します。この値を使用すると、バレットタイムのようなエフェクトを作成できます。Vellum Solverの物理計算が、Houdiniのプレイバーとは異なる時間軸で実行されます。値を2に設定すると、スキンが2倍速で落下し、0.1に設定すると、0.1倍速で落下するようになります。
Substeps
ここで指定したサブステップの数で、シミュレーションの各フレームを分割します。高速移動での衝突や急激なフォースに対しては、サブステップを上げる必要があります。
Tip
スキンの伸縮が非常に大きい場合は、サブステップを上げて試すことをお勧めします。
Constraint Iterations
各サブステップ内で、ここで指定した回数だけ拘束が実行されます。剛性の高い拘束を収束させるには、この反復回数を上げる必要があります。
Constraint Iterationsは、収束が早いガウス・ザイデル法を使用します。しかし、剛性が高すぎたり、不可能な構成が原因で完全に収束しなかった場合、目立つエラーとして崩れた三角形のようなものが残ってしまいます。
Smoothing Iterations
各サブステップ内で、ここで指定した回数だけスムージングが実行されます。
Smoothing Iterationsは、収束は遅いものの、残ったエラーが穏やかに広がるヤコビ法を使用しています。 Smoothing Iterations のデフォルトの10回でもエラーは滑らかになりますが、 Constraint Iterations の値が非常に大きい場合は、回数をさらに増やす必要があります。
Collisions
Enable Collisions
オンのとき、スキンの外部および自己衝突が有効になります。スキンサーフェスレイヤーのみが衝突します。
Collision Radius Scale
皮下組織とスキンの間の空間のスケール乗数を指定します。 Tissue Solver Vellum SOPノードの Visualize ▸ Tissue Collision Radius を使用すると、この空間をビューポートで可視化できます。
Ground Plane
オンのとき、衝突のグランドプレーンを作成します。これは、大きく柔らかい尾を床に打ち付けるクリーチャを作成するときに便利です。平らな面では不十分な場合は、External Collisionsパラメータを使って外部コライダーを用います。
Ground Position
グランドプレーンのXYZワールドポジションを指定して、オフセットできます。
Collision Passes
シミュレーションで、ここで指定した回数だけ衝突が実行されます。衝突は、拘束のイテレーションと交互に行なわれます。衝突は処理が重いので、大きい数を設定しないようにすることをお勧めします。
Collision Passes を10に設定すれば、ほとんどのケースでうまくいきますが、代わりに substeps を使用することをお勧めします。品質を上げるには、Substepsを使う方が効果的です。
Post Collision Passes
ここで指定した回数だけ、最終ラウンドの衝突検出が実行されます。
Polish Passes
オンのとき、追加のコライダーペアを実行する数を指定します。どの衝突においても、完全に解決できない衝突ペアが存在する可能性があります。未解決の衝突ペアがすべて解決されるまで、これらのパスは実行されます。アクティブなコライダーでのみこれらのパスは実行され、新しい衝突検索は実行されないため、非常に軽い計算処理です。
オンのとき、外部衝突オブジェクトをスキンに使用できます。
Collider
外部衝突オブジェクトのネットワークパスを指定します。
Primitive Group
コライダープリミティブを含むジオメトリグループを指定します。
Forces
Gravity
スキンに適用する均一な重力を指定します。
Drag
風のフォースに抵抗するポイントの量を指定します。
Simulation Cache
Cache Simulation
オンのとき、スキンのシミュレーションはメモリにキャッシュされます。
Allow Caching To Disk
オンのとき、スキンのシミュレーションはディスクにキャッシュされます。
Cache Memory (MB)
メモリキャッシュの最大サイズを設定します。
Advanced
Rigid Group
スキンのシミュレーションに含める、剛体スキンポイントグループの名前を指定します。
スキンの一部を可能な限り硬く皮下組織のサーフェスレイヤーに取り付け、滑りを無視する必要がある場合は、 Group SOPノードを作成して
Skin Solidify SOPノードに接続し、スキンネットワークに剛体のスキンポイントグループを定義します。このような剛体のスキンポイントグループを定義する場合は、 Rigid Group パラメータフィールドに、Group SOPで定義した Group Name を入力してください。
Sliding Method
スキンを滑らせるとき、皮下組織サーフェスレイヤーのジオメトリ上の次に近い位置を検索する際に使用される、滑りの手法を指定します。
Closest Point
投影した滑り位置から、ターゲットジオメトリ上の一番近いポイントを選択します。この手法は高速ですが、皮下組織サーフェスレイヤーのジオメトリにある凹部分を不適切に飛ばす可能性があります。
Traverse Polygons
現在の皮下組織レイヤープリミティブから開始し、継続的に外部へ操作して、周辺のプリミティブ上で一番近いポイントを検索します。処理が重い手法ですが、凹状の皮下組織サーフェスレイヤージオメトリをうまく制御できます。
Traverse Triangles (Optimized)
凹部分をうまく制御できる点では Traverse Polygons と同様ですが、特別な三角形距離関数を使用しているため、何倍も高速です。
ARAP Volume Preservation (Optimized)
オンの場合、Scale-Invariant ARAPモデルを使用して、最適化された体積維持をスキンに適用しますつまり、プリミティブの形状が変更されるとき、入力スキンVolume Stiffness(solidvolumestiffness
アトリビュート)は無視され、無限大の剛性がボリュームに適用されます。オフの場合、ソルバは追加のボリューム拘束を処理することになります(解決の効率が低下します)。 Volume Stiffness がShape Stiffnessより弱い場合は、異常が生じる可能性もあります。 ARAP Volume Preservation (Optimized) は、デフォルトでオンになっています。
Warning
このパラメータは、 オン にしておくことを強くお勧めします。そうしないと、特に Shape Stiffness が Volume Stiffness を越える場合、スキンの挙動が不安定になる可能性があります。
Enable Multi-Pass
オンのとき、特定の条件が満たされるまで、サブステップを繰り返すことができます。現在の条件は、無効化されたポイントが原因でジオメトリが引っかかり、無効化されてないポイントがストレッチを生成することで生じる問題を修正するように設計されています。衝突は常に拘束を未然に防ぐので、結果としてスキンがストレッチします。自動的に無効化されたポイントに隣接したポイントも、過度なストレッチが検出されると、同じように無効化されます。この解決ステップは、ジオメトリが解放されるまで繰り返されます。
Maximum Passes
ここで指定した回数を最大として、サブステップを繰り返します。無効化する必要のあるポイントがなくなると、プロセスは即座に停止します。
Disable Stretch Ratio
ポイントが無効化の対象であるかを判断をするために使用する、解決ステップの終わりにおけるストレッチの量。これは、失敗した衝突がスキンを引き離している時に、それを検出するためのものです。無効化するポイントを増やすことに失敗すると、通常はスキンが解放され、ストレッチを続けるよりも良い結果が得られます。
Visualize
Internal Attach Geometry
オンのとき、スキンパス内の皮下組織レイヤーとコアレイヤーがビューポートに表示されます。
Attachment Vector
オンのとき、スキンサーフェスと皮下組織サーフェス間の取り付けがピンク色のベクトル線として表示されます。スキンソリッドと皮下組織サーフェス間の取り付けは、緑色のベクトル線として表示されます。
Collision Geometry
オンのとき、すべての外部衝突オブジェクト(グランドプレーンを含む)が、ビューポート上で青でハイライト表示されます。
Outliers
オンのとき、スキンサーフェスレイヤーの外側にあるすべての皮下組織ポイントは、ビューポートにピンク色の球として表示されます。
筋肉が皮下組織サーフェスの外側にある、つまり筋肉が皮膚から突き出しているような、異常な状況は望ましくありません。ここで役立つのが、オフセットです(Tissue Layer > Surface Offset)。表示されているピンク色の球は、筋肉上の実際のポイントです。可視化をオンにしてから、Surface Offsetを調整します。しかし、スキンに十分なスペースが残らない場合は、a)スキンを大きくする、b)筋肉をよりコンパクトに/小さくする、のいずれかを行なう必要があります。スキンに十分な余裕を残しておかないと、多少の代償を伴うことになります。
Outlier Scale
Outlier のピンクの球がビューポートに表示されるサイズのスケール乗数を指定します。
入力
Input 1
Tissue。スキンジオメトリ(スキンサーフェスレイヤーおよびスキンソリッドレイヤー)
Input 2
Internal Attach Geometry。キャッシュされた皮下組織シミュレーション
出力
Output 1
Tissue Output。スキンシミュレーション。
See also |