Houdini 18.0 ノード LOPノード

Simulation Proxy

物理シミュレーションに適した低解像度ポリゴン衝突ジオメトリを生成し、オリジナルモデルに対してプロキシリレーションシップを作成します。

On this page

概要

たいていの場合、高解像度モデルを使った物理シミュレーション(Editツールの"Use Physics"モードまたはDropツールなど)は遅いです。 シミュレーションを高速化するために、オリジナルモデルの低解像度プロキシをシミュレーションすることができます。 このプロキシは、基本的に同じ形状でありつつ、無駄なディテールが省かれています。

このノードを使ってプロキシジオメトリを作成する基本的な方法が2つあります:

  • このノードは、オリジナルモデルからプロキシジオメトリを自動的に生成することができます。このノードには、ジオメトリを単純化するための方法が複数用意されていて、同時に複数の方法を使用することができます。

  • このノードの中に入って、その中にあるSOPサブネットを使って単純にプロキシジオメトリを手動で構築することができます。

    このサブネットの入力は、上流のノードに自動的に適用した単純化の結果になっているので、自動軽減と手動編集を組み合わせることができます。

プロキシジオメトリを作成する時、このノードは、プロキシモデルとオリジナルモデル間にUSDプロキシリレーションシップを自動的にセットアップします。 EditツールやDropツールなどのUSD対応ツールがこのリレーションシップを見つけると、それらのツールは、そのプロキシジオメトリをシミュレーションすることを認識します。

Tip

  • プロキシジオメトリを可視にすることができますが、それだとオリジナルモデルとかぶってしまいます。 残念ながら、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を参照してください。

File Cache

以下のパラメータは、ディスク上にプロキシジオメトリキャッシュをセットアップします。 これによって、入力ジオメトリに変更がない限りはプロキシを再計算する必要がないのでノードのクックが速くなります。 (一度シーンをUSDに書き出して、それをHoudiniシーンで使用すると、そのUSDファイル自体がプロキシジオメトリを含んだファイルキャッシュになります。)

Load from Disk

以下で指定したファイルからプロキシジオメトリを読み込みます。

Geometry File

生成したジオメトリの保存先となるファイルパス。 このファイル拡張子には.bgeo.scを使用してください。

Save to Disk

クリックすると、プロキシジオメトリが再生成され、それが上記のファイルパスに保存されます。

Polygon Reduction

Enable

PolyReduceを使って、全体的に同じ形状を維持しつつポリゴン数の少ないプロキシジオメトリを生成します。

Percent to Keep

維持するポリゴンの割合。 例えば、オリジナルモデルのポリゴン数が1000だった場合、これを10に設定すると、ポリゴン数が100のプロキシジオメトリが生成されます。

VDB Resurface

Enable

ジオメトリをVDBサーフェスに変換してからポリゴンに戻します。 これは、織物やバスケットのように非常に複雑/凸凹なジオメトリから綺麗/単純なサーフェスを取得するのに適したメソッドです(これは、実質的には小さなディテールを"ぼかし"ます)。

Voxel Size

VDBサーフェスのボクセルサイズ(ワールド単位)。 ボクセルサイズが大きいほど、プロキシジオメトリが太ります。

Dilation

VDBサーフェスを膨張&収縮させる距離(ボクセル数)。 これを使用することで、ジオメトリ内の隙間や小さな穴が塞がって、より綺麗で滑らかなサーフェスを生成することができます。

Post Percent to Keep

VDBボリュームから生成されたサーフェスは、形状全体が単純でもたくさんのポリゴンが生成される傾向があるので、このノードは、そのサーフェスに対して自動的にPolyReduceを使用します。 これは、維持するポリゴンの割合です。 例えば、そのサーフェスのポリゴン数が10000だった場合、これを5に設定すると、ポリゴン数が500のプロキシジオメトリが生成されます。

Convex Hull

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"の時、ジオメトリ上のポイントから一番近い凸ハルエッジまでの最大距離(ワールド単位)。 この値を下げることで、オリジナルの凹ジオメトリがもっと上手く近似されるようになりますが、プロキシジオメトリの複雑さが増します。

Final Polygon Reduction

Enable

上記で有効にしたメソッドの結果に対してPolyReduceを使用します。 これは、場合によって不要な同一平面ポリゴンを残してしまう"Convex Hull"の最終クリーンアップに役立ちます。

Post Percent to Keep

維持するポリゴンの割合。

See also

