| On this page | |
| Since | 17.5 |
概要
このノードは、RBDシミュレーションに基づいてトランスフォームをアニメーションさせたり、既存ジオメトリにPrimvarsやアトリビュートを追加したり、ジオメトリを粉砕したり、既存サーフェス上に散乱するようにインスタンスを追加するなどのことをする際に使用します。
このノード上のトップレベルコントロールは、主にこのノードの中で追加したLOP Import SOP/Unpack USD SOPとSOP Import LOPからプロモートさせたパラメータを反映させています。 このノードの中に入ってSOPネットワークを編集してソースジオメトリを変更した後でそれをLOPsに戻すことができます。
How to
-
SOP Modifyノードを作成し、上流のノードを入力に接続します。
-
ジオメトリを編集/形状変更したいのか、または、ピースのトランスフォームだけを変更したいのかを決めます。
-
デフォルトでは、サブネットの入力ジオメトリはパックUSD Primになっています。 パックUSD Prim内のポイントがUSD Primを表現していて、そのポイント位置と標準ポイントインスタンスアトリビュートが各Primのトランスフォームを表現しています。 ポイント位置とそれらのアトリビュートを修正することで、パックUSD PrimをアンパックすることなくそれらのPrimを移動/回転/スケールさせることができます(これは、RBDシミュレーションの扱い方と共通しています)。
-
ジオメトリの形状を変更したいのであれば、SOP Modifyノードの Unpack USD Primitives to Polygons パラメータを有効にしてください。
-
ジオメトリの形状を変更したいものの、 すべて のジオメトリをポリゴンとして抽出したくないことがあります。 その場合は、 Unpack USD Primitives to Polygons パラメータを無効のままにして、サブネット内で
Unpack USD SOPを使用して、パックUSD Primから一部のジオメトリセットのみを抽出します。
-
-
ネットワークエディタで、SOP Modifyノードをダブルクリックして中に入ります。
Sub-Network Input #1の出力が修正するSOPジオメトリです。 -
ノードを接続してジオメトリを修正します。
-
ノードチェーンの最後に
Output SOPを接続します。
-
ネットワークエディタでUを押してLOPネットワークに戻ります。
Tips
-
ジオメトリの形状を編集したつもりが、SOPノードがそのジオメトリに何も影響していないようでしたら、そのジオメトリのタイプを確認してください。 Unpack USD Primitives to Polygons パラメータを有効にするのを忘れていた場合、そのジオメトリはパックUSD Primの中にあるのでSOPノードで編集することができません。
SOP Modifyノードの Unpack USD Primitives to Polygons パラメータを有効にするか、または、
Sub-Network Input #1の後にUnpack USD SOPを挿入してください。 Unpack USD SOPのパラメータエディタで、 Geometry Type を“Polygons”に設定します。
-
Unpack USD Primitives to Polygons を有効にするか、または、サブネット内で
Unpack USDノードを追加すれば、アンパックされたポリゴンには、ポリゴンがアンパックされてからUSD Primまでのローカルからワールドのトランスフォームが入った
usdxformmatrixアトリビュートが追加されます。 -
SOP Modifyの一般的な用途は、USD Prim上にPrimvarsを生成することです。これをするには、 Topology Attributes パラメータを
Noneに設定し、 Unpack USD Primitives to Polygons チェックボックスをオンにします。このモードでは、SOPジオメトリのトポロジーを変えたり、SOPジオメトリの並びを変えないように注意してください。たいていのSOPオペレーションではそのようなことが起こり得ます。例えば、For Each SOPのMergeモードがそうです。そのようなSOPを使用する時、たいていの場合は問題のあるSOPの前にidアトリビュートを生成して、後でAttribute Copy SOPでその
id値を使用して新しいアトリビュート値を元のプリミティブ順にコピーすることができます。
パラメータ
Export to SOPs
以下のパラメータは、編集用にUSDジオメトリをSOPsに変換する方法を制御します。
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある 再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(
/path/to/prim.collection:name)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Path Attribute
有効にすると、オリジナルのUSD Primのシーングラフパスを含んだSOP Primitiveアトリビュートが作成されます。
Name Attribute
有効にすると、オリジナルのUSD Primの名前を含んだSOP Primitiveアトリビュートが作成されます。
Import Frame
LOPノードがクックされるフレーム。
アニメーションジオメトリを取り込む時は、ここに$FFを設定すると良いでしょう。
静的ジオメトリに関しては、ここに$RFSTARTといった定数値を設定した方が非常に効率的です。
Traversal
オプションで、USD階層をもっと深く走査して、特定の基準を満たした選択 Primitives の子Primsを読み込むことができます。
Note
プリミティブパターン(例えば、descendants自動コレクションを使用)でも同様のことが可能です。
No Traversal
Primitives パターンに合致したUSDプリミティブ毎にUSDパックプリミティブを作成します。
Components
Kindがcomponentのプリミティブ毎にUSDパックプリミティブを作成します。
Gprims
GPrim毎にUSDパックプリミティブを作成します。
Groups
groupタイプのプリミティブ毎にUSDパックプリミティブを作成します。
Display As
USDパックプリミティブをビューポートに表示する方法。
Full Geometry
フルジオメトリがビューポートに表示されます。
Point Cloud
ジオメトリのポイントのみが表示されます。これはメモリをあまり消費せず、レンダリングが速いです。
Bounding Box
ジオメトリの境界ボックスのみをビューポートに表示します。
Centroid
境界ボックスの中心に単一ポイントを表示します。
Pivot Location
パックプリミティブのポイント位置を指定します。
Centroid
USD Primの境界ボックスのワールド位置の中心を使用します。
Origin
USD Primの原点のワールド位置を使用します。
Purpose
USD階層の区分をマークしてそれを特定の目的で使用することができます。 USDパックプリミティブをアンパックした時に、デフォルトのPurposeまたは指定したPuroposeのどれかにマークされた区分のみが走査されます。
Unpack USD Primitives to Polygons
パックUSD Primをポリゴンに変換した後に、それを編集できるようにサブネットワークに送信します。
ピースのトランスフォームのみを修正したいのであれば、パックUSD Primのポイント上のアトリビュート値を編集します。
インポートしたジオメトリの形状を変更したいのであれば、これを有効にしてください(または、サブネット内の頭にUnpack USD SOPを接続して、 Geometry Type を“Polygons”に設定してください)。
Transfer Attributes
通常のHoudiniジオメトリにアンパックする時、ここには、USD Packed Prim上の(USDアトリビュートでは なくて ) 既存のHoudiniジオメトリアトリビュート に合致させるパターンのリストを指定します。これに合致したアトリビュートが出力ジオメトリ上に転送されます。 例えば、HoudiniのRBDシミュレーションをUSD Packed Primsに書き出した時に、位置と回転のアトリビュートをPacked Prims上に書き込んでいたのであれば、 抽出したジオメトリ上にそれらのアトリビュートを転送することができます。
Import Primvars
通常のHoudiniジオメトリにアンパックする時、ここには、Houdiniジオメトリアトリビュートに変換したいUSD Primvarsに合致させるパターンのリストを指定します。
Import Attributes
通常のHoudiniジオメトリにアンパックする時、ここには、( Import Primvars で指定した Primvars に加えて)Houdiniジオメトリアトリビュートに変換したいUSDアトリビュートに合致させるパターンのリストを指定します。
これらのパターンは、 カスタム USDアトリビュートにのみマッチングされます。
スキーマの一部になっているUSDアトリビュートには、特別なハンドリングがあります(例えば、メッシュPrim上のfaceVertexIndicesアトリビュートは、その結果のポリゴンのトポロジーに変換されます)。
Primvarsとは違い、カスタムアトリビュートでは補間モードを指定しません。
カスタムアトリビュートの値が配列の場合、このノードは、その配列内のエレメントの数に基づいてHoudiniのアトリビュートレベル(point, vertex, primitive, detail)を推測します。
Non-transforming Primvars
通常のHoudiniジオメトリにアンパックする時、ここには、 非トランスフォーム Houdiniジオメトリアトリビュートに変換したいUSD Primvarsに合致させるパターンのリストを指定します。
Translate ST primvar to UV
一般的に、USDはstという名前のPrimvarにテクスチャ座標を格納するのに対して、Houdiniはuvという名前のアトリビュートにテクスチャ座標を格納します。
これを有効にすると、このノードは、自動的にUSD st Primvarsをuvアトリビュートに変換します。
Import From SOPs
以下のパラメータは、修正したSOPジオメトリをUSDに戻す方法を制御します。
Perform Layer Break Before Import
Layer Breakを追加した後でジオメトリをUSDに戻します。
これは、編集のみを含んだUSDレイヤーを生成し、それをオーバーレイとして使用したい時に役立ちます。
Load As Reference
これを有効にすると、ジオメトリがペイロードとして取り込まれます。 これを無効にすると、既存のシーンツリー上に階層をサブレイヤー化してジオメトリが取り込まれます(サブレイヤーとリファレンスを参照)。
Copy Contents Into Editable Layer
( Load As Reference が無効な時)デフォルトでは、SOPsから取り込まれたジオメトリは、ディスク上のファイルから取り込まれたジオメトリと同様に扱われます。 つまり、強いオピニオンのレイヤーをそのレイヤーの上に適用しないとそのジオメトリを編集することができません。 しかし、これを有効にすると、このノードは、そのジオメトリを アクティブレイヤー に配置するので、このノードの出力に接続されたLOPノードでジオメトリを修正することができます。
このノードは、SOPジオメトリから生成された内容を匿名In-Memory USDレイヤーにコピーすることで、これを行ないます。
この方が遅くなりますが、ディスクに書き込む必要のあるUSDレイヤーの数、各レイヤーに取り込む内容の選択肢が増えます。
これは、Load Layer for Editing LOPのオペレーションと同様です。
Adjust Transforms for Input Hierarchy
( Load As Reference が無効な時)これが有効な時(デフォルト)、このノードは、LOPsから(パックUSD Primsとして)SOPsに取り込んで再度LOPsに戻した場合に発生するトランスフォームの問題を自動的に補正します。 LOPs → SOPパックUSD Prims → LOPsのように双方向な変換をしないことがわかっている場合には、これを無効にすることでインポートを高速化することができます。
SOPsのパックプリミティブは、そのパックジオメトリのローカルからワールドへの完全トランスフォームを表現したトランスフォームを1個だけ持ちます。 USDジオメトリPrimを パックUSD Prim としてSOPsにエクスポートすると、Houdiniは、そのUSD Prim下の完全トランスフォーム階層を単一トランスフォーム行列に平坦化します。
これは、SOPパックプリミティブをLOPsに“戻す”際に、その子プリミティブ自身にトランスフォームがあると、そのトランスフォーム も SOPsから取り込まれたルートPrimのトランスフォームに組み込まれるので問題を起こしてしまいます。 その結果、トランスフォームが間違って二重に適用されてしまいます。
このパラメータを有効にすると(デフォルト)、このノードは、シーングラフ階層内でPrimの位置関係を考慮して、SOPsから取り込まれたすべてのトランスフォームを検査します。 Prim(または子Prims)が既に入力ステージ上に存在している場合、このノードは、親Primsの逆トランスフォームをPrimの追加ローカルトランスフォームとして適用します。 これによって、LOPsでのPrimの最終ワールド空間位置がSOPsでの位置と同じになります。
Copy Contents Into Editable Layer が有効になっている場合、このノードは、取り込んだPrimsに直接それらの追加トランスフォームを適用します。 無効になっている場合、このノードは、新しいアクティブレイヤーを作成し、その新しいレイヤー内にオーバーライドとしてトランスフォームを配置します。
Reference Type
( Load As Reference が有効な時)SOPジオメトリを参照プリミティブにPayloadまたはReferenceのどちらのコンポジションアークとして追加するのか制御します。 さらに、この新しいコンポジションアークをこのプリミティブ上の既存のコンポジションアークよりも強くするのか弱くするのか指定します。
Weaker Payload
既存のPayloadよりも弱いオピニオンのPayloadコンポジションアークを作成します。
Stronger Payload
既存のPayloadよりも強いオピニオンのPayloadコンポジションアークを作成します。
Weaker Reference
既存のReferenceよりも弱いオピニオンのReferenceコンポジションアークを作成します。
Stronger Reference
既存のReferenceよりも強いオピニオンのReferenceコンポジションアークを作成します。
Reference Primitive
( Load As Reference が有効な時)このノードは、変換されたジオメトリを外部USDジオメトリファイルのように扱います。 これは、SOPジオメトリの変換によって生成されたUSD Prim階層からどのルートレベルPrimを取り込むのか制御します。 ここは、“Reference Automatically Chosen Primitive”のままに設定してください。
Reference Automatically Chosen Primitive
リファレンスしたファイルにデフォルトPrimが設定されている場合、そのデフォルトPrimを使用します。 デフォルトPrimが存在しなかった場合、ルートにある最初のXform Primを使用します。 ルートに何もXform Primがなければ、任意のタイプの最初のルートPrimを使用します。
Reference Default Primitive
リファレンスしたファイルにデフォルトPrimが設定されている場合、そのデフォルトPrimを使用します。 デフォルトPrimが存在しなかった場合、このノードで警告を表示します。
Reference Specific Primitive
Reference Primitive Path パラメータで指定されたシーングラフパスを参照します。
Reference Primitive Path
Reference Primitive が“Reference Specific Primitive”の時、ここには、参照するPrimのシーングラフパスを指定します。
(このフィールドにautomaticPrimまたはdefaultPrimを設定すると、 Reference Primitive を“Reference Automatically Chosen Primitive”または“Reference Default Primitive”に設定した時の挙動と同じになります。)
Primitive Path
Action パラメータが Create モードの時にこのパラメータがノードに表示され、単一のPrimパスを指定することができます。 これは、リファレンスするブランチの取り付け先となるシーングラフパスです。 リファレンスしたPrimは、このPrim上にオーバーレイされ、そのリファレンスしたPrimの子PrimsはこのPrimの子Primsになります。 このPrimが存在しなかった場合は、このノードがそのPrimを作成します。
Make Instanceable
新しいPrimまたは変更されたPrimを(“ネイティブインスタンス”と同様の)インスタンス化可能としてマークします。
これによって、同じブランチを複数の場所でリファレンスした場合にメモリが節約されますが、リファレンスしたPrimの子Primsは編集不可になります。
このオプションを無効にすると、Primsは明示的に“インスタンス化可能”としてマークされません。
代わりに、各Prim上の現在のinstanceable値がそのままになります。
Parent Primitive Kind
Primitive Path にPrimが存在しなかった場合、このノードはそのPrimを作成します。 Primを作成する必要になった場合、作成する必要のある中間PrimにこのKindを設定します。
Parent Primitive Type
Primitive Path にPrimが存在しなかった場合、このノードがそのPrimを作成します。 このノードがそのPrimを作成する必要がある場合、その途中で作成する必要のある中間Primsがこのタイプになります。
Apply Inverse USD Transform to Unpacked Geometry
Unpack USD Primitives to Polygons パラメータを有効にするか、または、サブネット内にUnpack USDノードを追加した場合、
アンパックされたポリゴンには、ポリゴンがアンパックされてからUSD Primまでのローカルからワールドのトランスフォームが入った
usdxform matrixアトリビュートが追加されます。
これを有効にすると、ジオメトリをUSDに戻す前に、このノードは、そのusdxformアトリビュートの逆を適用します。
これによって、LOPsに戻されたポイント位置には、USD Primsのトランスフォームが含まれなくなります(その結果、これらのトランスフォームが二重適用されます)。
Import Group
これを有効にして、インポートするグループ名(または、グループ構文をスペースで区切ったリスト)を指定します。 これを有効にして、フィールドを空っぽのままにすると、すべてのジオメトリが取り込まれます。
Import Group Type
これを有効にして、 Import Group がポイントまたはプリミティブのどちらのグループなのかを指定します。
Import Path Prefix
取り込んだPrimにパスPrimがなかったことで(mesh_0のような)自動生成された名前が付けられている場合、または、パスPrimがあってもそのパスが(/から始まっていない)相対パスであった場合、
このノードは、その名前/パスの頭に自動的にこのパスを追加します。
これは、“パスなし” Primsを単一ブランチ下に整理しておくための方法です。
(ジオメトリ階層を作成する方法を参照。)
(デフォルトは/$OSです。これは、このノードの名前を使ってルートPrim下に“パスなし” Primsを配置します。)
Layer Save Path
これを有効にすると、ジオメトリを含んだレイヤーのSave Pathメタデータにこのファイルパスを設定します。
USD Renderノードを使ってUSDを書き出す時、(出力処理の後に)このファイルパスを使ってジオメトリが
.usdレイヤーファイルに保存されます。
Primitive Definition
このグループ内のパラメータは、ソースのSOPジオメトリからどのようにUSDプリミティブを生成するのかという観点で、変換プロセスをガイドします。
Packed USD Primitives
インポートしたSOPジオメトリ内のパックUSDプリミティブの扱い方。
Overlay Transforms
パックUSDプリミティブのトランスフォームをオーバーライド(Over)Primとして取り込みます。
これによって、パックUSDプリミティブをアンパックすることなく簡単にトランスフォームさせることができます。
Ignore
ソースのSOPジオメトリ内のパックUSDプリミティブを無視します。
Other Primitives
通常の非パックプリミティブ(ポイント、カーブ、ポリゴン、球など)の扱い方。
Define
インポートしたジオメトリにまだUSDプリミティブが存在しなかった場合、そのUSDプリミティブを作成します。 これがジオメトリをインポートする標準の方法になっています。
Overlay
USDプリミティブをオーバーライドとして作成します。 これは、同じパスで下位レベルに存在するプリミティブを変更するだけの可視プリミティブとなります。 これは、SOPから特定のアトリビュートを既存のUSDジオメトリに取り込んで編集したいだけの場合に役立ちます。
Overlay Transforms
“Overlay”と同様ですが、トランスフォームデータのみを取り込みます。
Define Only Leaf Primitives
中間プリミティブ(例えば、 Import Path Prefix で作成されるXform Prims)を定義ではなくオーバーライドとして作成します。
つまり、中間プリミティブが下位レイヤー内の大元のプリミティブと一致しなかった場合、そのLeaf Primsはシーンに追加されません。
これは、親プリミティブがシーンツリー内にまだ存在しなかった場合にのみジオメトリを取り込みたい時に役立ちます。
(ただ、すべてのデータは取り込まれ、シーングラフツリーまたはビューポート内で可視にできないだけなので注意してください。)
Packed Primitives
SOPネイティブのパックプリミティブの扱い方。
Create Xforms
パックプリミティブのトランスフォームとアトリビュートからXform Primを作成し、その下にパックプリミティブのジオメトリを取り込みます。
Create Native Instances
パックプリミティブ内のジオメトリをインスタンス化可能なリファレンスとして取り込みます。
これは、 Import Path Prefix Prim下のPrototypes Prim下にプロトタイプとして各ピースを取り込みます。
Create Point Instancer
パックプリミティブ内のジオメトリをポイントインスタンスジオメトリとして取り込みます。 これは、ポイントインスタンサーPrim下にプロトタイプとして各固有のピースを取り込みます。
SOP Primitiveアトリビュートをusdinstancerpathパックプリミティブに割り当てることで、インスタンサーのUSDシーングラフパスを指定することができます。
Unpack
パックプリミティブのジオメトリのみを取り込みます。
Create Xforms モードとは違って、このノードは、追加で階層を作成しないので、インポート前にパックプリミティブをアンパックすることと同じです。
これは、複数のジオメトリをアトリビュートをマージせずに取り込むのに役立ちます。
Agents
エージェントプリミティブの扱い方。 どのモードでも、エージェントプリミティブのトランスフォームとアトリビュートからPrimが生成され、エージェントのジオメトリとアニメーションはそのPrim下に取り込まれます。
Create Instanced SkelRoots
エージェントのスケルトンとジオメトリをインスタンス化可能なリファレンスとして、スケルトンPrimとスキンPrimを含んだSkelRoot Primに取り込みます。
これは、各固有のエージェント定義をプロトタイプとして、 Import Path Prefix Prim下のagentdefinitions Prim下に取り込みます。
Create SkelRoots
エージェントのスケルトンとスキンジオメトリを格納するSkelRoot Primを作成し、そのPrim下にそれらが取り込まれます。
これは、大規模な群衆だと Create Instanced SkelRoots よりも効率が悪くなりますが、例えば、1体のキャラクタを取り込むようなインスタンス化が不要な場合で役立ちます。
Create Instanced Skeletons
エージェントのスケルトンをインスタンス化可能なリファレンスとして、Skeleton Primに取り込みます。
これは、各固有のエージェント定義をプロトタイプとして、 Import Path Prefix Primのagentdefinitions Prim下に取り込みます。
Create Skeletons
エージェントのスケルトンをSkeleton Primとして、エージェントのXform Prim下に取り込みます。
これは、大規模な群衆だと Create Instanced Skeletons よりも効率が悪くなりますが、例えば、1体のキャラクタを取り込むようなインスタンス化が不要な場合で役立ちます。
Create SkelAnimations
エージェントのジョイントアニメーションのみを取り込んで、SkelAnimation Primを作成します。
エージェントのスケルトンとRestジオメトリは通常ではフレーム間で変化することはないので、これを使用することで、フレームシーケンスを効率的に取り込むことができます。
NURBS Curves
NURBSカーブプリミティブの扱い方。
Convert to Basis Curves
カーブをBasisCurvesプリミティブとして取り込みます。
これは、3次カーブにしか対応していませんが、Hydraを介したレンダリングで役に立ちます。
Create NURBS Curves
カーブをNurbsCurvesプリミティブとして取り込みます。
これは、NURBSカーブを完全に双方で変換できますが、Hydraを介したレンダリングに制限があります。
Kind Authoring
取り込んだプリミティブにKindを割り当てる方法。
All Geometry is One Component
取り込んだツリー内のルートプリミティブをComponentに設定します。子プリミティブにはKindを設定しません。
Nested Groups and Components
取り込んだツリー内のLeaf(末端)プリミティブをComponentに設定します。ブランチ(分岐)プリミティブをGroupに設定します。
Nested Assembly, Groups, and Components
取り込んだツリー内のルートプリミティブをAssemblyに設定します。中間のブランチプリミティブをGroupに設定します。LeafプリミティブをComponentに設定します。
None
取り込んだプリミティブにKindを設定しません。
Path Attributes
SOPジオメトリの格納先となるPrimパスとして使用するSOP Primitive文字列アトリビュート を(カンマまたはスペースで区切った)リスト。
デフォルトはpath,nameです。
上記のジオメトリ階層を参照してください。
このリストに2個以上のアトリビュートが含まれていれば、インポーターは、各アトリビュートから最初に空っぽでない値をチェックします。
その文字列値がフルパスだった場合、そのパスがそのプリミティブのUSDシーングラフパスとして使用されます。 その文字列値が相対パス(または、名前だけ)だった場合、その文字列を Import Path Prefix 文字列の後に追加して、フルシーングラフパスを生成します。
リスト内のアトリビュートがどれも指定したSOPプリミティブ上に存在しなかった場合、または、どの値も空っぽの文字列だった場合、インポーターは自動的に名前を生成します(例えば、sphere_0)。
Import HeightFields as Mesh
ソースのSOPジオメトリにHeight Fieldボリュームが含まれていた場合、そのボリュームはポリゴンメッシュとして取り込まれます。 他のレイヤーは、値がVaryingなら頂点Primvar、Constantなら定数Primvarとして取り込まれます。
Import Data
以下のパラメータは、SOPジオメトリアトリビュートからUSDのアトリビュートとPrimvarへの変換に影響し、デフォルト値とタイムサンプル値のどちらで編集するのか選択することができます。
Topology Attributes
USDトポロジーアトリビュートをタイムサンプル値またはデフォルト値のどちらで作成するのかを制御します。
Animated
ソースジオメトリのトポロジーが時間軸で変化するのか分かっているのであれば、USDシーングラフ内でトポロジーアトリビュートをタイムサンプルとして記録するこのオプションを選択してください。 アニメーションするトポロジーが含まれていると、再生するのに非常に負荷がかかってしまうので、このオプションは必要な時にだけ使用してください。
Static
トポロジーアトリビュートをデフォルト値として書き込みます。 これによって再生を非常に速くすることができますが、トポロジーが時間軸で変化できなくなる制限がかかります。
None
トポロジーアトリビュートを作成しません。
これは、USDデータをSOPsに送信して処理を加えて、それをLOPsに戻すのに役立ちます。 このオプションを使用すると、このプロセスではジオメトリトポロジーが変化しなかったとインポーターに伝わるので、変化のあったポイントポジションまたは他のPrimvarのみが取り込まれるようになります。
Attributes
USDにPrimvarとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
アトリビュート名を直接マッチさせるだけでなく、特別な意味を持った値がいくつか用意されています:
bounds
関連するSOPジオメトリから計算された境界ボックスを使用して、USD extentアトリビュートを作成します。
visibility
usdvisibilityジオメトリアトリビュートの値に基づいて、USD visibilityアトリビュートを作成します。
インポーターが特定の共通Houdiniアトリビュートをそれに呼応するUSDアトリビュートにどのように変換するのかに関する情報は、アトリビュートのインポートを参照してください。
Indexed Attributes
USDにIndex Primvarとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
SOPアトリビュートがこのパターンにマッチすると、インポーターは、Primvarをインデックス配列の値として作成します(つまり、primvars:nameに値の配列、primvars:name:indicesにそれらの値のインデックスの配列が入ります)。
整数でも文字列でもないアトリビュートに対してIndex Primvarを用意するのは、処理に負荷がかかってしまいます。 少数の固有な値を多数のコンポーネントにわたって使用することでストレージサイズを大幅に節約できそうな場合にのみIndex Primvarを使用してください。
Import as Single Element Array
SOPジオメトリアトリビュートがPoint/Primitive/Vertexアトリビュートのどれかに関係なく、USDにConstant補間(プリミティブ全体で1個の値を持つ配列)のPrimvarとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
特定のUSDプリミティブに対して複数の値を選択できる場合、インポーターは、見つかった最初の値を選択します。
( Import as Single Value の代わりに)アトリビュートを単一要素配列として取り込むと、Primvarのタイプを変えずにそのPrimvarの補間を上書きすることができるので便利です。
Import as Single Value
SOPジオメトリアトリビュートがPoint/Primitive/Vertexアトリビュートのどれかに関係なく、USDにConstant補間且つプリミティブ全体で単一値のPrimvarとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
特定のUSDプリミティブに対して複数の値を選択できる場合、インポーターは、見つかった最初の値を選択します。
これは、Detailアトリビュートが取り込まれるデフォルトの挙動です。
これは、 Import as Single Element Array に似ていますが、Primvarのタイプが単一要素の配列ではなくスカラー値となります(例えば、vector3f[]ではなくvector3fとなります)。
Boolean Attributes
boolタイプのPrimvarに変換したい整数SOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
Set Default Values
常にデフォルト値(タイムサンプルなし)としてUSD Primvarを作成したいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。 ここには、 Author Time Samples を“If Not Specifically Excluded”に設定した場合のその除外アトリビュートのリストを指定します。
Partition Attributes
ジオメトリのサブセットを表現したSOP Primitive文字列アトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。 メッシュプリミティブとカーブプリミティブに関しては、インポーターは、このアトリビュートが同じ値のエレメントを自身のジオメトリサブセットに格納します。
インポーターは、サブセット名をアトリビュート値に設定することを試みますが、その名前を有効なUSDプリミティブ名に変更する必要性が出てきます。
インポーターは、ジオメトリサブセットPrim上のそのままのアトリビュート値をpartitionValueキーを持つCustom Dataとして格納します。
Subset Groups
SOPプリミティブグループを指定したスペース区切りのグループ名/パターンのリスト。 各グループ内のSOPのポリゴンプリミティブとカーブプリミティブは、そのグループの名前でジオメトリサブセットとして取り込まれます。
USD Custom Attributes
USDに(Primvarではなく)アトリビュートとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
Translate UV Attribute to ST
uvSOP頂点アトリビュートをprimvars:stUSD Primvarに変換します。
これを有効にする必要があるかどうかは、あなたが使用しているレンダラーとシェーダの作り方で決まります。
Karmaでレンダリングする場合は、これを無効のままにしてください。
(これを書いた時点では、USDでのテクスチャ座標の命名に厳格な基準はありませんが、stを使用するのが一般的な慣例であるのに対して、SOPジオメトリではuvを使用するのが一般的な慣例です。)