On this page | |
Since | 17.0 |
概要 ¶
USDは、2つのタイプのインスタンス化に対応しています: インスタンス化可能Prims (同じブランチの複数のコピーが共有ストレージのエイリアスになります)と ポイントインスタンス (USDには ポイント(s) とそれらのポイント上にコピーする プロトタイプ が格納され、レンダリング時にのみそれらのコピーが描画されます)。 詳細は、USDのインスタンス化を参照してください。
このノードは、どちらのタイプのインスタンス化も扱うことができます。つまり、ポイントインスタンサーを作成することも、ポイントの位置に基づいてインスタンス化可能Primを配置することもできます (他にも、インスタンス化可能Primsの代わりに 実際に別々のコピー を参照することができます)。
複数作成する物の事を プロトタイプ と呼びます。 このノードは、プロトタイプが既に存在していて、それが1番目または2番目の入力に接続されていることを前提にしています。
インスタンス化/コピー先となるポイントのことを ターゲット と呼びます。 このターゲットには、入力シーングラフツリー内のポイントまたはPrim位置を指定したり、このノードの中のSOPサブネット内でそれらを生成したり、ノード階層内の他のSOPノードを指定することができます。
サンプル ¶
-
ネットワークエディタ内で、⇥ Tabメニューを使ってTorusを作成します。
“Torus”ツールは、実際にはTorus SOPの結果をUSDに取り込むSOP Createノードを作成します。
このSOP Createノードの Import Path Prefix パラメータを
/Geometry/torus
に設定します。 -
Sphere LOPを接続します。 Primitive Path パラメータを
/Geometry/ball
、 Uniform Scale パラメータを0.05
に設定します。 -
Cone LOPを接続します。 Primitive Path パラメータを
/Geometry/cone
、 Uniform Scale パラメータを0.05
に設定します。 -
Cylinder LOPを接続します。 Primitive Path パラメータを
/Geometry/tube
、 Uniform Scale パラメータを0.05
に設定します。 -
Instancer LOPを追加して、1番目の入力にこれまでのノードチェーンを接続します。
-
Primitive Path パラメータを
/Geometry/shapes
に設定します。 -
Method パラメータを“Point Instancer”に設定します。
-
Location Source パラメータを“First Input’s Points”に設定します。
-
Location Primitives パラメータを
/Geometry/torus/mesh_0
に設定します。 -
Prototype Source パラメータを“First Input”に設定します。
-
Prototype Primitives パラメータを
/Geometry/ball /Geometry/cone /Geometry/tube
に設定します。 -
Prototype Index を“Random”に設定します。
このノードは、ボール、コーン、チューブをトーラスの各ポイント上にランダムにインスタンス化します。
-
特別なSOPアトリビュート ¶
-
usdvisibility
Point文字列SOPアトリビュートを作成することで、そのポイントに呼応するUSD Primまたはポイントインスタンスの可視性メタデータを制御することができます。値にはinvisible
またはinherit
のどちらかを指定してください。ポイントインスタンスを作成した場合、この可視性情報は
invisibleIds
USDアトリビュートに変換されます。
How to ¶
To... | Do this |
---|---|
各プロトタイプのバリアントをばら撒く |
|
パラメータ ¶
Primitive Path
ポイントインスタンサーPrim( Method が“Point Instancer”の時)または作成されるすべてのPrimsの親( Method が“Point Instancer”以外の時)の作成先となるシーングラフパス。
Primitive Kind
Primitive Path の場所にPrimが存在しなかった場合、このノードがそのPrimを作成します。 このノードがそのPrimを作成する場合、そのPrimのKindがこのKindに設定されます。
Method
詳細は、USDでのインスタンス化を参照してください。
Point Instancer
ポイントインスタンサーを作成します。 これは、ビューアまたはレンダラー内で必要に応じてインスタンスジオメトリを描画する(プロトタイプを子として持った)単一Primです。
Instanceable Reference
各ポイントでインスタンス化可能Primを作成します。 このようなPrimsは、シーングラフツリー内で別々のPrimになり、トップレベルPrim毎に個々にオーバーライドをすることができますが、 それらの子Primsの“シャドウ”コピーを共有しているので、それらの子Primsは編集することも個々にオーバーライドすることもできません。
Reference
“プロトタイプ”Prim(s)を参照したPrimをポイント毎に別々に作成します。 Reference は Instanceable Reference よりもストレージ容量を食いますが、子Primを編集/オーバーライドすることができます。
Instanceable Inherit
“Instanceable Reference”と同様ですが、インスタンスPrimsがソースPrimを参照するのではなくて、ソースPrimを継承します。
Inherit
“Reference”と同様ですが、インスタンスPrimsがソースPrimを参照するのではなくて、ソースPrimを継承します。
Instanceable Specialize
“Instanceable Reference”と同様ですが、インスタンスPrimsがソースPrimを参照するのではなくて、ソースPrimを特別化します。
Specialize
“Reference”と同様ですが、インスタンスPrimsがソースPrimを参照するのではなくて、ソースPrimを特別化します。
Set Extents
インスタンスジオメトリの範囲(境界ボックス)を計算し、これをインスタンスPrim上に保存します。
Location Source
コピー先のポイントの取得先。
Internal SOP
このノードの中のサブネット内でポイントを生成するSOPネットワークを構築します。
External SOP
Houdiniノード階層内のどこかのSOPの出力からポイントを取得します。
First input’s primitives
1番目の入力内のPrimsの位置をターゲットポイントとして使用します。
First input’s points
1番目の入力内のジオメトリPrimのポイントまたは他のポイントインスタンサーの位置を取得します。
SOP Path
Location Source が“External SOP”の時、ターゲットポイントを生成するSOPノードのノードパス。
Point Group
Location Source が“Internal SOP”または“External SOP”の時、SOPジオメトリ内のここで指定した名前のグループからポイントを取得します。
Location Primitives
Location Source が“First Input’s Primitives”の時、ここには、ターゲットポイントとして使用したい位置を持ったPrimsのシーングラフパス(s)を指定します。 Location Source が“First Input’s Points”の時、ここには、ターゲットポイントを含んだ1つ以上のジオメトリPrim(例えば、ポリゴンメッシュ)のシーングラフパス(s)を指定します。 どちらの場合でも、パターン構文を使って複数のPrimsを選択することができます。
Prune Mode
指定した割合のターゲットポイントを削除または非表示にすることができます。 ターゲットポイントが非常に濃いポイントクラウドだった場合や初回のインスタンサーのセットアップ時に表示を高速化したい場合に、これが役立ちます。 デフォルトは、何もポイントを削除も非表示もしない“None”です。
Prune Amount
Prune Mode が“Delete”または“Set Visibility”の時、削除または非表示にするポイントの割合。 これを使用することで、オペレータをセットアップする際のパフォーマンスを改善することができます。
Set Orientation
ポイント上の標準のインスタンス系SOPアトリビュートに基づいて、インスタンスPrimsを回転させます。
このようなSOPアトリビュートは、N
、up
、orient
も含みます。
Set Scale
ポイント上の標準のインスタンス系SOPアトリビュートに基づいて、インスタンスPrimsをスケールします。
このようなSOPアトリビュートは、scale
、pscale
も含みます。
Make Transform Source Primitives Invisible
Location Primitives の可視性を出力内で“hidden”に設定します。 デフォルトは有効です。
Point Attributes to Copy
インスタンスへコピーしたいテンプレートポイント上のアトリビュートのリスト。 ポイントインスタンサーを作成する時、ここでリストしたアトリビュート毎に配列primvarが各ポイントの値で作成されます。 参照Primsを作成する時、同じ名前とタイプのアトリビュートがPrim毎に作成されます。
以下のパラメータは、 Method が“References”または“Instanceable References”の時に表示されます。
Instance Base Name
このノードが作成するPrimsの名前の接頭辞文字列。
このノードは、各Primの名前を付ける時に、この文字列の後にポイントインデックスを付けます。
この名前が Primitive Path 値の後に追加されて、参照Primパスが作成されます。
Use Path Attribute が有効(以下参照)且つpath
アトリビュートが存在すれば、これは無視されます。
Use Path Attribute
ターゲットポイント上の文字列アトリビュートを使って、参照Primパスが作成されます。
Make Primitive Paths Unique
Use Path Attribute が有効な時、パスアトリビュートが固有でない場合に、それが固有になるように識別子が追加されます。
Path Attribute
Use Path Attribute が有効な時、各ポイントで作成されるPrimで使用するパスを含んだそのポイント上の文字列アトリビュートの名前。 このアトリビュートのパスが Primitive Path 値の後に追加されます。 このアトリビュートが存在しなかった場合、このノードは代わりに Instance Base Name を使用します。
アトリビュート内のパスが固有でない、且つ、 Make Primitive Paths Unique が無効の場合、このノードは、パスあたり1個の参照のみを作成します。 この場合、このノードは警告を出します。
Prototype Source
ポイント上に参照/インスタンス化したいPrim(s)が1番目の入力または2番目の入力のどちらにあるのかを指定します。
Prototype Reference Type
Prototype Source が“First iInput”の場合、このパラメータは、シーングラフ内の“Prototypes”フォルダ内からソースプリミティブの参照を作成する時に使用する合成タイプを制御します。 このパラメータには、“Reference”、“Inherit”、“Specialize”のどれかを指定することができます。 単純な“Reference”以外のタイプはどのような時に選択するのかについては、継承と特別化を参照してください。
Make Prototype Source Primitives Invisible
Prototype Source が“First Input”且つこれが有効な場合、このノードは、プリミティブとして使用されているPrimsの可視性を出力内で“hidden”に設定します。 デフォルトは有効です。
Use Entire Stage as Prototype
Prototype Source が“Second Input”且つこれが有効な場合、このノードは、2番目の入力のシーングラフツリー内のすべてを新しいPrim下にコピーし、それをプロトタイプとして使用します。 これによって、プロトタイプを構築してそれを2番目の入力に接続するだけのノードチェーンを構築することができて、 2番目の入力内の使用したいPrimを指定する必要がありません。
このノードは複数入力を持たないので、このオプションを使用するということは、プロトタイプが1個しかないことを意味します。 プロトタイプとして使用したいフルステージをいくつか持っている場合、まず最初にGraft Stages LOPを使ってそれらのステージを結合し、その結果を2番目の入力に接続し、このオプションを無効にします。
Only Copy Specified Prototype Prims
Prototype Source が“Second Input”且つ Use Entire Stage as Prototype が無効な場合、これは、 Prototype Primitives で指定されたプロトタイププリミティブのみをコピーするのか、ステージ全体をコピーするのかを制御します。 デフォルトは有効です。
このオプションを使用することでその結果としてステージを小さくすることができますが、プロトタイプソースが完全に自己完結している必要があります(例えば、Prim階層内の他のどこかに存在しているマテリアルを参照することはできません)。
Allow Prototype Primitives That Don’t Exist
このオプションは、指定されたどのソース場所にもPrimが存在しなくて構わないように、 Prototype Primitives パターンがハードコーディングされたパスのリストを構成することを許可します。 これは、1番目の入力または2番目の入力からのプロトタイプPrimで動作します。 プロトタイプPrimが見つからない旨のエラーまたは警告を出すわけではなく、このノードは、次の2つのどちらかを実施します。 宛先プロトタイプPrimが既にシーングラフ内に存在した場合、このノードは、この既存Primに何もしません。 プロトタイプ場所にある既存Primがインスタンサープロトタイプの1つとして使用されます。 宛先プロトタイプ場所に何もPrimがない場合、このノードは、必要な宛先プロトタイプ場所に空っぽのタイプなしPrimを作成します。
このモードは、既存のポイントインスタンサーにプロトタイプを追加する時に役立ちます。
Prototype Parent Kind
Use Entire Stage が有効な時、これは、このノードが2番目の入力のルートPrimsの親として作成するPrimのKindを設定します。 デフォルトはNoneです。
Prototype Primitives
プロトタイプ(s)として使用したいPrim(s)のシーングラフパス(s)。 パターン構文を使用することで、複数のPrimsを選択することができます。
Prototype Index
Random
各ポイントでプロトタイプをランダムに選択します。
Index
各ポイントで使用する単一プロトタイプをパラメータで指定します。 これによって、(例えば、コンテキストオプションに基づいた)エクスプレッションを使ってパラメータを駆動させることができます。
Index Attribute
ターゲットポイント上の整数アトリビュートの値をプロトタイプのリストのインデックスとして使用します。
Name Attribute
文字列アトリビュートの値を使って、名前でプロトタイプを選択します。 (各プロトタイプの名前は、プロトタイプの作成に使用された元のPrimからコピーされます。このノードは、そのプロトタイプ名に数字を追加してその名前を固有にします。)
Path Attribute
文字列アトリビュートの値を使用して、パスでプロトタイプを選択します。
Seed
Prototype Index が“Random”の時、その乱数生成のシード値。
Index
Prototype Index が“Index”の時、 Prototype Primitives パラメータ内のPrimsのリストから使用するプロトタイプのインデックス。 エクスプレッションを使用することで、何か他の係数に基づいてインデックスを選択することができます。
Index Attribute
ターゲットポイント上の使用するプロトタイプを指定した整数アトリビュート。
Note
Location Source が“First Input’s Points”の時、まず最初にUSD Prims(s)からマッチするアトリビュートがチェックされ、 そのチェックに失敗したら、マッチするPrimvarがチェックされます。
Name Attribute
ターゲットポイント上の使用するプロトタイプの名前を指定した文字列アトリビュート。
Note
Location Source が“First Input’s Points”の時、まず最初にUSD Prims(s)からマッチするアトリビュートがチェックされ、 そのチェックに失敗したら、マッチするPrimvarがチェックされます。
Note
USD Point Instancer Primは、名前でプロトタイプを指定する機能をもともと持っていません。
このノードは、名前でプロトタイプを検索してから、ポイントインスタンサーPrim上のprotoIndices
配列アトリビュートにそれに該当するインデックスを設定します。
Path Attribute
使用するプロトタイプのパスが指定されたターゲットポイント上の文字列アトリビュート。
Note
Location Source が“First Input’s Points”の時、まず最初にUSD Prims(s)からマッチするアトリビュートがチェックされ、 そのチェックに失敗したら、マッチするPrimvarがチェックされます。
Warn on Skipped Instances
Prototype Index が“Index Attribute”、“Name Attribute”、“Path Attribute”のどれかの時、このトグルは、アトリビュートデータとプロトタイプリストが一致しなかったことが原因でインスタンスがスキップされた時に警告を出すかどうかを制御します。