On this page | |
Since | 18.0 |
概要 ¶
たいていの場合、高解像度モデルを使った物理シミュレーション(Editツールの“Use Physics”モードまたはDropツールなど)は遅いです。 シミュレーションを高速化するために、オリジナルモデルの低解像度プロキシをシミュレーションすることができます。 このプロキシは、基本的に同じ形状でありつつ、無駄なディテールが省かれています。
このノードを使ってプロキシジオメトリを作成する基本的な方法が2つあります:
-
このノードは、オリジナルモデルからプロキシジオメトリを自動的に生成することができます。このノードには、ジオメトリを単純化するための方法が複数用意されていて、同時に複数の方法を使用することができます。
-
このノードの中に入って、その中にあるSOPサブネットを使って単純にプロキシジオメトリを手動で構築することができます。
このサブネットの入力は、上流のノードに自動的に適用した単純化の結果になっているので、自動軽減と手動編集を組み合わせることができます。
プロキシジオメトリを作成する時、このノードは、プロキシモデルとオリジナルモデル間にUSDプロキシリレーションシップを自動的にセットアップします。 EditツールやDropツールなどのUSD対応ツールがこのリレーションシップを見つけると、それらのツールは、そのプロキシジオメトリをシミュレーションすることを認識します。
Tips ¶
-
プロキシジオメトリを可視にすることができますが、それだとオリジナルモデルとかぶってしまいます。 残念ながら、USD Visibilityの継承の方法が原因で、プロキシモデルを隠さずにオリジナルモデルを隠すことができません。
これは不便ですが、まず最初にUSDシーングラフツリー内のオリジナルモデルを隠して、このノードに入ることで、コリジョンプロキシを単独で表示することができます。 あなたがSOPネットワーク内にいる間は、SOPビューアは、USDでの可視状態に関係なくそのSOPネットワークの出力を表示します。
-
一般的に、プロキシモデルはなるべくポリゴン数を少なくしてオリジナルモデルの形状に合理的に一致するように軽減させたいです。 シミュレーションが目的であれば、ポリゴンの“品質”は実際には問題になりません(例えば、プロキシに細長いポリゴンが存在しても動作します)。
-
複数の単純化メソッドを有効にすると、それらのメソッドは、パラメータエディタで表示されている順番で適用されます。
-
VDB Resurfaceメソッドは、凸凹なモデルまたは穴の開いたモデルを単純化するのに優れています(これは、オリジナルモデル内の細かなディテールを“ぼかす”方法です)。
-
Decompositionを使ったConvex Hullメソッドを使用した場合、余分なポリゴンが生成されてしまう可能性があります。 “Final Polygon Reduction”メソッドを使用することで、そのようなポリゴンをクリーンアップすることができますが“Percent to Keep”をあまり低く設定しないでください。 Polygon Reductionメソッドは、その凸度を破壊したり、体積ゼロの包囲体などの他の問題を引き起こすほど形状を変更してしまう可能性があります。
-
このノードの中でSOPネットワークを使用してポリゴンプロキシジオメトリを生成する場合、すべてのフェースに
usdprimpath
という名前のSOP文字列Primitiveアトリビュートがなければなりません。 このアトリビュート値には、オリジナルモデルのポリゴンメッシュのプリミティブパス(例えば、/Geometry/basket/mesh_0
)を入れます。
パラメータ ¶
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある 再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(/path/to/prim.collection:name
)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Exclude Primitives with Existing Proxy
Primitives で選択されたPrimに既にプロキシジオメトリが含まれている場合、そのPrimを無視します。
Display Proxy
生成されたプロキシジオメトリをビューポート内に表示します。上記のTipsを参照してください。
以下のパラメータは、ディスク上にプロキシジオメトリキャッシュをセットアップします。 これによって、入力ジオメトリに変更がない限りはプロキシを再計算する必要がないのでノードのクックが速くなります。 (一度シーンをUSDに書き出して、それをHoudiniシーンで使用すると、そのUSDファイル自体がプロキシジオメトリを含んだファイルキャッシュになります。)
Load from Disk
以下で指定したファイルからプロキシジオメトリを読み込みます。
Geometry File
生成したジオメトリの保存先となるファイルパス。
このファイル拡張子には.bgeo.sc
を使用してください。
Save to Disk
クリックすると、プロキシジオメトリが再生成され、それが上記のファイルパスに保存されます。
Enable
PolyReduceを使って、全体的に同じ形状を維持しつつポリゴン数の少ないプロキシジオメトリを生成します。
Percent to Keep
維持するポリゴンの割合。
例えば、オリジナルモデルのポリゴン数が1000だった場合、これを10
に設定すると、ポリゴン数が100のプロキシジオメトリが生成されます。
Enable
ジオメトリをVDBサーフェスに変換してからポリゴンに戻します。 これは、織物やバスケットのように非常に複雑/凸凹なジオメトリから綺麗/単純なサーフェスを取得するのに適したメソッドです(これは、実質的には小さなディテールを“ぼかし”ます)。
Voxel Size
VDBサーフェスのボクセルサイズ(ワールド単位)。 ボクセルサイズが大きいほど、プロキシジオメトリが太ります。
Dilation
VDBサーフェスを膨張&収縮させる距離(ボクセル数)。 これを使用することで、ジオメトリ内の隙間や小さな穴が塞がって、より綺麗で滑らかなサーフェスを生成することができます。
Post Percent to Keep
VDBボリュームから生成されたサーフェスは、形状全体が単純でもたくさんのポリゴンが生成される傾向があるので、このノードは、そのサーフェスに対して自動的にPolyReduceを使用します。
これは、維持するポリゴンの割合です。
例えば、そのサーフェスのポリゴン数が10000だった場合、これを5
に設定すると、ポリゴン数が500のプロキシジオメトリが生成されます。
Enable
メッシュを、物理シミュレーションにちょうど適した凸ハルに変換します。
Granularity
Bullet RBB Solverは、複雑/凹ジオメトリよりも純粋に凸なコリジョンジオメトリを使った方が非常に効率的です。 モデルを包み込んだ“スキン”でもそのモデルを上手く表現できるような場合、“Convex Hull Per Primitive”を選択します。 オリジナルモデルの繋がっていないピース間に隙間が存在するような場合、“Convex Hull per Connected Piece”を選択します。 モデルが凹状である場合、“Decompose Each Connected Piece”の使用を試して、コンピュータが複数の凸形状を使ってオリジナル形状を近似することができるかどうかを確認することができます(これは、まず最初にVDB Resurfaceを使ってディテールをぼかす方法の恩恵が得られます)。
Convex Hull Per Primitive
メッシュPrim毎に単一凸ハルを作成します。 これは、プリミティブの外側形状を大まかに表現できれば良いようなプリミティブに使用します。 これは、非常に複雑なプリミティブからシミュレーションに合ったジオメトリを生成するのに適しています。 例えば、ディテールの細かい花を飾った花瓶を単一凸ハルに変換すると、すべての花と葉っぱのディテールが失われるものの、その花瓶の底面の正確な表現が維持されるので、花瓶をテーブルまたは棚に配置する時に必要な部分を表現することができます。
Convex Hull Per Connected Piece
各Prim内のジオメトリの繋がったピース毎に個々に凸ハルを生成します。 これによって、場合によっては、その結果がもっとディテールの細かい表現になります。
Decompose Each Connected Piece
繋がったピース毎に近似凸セグメントに分解します。 Max Concavity パラメータの値が低いほど、より多くのセグメントが生成され、よりオリジナルのジオメトリにフィットするようになります。
Max Concavity
Granularity が“Decompose Each Connected Piece”の時、ジオメトリ上のポイントから一番近い凸ハルエッジまでの最大距離(ワールド単位)。 この値を下げることで、オリジナルの凹ジオメトリがもっと上手く近似されるようになりますが、プロキシジオメトリの複雑さが増します。
Enable
上記で有効にしたメソッドの結果に対してPolyReduceを使用します。 これは、場合によって不要な同一平面ポリゴンを残してしまう“Convex Hull”の最終クリーンアップに役立ちます。
Post Percent to Keep
維持するポリゴンの割合。
See also |