| On this page |
ソースグループのアトリビュートをターゲットのグループにコピーします。 ソースとターゲットのグループは同じタイプでなければなりませんが、そのアトリビュートクラスには制限はありません。
コピーする時に Match Attribute が有効でない限りは、ターゲットのサイズがソースのサイズよりも大きい時に一般ルールが適用されます。 この場合、ソースエレメントが循環式で繰り返されます。類似サンプルは以下の通り:
ソースパターン“ABC”と8文字長のターゲットパターンを指定すると、ターゲットパターンが“ABCABCAB”になります。
頂点、ポイント、プリミティブに同じ論理が適用されます。 ソースとターゲットのグループで指定した順番が、コピー結果に影響します。
Match Attribute を有効にすると、2つのモードが選べるようになります。 Match Attribute の“By Values”モードでは、ソースとターゲットのポイント/プリミティブが、 Attribute to Match パラメータで指定したアトリビュートと同じ値でマッチングされます。 指定したターゲットに対して一致するソース値がなければ、そのターゲットには何もコピーされません。 一致するソース値が複数存在すれば、ポイント/プリミティブ番号が一番高いソースが使われます。
Match Attribute が“To Element”モードの場合、 Attribute to Match パラメータで指定したアトリビュートの値がコピー元のソースエレメント番号として各コピー先エレメントで使用されます。 指定したソースエレメント番号が有効範囲内にない、または、ソースグループ内にない場合は、そのコピー先エレメントへのコピーはスキップされます。 このロジックは、頂点、ポイント、プリミティブに対して同様に適用されます。
コピーされるアトリビュートがターゲットのジオメトリに存在しなかった場合、そのアトリビュートが自動的に作成されます。
サンプル ¶
AttribCopyノードを使うと、あるフェースのUVテクスチャ座標を他のフェースにコピーすることができます。 グループタイプはプリミティブを、アトリビュートクラスはポイントまたは頂点(適用したUVアトリビュートに依存)を指定します。
パラメータ ¶
Source Group
アトリビュート値を読み込むソースジオメトリのサブセット。
Destination Group
ソースジオメトリに格納されている値で上書きされるアトリビュート値を持つターゲットジオメトリのサブセット。
Group Type
Source/Destination Groupフィールドで参照するエレメントのタイプ。Source/Destination Groupのタイプは、同一でなければなりません。
Match Attribute
有効にすると、シーケンシャルコピーを実行するのではなく、ソースとターゲットのエレメントを以下の異なる方法で一致させます。
By Values
ソースとターゲットのポイントまたはプリミティブを同じアトリビュート値でマッチングさせます。 このオプションは、ソースとターゲットの両方の Group Type がPointsまたはPrimitivesのどちらかに同じに設定されている場合にのみ有効です。
To Element
頂点/ポイント/プリミティブを Attribute to Match アトリビュートのアトリビュート値で指定されたソースエレメント番号でマッチングさせます。
Attribute to Match
Match Attribute に“By Values”を選択した場合、ここには、ソースとターゲットのポイント/プリミティブを合わせるために使用するアトリビュートの名前を指定します。 このアトリビュートは、ソースとターゲットのジオメトリの両方に存在しなければならず、整数または文字列のタイプにしてください。
Match Attribute に“To Element”を選択した場合、ここには、コピーするソースエレメント番号を示したターゲットエレメント上のアトリビュートの名前を指定します。 このアトリビュートは、ターゲットジオメトリに存在しなければならず、整数のタイプにしてください。
Attribute to Copy
コピーするアトリビュート。“Color”と“Texture UV”が便宜的に用意されています。他のアトリビュートを指定するには、“Other Attribute”を選択して、 Attribute Name にアトリビュート名を入力します。
Attribute Name
“Other Attribute”を選択した時に、コピーするアトリビュートの名前を指定します。複数のアトリビュートを指定することができます。アトリビュート名を指定しなかった場合、ソースのアトリビュートすべてがコピーされます。
Allow P Attribute
有効にすると、名前にPを指定して、ポイントをコピーすることができます。
無効にすると、Pがパターンに一致しても無視されます。
New Name
有効な時、この名前がターゲットのアトリビュートに使用されます。
2番目の入力は、これを有効にした時のオプションです。
ソースアトリビュートは、それが1つしかない場合には1番目の入力から取得します。
パターン数が Attribute Name のパターン数と同じである限りは、これは、複数の名前変更と、*と?を使用したワイルドカードのパターンに対応しています。
例えば、 Attribute Name が*で、これがcopied_*の場合、PやNのようなアトリビュートがcopied_Pやcopied_Nにコピーされます。
また、ワイルドカードの並べ替えにも対応しているので、 Attribute Name が*_*で、これが*(1)_*(0)の場合、a_xというアトリビュートがx_aにコピーされます。
Attribute Class
アトリビュートを配置するジオメトリ上の場所。Vertex、Point、Primitive、Detailアトリビュートをコピーすることができます。“Use Group Type”は、Group Typeパラメータで指定した同じ場所のアトリビュートを探します。 “Auto Detect”は、まず最初にGroup Typeで指定した場所を探し、次にVertex、Point、Primitive、Detailのアトリビュートを(その順番で)探します。
Copy Local Variable
コピーするアトリビュートを参照するローカル変数もすべてコピーされます。 New Name を使用していて、それが Attribute Name と異なっている場合には、これを使用することができません。
Copy Data
エレメントに含まれている実際のアトリビュートデータをコピーします。 アトリビュートプロパティとメタデータだけをコピーする必要がある場合には、これを無効にするのが役に立ちます。
Examples ¶
AttribCopyTessel Example for Attribute Copy geometry node
このサンプルでは、AttribCopy SOPを使って、あるジオメトリのアトリビュートを他のジオメトリに転送する方法を説明しています。
Paint SOPを使ってグリッド上に“顔文字”をカラーアトリビュートでペイントすると、そのカラーアトリビュートが他のグリッドにも転送されます。グリッドのサイズが異なるので、テセレーションが起きます。
ジオメトリのサイズが異なる時、AttribCopy SOPはアトリビュートのパターンを繰り返します。
| See also |