On this page | |
Since | 19.0 |
概要 ¶
USDでのポイントインスタンスの挙動に関する情報は、USDのインスタンスを参照してください。
このノードは、オリジナルのインスタンサーの参照を作成してから、インスタンサー内でそれらのインスタンスを非表示/削除することで、 インスタンサー内のインスタンスが複数のインスタンサーに分割されたように 見える ようにします。
インスタンサーの分割は、レンダーパスやライトリンクなど最適化とかシーン管理に役立ちます。
このノードは、色々な方法でポイントインスタンサーを分割することができ、以下の Split Method パラメータを参照してください。
ローカル変数 ¶
Duplicate Instancer Name 文字列パラメータには、以下のローカル変数を使用することができます。 文字列パラメータ内でエクスプレッション関数とローカル変数を評価するには、それらをバッククォートで閉じる必要があります。
@copy
新しいインスタンサーが増える度に上がる番号。これは、新しいインスタンサーに固有の名前を付けるための単純な方法になります。
@numcopy
このノードで作成された新しいインスタンサーの総数。
@src
Instancers パラメータで指定した分割するインスタンサーのリストの(0
から始まる)インデックスで、どのインスタンサーが分割されているのかを示します。
例えば、リスト内の3番目のインスタンサーから分割された新しいインスタンサーに対してエクスプレッションを評価すると、この変数は2
となります。
@numsrc
Instancers パラメータでリストした分割するインスタンサーの総数。
@srcname
新しいインスタンサーを評価する時、ここには、その分割元である“ソース”インスタンサーの名前が入ります。
@srcpath
新しいインスタンサーを評価する時、ここには、その分割元である“ソース”インスタンサーのフルPrimパスが入ります。
パラメータ ¶
Split Method
既存のインスタンサーから新しいインスタンサー(s)を作成する方法。
Prototypes
特定のプロトタイプPrimをインスタンス化するすべてのインスタンスを取得した新しいインスタンサーを作成したり、プロトタイプに基づいてすべてのインスタンスを新しいインスタンサーにグループ化します( Per Prototype パラメータを参照)。
Point Instances
既存のインスタンサーから選択されたインスタンスセットで新しいインスタンサーを作成します。
Attribute
アトリビュートの値に基づいてオリジナルのインスタンサー内のインスタンスを新しいインスタンサーにグループ化します。
例えば、@type=apple
であるポイントすべてを含んだインスタンサー、@type=pear
であるポイントすべてを含んだインスタンサーというようにグループ化されます。
Per Prototype
Split Method が Prototypes で、これが 無効 (デフォルト)の場合、 Prototypes パラメータのプロトタイプのリストは、 1個 の新しいインスタンサーに分割されます。 これが 有効 の場合、各プロトタイプは別々の新しいインスタンサーに分割されます。
Instancers
Split Method が Prototype または Attribute の場合、ここには、分割するインスタンサーPrimをスペースで区切ったリストを指定します。
Point Instances
/path[instance_index]
構文を使って、スペース区切りのインスタンスのリスト(例えば、/geometry/instancer[0] /geometry/instancer[1]
)を指定します。
インスタンサー内のすべてのインスタンスを選択したいのであれば、/path[*]
を使用します。
範囲を選択したいのであれば、/geometry/instancer[4-7]
(指定した番号を含む)を使用します。
入れ子のインスタンサー内のインスタンスを選択したいのであれば、複数のインデックス(例えば、/geometry/instancer[2][7]
)を使用します。
VEXpressionを使用すれば、インスタンス(例えば、/geometry/instancer[{@weights>0.5}]
)を指定することができます。
Prototypes
Split Method が Prototypes の場合、ここには、新しいインスタンサー(s)に分割したいプロトタイプPrimのパスをスペースで区切ったリストを指定します( Per Prototype パラメータを参照)。
Attribute
インスタンスの分割に使用されるインスタンサー上のUSD配列アトリビュートの名前。 このアトリビュートの同じ値を持つすべてのインスタンスが新しいインスタンサーに分割されます。
Duplicate Instancer Name
新しく作成されるインスタンサーPrim毎にこのパラメータが評価されて名前が付けられます。
Prim名は兄弟Prim間で固有でなければなりません。
エスクプレッション関数とローカル変数は、バッククォートで閉じることでこのパラメータ内に組み込むことができます。
デフォルトの文字列(`@srcname`_`@copy`
)は、オリジナルのインスタンサー名(バッククォート内の@srcname
はエクスプレッションとして評価されます)、文字通りのアンダースコア、数値(バッククォート内の@copy
はエクスプレッションとして評価されます)から構築されます。
上記の利用可能なローカル変数のリストを参照してください。
Modify Source Primitive
オリジナルのインスタンサーPrimの扱われ方。 デフォルトは、 Source Primitives Are First Duplicates です。
Deactivate Source Primitives
オリジナルのインスタンサーPrimを“inactive”に設定します。 オリジナルのインスタンサーPrimを参照することで、( Duplicate Instancer Name パラメータから計算された新しい名前で)“新しい”インスタンサーを作成します。 これは、ビューアからオリジナルのインスタンサーを非表示にして、(新しく作成されたインスタンサーすべてに影響を与える)ソースに変更を加えれないようにします。
Hide Source Primitives
オリジナルのインスタンサーPrimの可視性を“invisible”に設定します。 オリジナルのインスタンサーPrimを参照することで、( Duplicate Instancer Name パラメータから計算された新しい名前で)“新しい”インスタンサーを作成します。 これは、ビューアからオリジナルのインスタンサーを非表示にしますが、(新しく作成されたインスタンサーすべてに影響を与える)ソースに変更を加えることができます。
Source Primitives Are First Duplicates
オリジナルのインスタンサーを(そのオリジナルの名前で)そのままにし、それを“分割元の”インスタンサーの1つとして扱います。 そのオリジナルのインスタンサーに変更を加えると、そこから新しく作成されたインスタンサーがその影響を受けます。 しかし、その新しく作成されたインスタンサーのどれかに変更を加えても、その他のインスタンサーには影響しません。
Reference Type
新しいインスタンサー(s)の生成方法。 Reference (デフォルト)は、オリジナルのインスタンサーの参照を作成してから、その参照に変更を加えます。 Copy は、オリジナルのインスタンサーからコピーしたデータを使用して完全に新しいPrimを作成します。 特別な理由がない限り、 Copy を使用しないでください。
Prune Unused Instances
新しいインスタンサーの“分割元”のインスタンスの扱い方。
Hide は、Prune(除外)されたポイントIDsをinvisibleIds
配列に追加して、それらのインスタンスを不可視にします。
Delete は、Prune(除外)されたインスタンスを削除するためにインスタンサー配列のサイズを変更します。
Prune Unused Prototypes
Split Method が Prototypes の場合、新しいインスタンサーの“分割元”のプロトタイプの扱い方。 Hide は、Prune(除外)されたPrimsの可視性を“hidden”に設定します。 Delete は、それらのPrimsを“inactive”に設定します。
See also |