On this page |
概要
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"に設定します。
このノードは、ボール、コーン、チューブをトーラスの各ポイント上にランダムにインスタンス化します。
-
パラメータ
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を特別化します。
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の名前を付ける時に、この文字列の後にポイントインデックスを付けます。
Use Name Attribute が有効(以下参照)且つname
アトリビュートが存在すれば、これは無視されます。
Use Name Attribute
ターゲットポイント上の文字列アトリビュートを使って、参照Prim名を設定します。 アトリビュート名を設定します。
Name Attribute
Use Name Attribute が有効な時、各ポイントで作成されるPrimで使用する名前を含んだそのポイント上の文字列アトリビュートの名前。 このアトリビュートが存在しなかった場合、このノードは代わりに Instance Base Name を使用します。
アトリビュート内の名前が固有でなかった場合、このノードは、名前あたり1個の参照のみを作成します。 この場合、このノードは警告を発します。
Prototype Source
ポイント上に参照/インスタンス化したいPrim(s)が1番目の入力または2番目の入力のどちらにあるのかを指定します。
Use Entire Stage
Prototype Source が"Second Input"且つこれが有効な場合、このノードは、2番目の入力のシーングラフツリー内のすべてを新しいPrim下に配置し、それをプロトタイプとして使用するだけです。 これによって、プロトタイプを構築してそれを2番目の入力に接続するだけのノードチェーンを構築することができて、 2番目の入力内の使用したいPrimを指定する必要がありません。
Root Kind
Use Entire Stage が有効な時、これは、このノードが2番目の入力のルートPrimsの親として作成するPrimのKindを設定します。 デフォルトはNoneです。
Make Prototype Source Primitives Invisible
Prototype Source が"Second Input"且つこれが有効な場合、このノードは、プリミティブとして使用されているPrimsの可視性を出力内で"hidden"に設定します。 デフォルトは有効です。
Prototype Primitives
プロトタイプ(s)として使用したいPrim(s)のシーングラフパス(s)。 パターン構文を使用することで、複数のPrimsを選択することができます。
Prototype Index
Random
各ポイントでプロトタイプをランダムに選択します。
Index
各ポイントで使用する単一プロトタイプをパラメータで指定します。 これによって、(例えば、コンテキストオプションに基づいた)エクスプレッションを使ってパラメータを駆動させることができます。
Index Attribute
ターゲットポイント上の整数アトリビュートの値をプロトタイプのリストのインデックスとして使用します。
Name Attribute
文字列アトリビュートの値を使って、名前でプロトタイプを選択します。 (各プロトタイプの名前は、プロトタイプの作成に使用された元のPrimからコピーされます。このノードは、そのプロトタイプ名に数字を追加してその名前を固有にします。)
Seed
Prototype Index が"Random"の時、その乱数生成のシード値。
Index
Prototype Index が"Index"の時、 Prototype Primitives パラメータ内のPrimsのリストから使用するプロトタイプのインデックス。 エクスプレッションを使用することで、何か他の係数に基づいてインデックスを選択することができます。
Index Attribute
ターゲットポイント上の使用するプロトタイプを指定した整数アトリビュート。
Name Attribute
テンプレートポイント上の使用するプロトタイプの名前を指定した文字列アトリビュート。
Note
USD Point Instancer Primは、名前でプロトタイプを指定する機能をもともと持っていません。
このノードは、名前でプロトタイプを検索してから、ポイントインスタンサーPrim上のprotoIndices
配列アトリビュートにそれに該当するインデックスを設定します。