LOPノード

  • Add Variant

    Prim上のバリアントセットに1つ以上のバリアントを追加します。このノードは、そのPrimが存在しなければ、そのPrimを作成します。

  • Additional Render Vars

    複数のRender Varsを作成します。

  • Assign Material

    1つ以上のUSD Primsにマテリアルを割り当てます。VEXを使用することで、プログラム的にマテリアルを割り当てたり、プログラム的に割り当て毎にマテリアル設定をオーバーライドしたり、プログラム的にジオメトリサブセットにマテリアルを割り当てることもできます。

  • Attribute VOP

    VOPネットワークを使ってUSDアトリビュート値を作成/編集します。

  • Attribute Wrangle

    VEXスニペットを使ってUSD Primアトリビュートを作成/編集します。

  • Auto Select LOD

    カメラからPrimまでの距離に基づいて自動的にLODバリアントを選択します。

  • Bake Skinning

    "UsdSkelで駆動されたアニメーションをトランスフォームとポイントポジションにベイクします。

  • Begin Context Options Block

    このノードは、LOPノード群のブロックを開始します。このブロック内では特定のコンテキストオプションが特定の値を持ちます。

  • Blend

    小数点ウェイトに基づいてレイヤーのアトリビュートに部分的に編集を適用します。

  • Cache

    異なる時間におけるネットワークのクック結果をキャッシュ化することで、再生パフォーマンスを上げます。

  • Camera

    シーンにUSDカメラを追加します。

  • Capsule

    カプセル(開口部を半球で閉じたチューブ)形状Primを作成/編集します。

  • Collection

    選択したPrimsを使ってコレクションを作成/編集します。

  • Cone

    円錐形状Primを作成/編集します。

  • Configure Layer

    レイヤー上のメタデータを編集します。

  • Configure Primitives

    1つ以上のPrim上の色々なメタデータを編集します。

  • Configure Properties

    プロパティ(リレーションシップとアトリビュート)上のメタデータを修正します。

  • Configure Stage

    レイヤーをステージとAsset Resolutionに読み込むための方法を示したメタデータを修正します。

  • Create LOD

    PolyReduce SOPを使って高解像度モデルから複数のLODを自動的に生成し、それらのLODをUSDバリアントとして保存します。

  • Cube

    キューブ形状Primを作成/編集します。

  • Cylinder

    シリンダー形状Primを作成/編集します。

  • Dome Light

    USD Dome Light Primを作成/編集します。ドームライトは光を 内側 に放射して、シーンを囲んだ空/環境からの入射光を模倣します。

  • Drop

    重量によるPrimsの落下シミュレーションを実行します。

  • Duplicate

    Prim(とその子孫)のコピーを作成します。

  • Edit

    ビューア内でインタラクティブにPrimsをトランスフォームさせます。物理衝突を使用して、プロップを現実的に配置することができます。

  • Edit Context Options

  • Edit Material

    パラメータやシェーダ接続を変更することで既存のUSDマテリアルを編集することができます。これは、既存マテリアルが編集不可なレイヤーの場合に役立ちます。

  • Edit Properties

    アトリビュート値とリレーションシップ値を直接編集するためのSpareパラメータインターフェースを構築することができます。

  • Edit Prototype

    ポイントインスタンスまたはUSDインスタンス可能Primが別のプロトタイプをインスタンス化するように切り替えます。

  • Edit Target Layer

    アクティブレイヤー内のPrimsとアトリビュートをオーバーライドするのではなく、下位レイヤーで直接編集を適用することができます。

  • Error

    親アセット上で表示可能なメッセージ、警告、エラーを生成します。

  • Extract Instances

    インスタンスを"実際に"編集可能なPrimに変換します。

  • Fetch

    他のLOP(他のLOPネットワーク内のLOPも可能)の出力を取得します。

  • Follow Path Constraint

    Primがパスカーブに追従するように拘束します。

  • For Each

    For-Eachループブロックの終了ノード。

  • Geometry Subset VOP

    VEXpressionまたはVOPネットワークの評価に基づいて(SOPのグループと同様に)ジオメトリPrims内にUSDジオメトリサブセットを作成します。

  • Graft

    他の入力からシーングラフツリーを受け取り、それらのツリーを1番目の入力のシーングラフツリーのブランチに取り付けます。

  • Inline USD

    レイヤーを表現したusdaコードを解読し、そのレイヤーをレイヤースタックに追加します。

  • Instancer

    ポイント上にPrimsをインスタンス化またはコピーします。

  • Karma Procedural

    Karma向けにレンダリング時にインスタンス化される仕組みをセットアップします。

  • Karma Render Properties

    Karma(ベータ)用レンダープロパティを構成します。

  • Karma Standard Render Vars

    標準Karma Render Vars(AOVs/Image Planes)を作成します。

  • LOPノード

    LOPノードは、キャラクタ、プロップ、ライティング、レンダリングを記述したUSDを生成します。

  • Layer Break

    このノードより下流のノードで編集をするための新しいアクティブサブレイヤーを開始します。

  • Layer Replace

    特定のレイヤー内のすべての用途を2番目の入力の代替レイヤーに置換します。

  • Light

    USD Light Primを作成/編集します。このノードは、Karma固有のいくつかの便利アトリビュートも追加します。

  • Light Linker

    ルールに基づいてUSDライトリンクプロパティを作成します。

  • Light Mixer

    複数のライトに対してUSDプロパティをインタラクティブに編集することができます。

  • Load Layer

  • Look At Constraint

    Primがターゲットの方へ常に向くように拘束します。

  • Material Library

    Material VOPノードをUSDマテリアルPrimsとして取り込みます。

  • Material Linker

    ルールに基づいてマテリアルの割り当てを作成します。

  • Material Variation

    Prim/インスタンス単位でマテリアルパラメータをオーバーライドするためのアトリビュート/Primvarsを作成します。

  • Merge LOP

    入力ステージのレイヤー(s)をレイヤースタックに1本化します。

  • Modify Point Instances

    個々のポイントインスタンスに対してポイントトランスフォームとポイントプロパティ値を変更します。

  • Null

    このノードは何もしません。ネットワーク内の"固定位置"としてNullをネットワークに挿入することで、エクスプレッション/スクリプト内で名前によってその位置を参照するのに役立ちます。

  • Output

    サブネットワークの出力を表現します。複数の出力を使ってノードアセットを設計することができます。

  • Parent Constraint

    ツリー内のどこかの他のPrimのトランスフォーム階層をPrimに継承させたようにします。

  • Points Constraint

    ジオメトリのポイントポジションを使ってPrimsの位置と向きを拘束します。

  • Primitive

    特定のタイプの複数のアトリビュートを一括で作成します。

  • Prune

    Primsやポイントインスタンスを非表示または非アクティブにします。

  • Python Script

    このノード内にUSD APIを使ってPythonコードを記述することで、ステージを直接制御することができます。

  • Reference

    外部USDファイルの内容を既存シーングラフツリーのブランチで参照したり、既存の参照を削除/置換します。

  • Render Geometry Settings

    シーングラフ内のジオメトリにレンダラー固有のジオメトリ設定を適用します。

  • Render Product

    UsdRenderProduct Primを作成/編集します。このPrimは、そのRender Productの生成方法を指定したアトリビュートと共にレンダラーの出力(レンダリング画像またはレンダラーが生成した他のファイルなどの中間生成物)を表現します。

  • Render Settings

    UsdRenderSettings Primを作成/編集します。このPrimには、シーンをレンダリングするための全般的な設定を格納します。

  • Render Var

    レンダラー/シェーダで計算されるカスタム変数のシェーダ出力やLight Path Expression(LPE)を指定します。

  • Retime Instances

    選択したインスタンス上のアニメーションのタイミングをオフセット/スケールさせます。

  • SOP Create

    このノード内部のSOPネットワーク内でジオメトリを作成することができるので、別にSOPネットワークを用意することなくLOPネットワーク内のその場でジオメトリを作成することができます。

  • SOP Import

    SOPネットワークのジオメトリをUSDシーングラフに取り込みます。

  • SOP Modify

    USDジオメトリをSOPジオメトリに変換し、そのジオメトリに対してこのノード内部のSOPサブネットを実行し、その結果をUSDオーバーライドに戻します。

  • Scene Import

    Objectレベルのモデル、マテリアル、ライトをLOPネットワークに取り込みます。

  • Scope

    Scope Primを作成します。Scopeとは最も単純なグループ化の形式であり、トランスフォームを持ちません。Scopeはシーンツリーを整理するのに役立ちます。

  • Set Extents

    選択したPrimsの境界ボックスメタデータを設定します。

  • Set Variant

    Prim上のバリアントセットに格納されているどれかのバリアントを選択(切り替え)します。

  • Simulation Proxy

    物理シミュレーションに適した低解像度ポリゴン衝突ジオメトリを生成し、オリジナルモデルに対してプロキシリレーションシップを作成します。

  • Sphere

    球形状Primを作成/編集します。

  • Stage Manager

    一度に多くのファイルを参照して、それらをシーングラフツリー内に配置するための便利インターフェースを備えています。

  • Store Parameter Values

    ステージ内の一時的な(保存されていない)データを格納することができます。

  • Sublayer

    USDファイルまたは他のLOPノードチェーンをサブレイヤーとして取り込んだり、既存のサブレイヤーを削除/置換/並べ替えします。

  • Subnet

    LOPサブネットワークをカプセル化することで、一部のネットワークを整理して隠すことができます。

  • Surface Constraint

    Primがサーフェスに引っ付くように拘束します。

  • Switch

    パラメータ選択またはエクスプレッションに基づいて複数入力のどれかを通過させます。

  • TimeShift

    タイムラインの異なる位置におけるステージをそのまま出力します。

  • Transform

    選択したUSD Primsのトランスフォームを編集します。

  • Transform UV

    USD Prims上のテクスチャ座標を移動、回転、スケールさせます。

  • USD ROP

  • USD Render ROP

  • Value Clip

  • Vary Material Assignment

    いくつかのPrimsに対して異なるマテリアルを割り当ててバリエーションを生成します。

  • Volume

    フィールドPrimsを含んだボリュームPrimでディスク上のボリュームデータを参照します。

  • Xform

    Xform Primを作成/編集します。Xform(とそのサブクラス)はシーンツリー内のトランスフォームを表現します。