| 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 LOPを作成します。
この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アトリビュート ¶
-
usdvisibilityPoint文字列SOPアトリビュートを作成することで、そのポイントに呼応するUSD Primまたはポイントインスタンスの可視性メタデータを制御することができます。値にはinvisibleまたはinheritのどちらかを指定してください。ポイントインスタンスを作成した場合、この可視性情報は
invisibleIdsUSDアトリビュートに変換されます。
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
Prototype Primsを参照した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のポイントまたは他のポイントインスタンサーの位置を取得します。
Show LOP Stage in SOPs
このSOPネットワークの中に入った時にSOPジオメトリと一緒にScene Viewerに表示されるステージのLOPノードを指定します。 USDのカメラとライトもビューポートのカメラメニューから利用できるようになります。 LOPノードパスの代わりにLOPネットワークを指定すると、そのターゲットLOPネットワーク内でディスプレイフラグが設定されているLOPノードのステージが取得されます。
このSOPネットワークとLOPノードは、hipファイル内のどこにあってもこの機能は動作しますが、このSOPネットワークが埋め込まれているLOPネットワークから取得することが一般的です。 また、SOPノードを含んだ他のノード(例えば、Geometry Object)上にこれと同じパラメータをSpareパラメータとして作成することで、そのSOPネットワーク内に入った時にScene ViewerにUSDステージを表示させることができます。
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 が Reference または Instanceable Reference の時に表示されます。
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 Primitives
プロトタイプ(s)として使用したいPrim(s)のシーングラフパス(s)。 パターン構文を使用することで、複数のPrimsを選択することができます。
Prototype Source
ポイント上に参照/インスタンス化したいPrim(s)が1番目の入力または2番目の入力のどちらにあるのかを指定します。
Create Prototypes Area
Prototype Source が First Input の場合、このトグルは、指定した Primitive Path 下に“Prototypes”スコープを作成するかどうかを制御します。
有効にすると、そのプリミティブには元のソースプリミティブの参照(以下の Prototype Reference Type を参照)が設定され、 インスタンスにはその参照が使用されます。 無効にすると、インスタンスはその元のソースプリミティブに直接接続されます。 Method が Point Instancer に設定されている場合、これを有効にするのは一般的な慣例ですが、必須ではありません。
Prototype Reference Type
Prototype Source が First iInput 、且つ、 Create Prototypes Area が有効な場合、このパラメータは、シーングラフ内のPrototypesフォルダ内からソースプリミティブの参照を作成する時に使用する合成タイプを制御します。
このパラメータには、 Reference 、 Inherit 、 Specialize のどれかを指定することができます。
単純な Reference 以外のタイプはどのような時に選択するのかについては、継承と特別化を参照してください。
Handle Missing Prototypes
ポイントに存在しないプロトタイプが指定されていた場合、このパラメータは、このノードが警告を出すのか、それともエラー状態にするのかを制御します。 デフォルトではエラー状態になります。 これは、存在しないプロトタイプを誤って使用しないようにするのに役立ちます。 警告モードは、プロトタイプを後でLOPネットワークまたはUSDコンポジションを介してインスタンサーに追加する場合に役立ちます。
Make Prototype Source Primitives Invisible
Prototype Source が First Input 且つこれが有効な場合、このノードは、プリミティブとして使用されているPrimsの可視性を出力内で“hidden”に設定します。 デフォルトは有効です。
Use Entire Stage as Prototype
Prototype Source が Second Input 、且つ、 Create Prototypes Area が有効、且つ、これが有効な場合、このノードは、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 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 のどれかの時、このトグルは、アトリビュートデータとプロトタイプリストが一致しなかったことが原因でインスタンスがスキップされた時に警告を出すかどうかを制御します。