On this page | |
Since | 19.0 |
概要 ¶
これは、レイアウト/ライティング/レンダリングをするためにHoudiniで行なった作業をLOPネットワークに取り込むことができます。
Tipsとメモ ¶
-
Objects リストが空っぽの場合、デフォルトでは、 このノードは何も取り込みません 。 オブジェクトを取り込むには、このフィールド内にノードパス/パターンのリストを必ず指定してください。
-
オブジェクトレベルの Containment(格納) リレーションシップ(他のオブジェクトを含んだオブジェクトサブネット)は、USDではPrim階層に変換されます。
-
オブジェクトレベルの Wiring(接続) リレーションシップ(他のオブジェクトにオブジェクトを接続して親子化)も Ignore Inputs が有効でない限り、Prim階層に変換されます。
シーンインポートをカスタマイズ ¶
熟練ユーザはPythonプラグインを書いて特定のHoudiniオブジェクトノードタイプからUSDへの変換をカスタマイズすることができます。 特に、これはカスタムノードタイプ(例えば、プロプライエタリなレンダラーで使用されているライトタイプやカメラタイプ)を変換するのに役立ちます。 また、一般的なオブジェクトタイプの変換に手を加えて、独自のデータやワークフローを制御したり、USD側に独自のデータを生成するのにも役立ちます。
Note
変換プラグインを実装するには、PixarのUSD Python APIを熟知している必要があります。
詳細は、Scene Import LOPオブジェクト変換プラグインの書き方を参照してください。
パラメータ ¶
Import All Time Samples
以下で指定した範囲内のフレーム毎のアニメーションデータを取り込みます。 アニメーションが付いたパラメータまたはSOPジオメトリに対して、これはその結果のUSDアトリビュート上にタイムサンプルを生成します。
これは、USDアトリビュートデータ内にすべてのタイムサンプルを即座に格納するので、このノードは時間依存にならず、別のフレームにスクラブしても再クックする必要がありません。
アニメーションデータの量によっては、インポートは、このトグルを無効にした時の現行フレームだけのインポートよりも時間がかかってしまいます。
Frame Range
Import All Time Samples が有効な時、インポートするフレームの範囲を指定します。 デフォルトでは、これらのパラメータには、タイムラインの全フレーム範囲を設定するエクスプレッションが組まれています。
Substeps
Import All Time Samples が有効な時、フレーム間のサブステップ数を指定します。
Import Objects
Objectノード(モデル、カメラ、ライト)をUSDにインポートして、できるだけ多くのパラメータ値を標準USDアトリビュートにマッピングするかどうか指定します。
Destination Path
インポートした各オブジェクトのノードパスの頭にこのパスを付けてシーングラフパスを生成します。
デフォルトの/
は、オブジェクトをルートレベルでインポートします。
Root Object
このノードネットワークパス内のObjectノードのみを検索します。
デフォルトの/obj
は、このノードがすべてのObjectノードのインポートを試みることを意味します。
Objects
インポートするノードパスのリスト。
ここを空っぽ(デフォルト)のままにすると、このノードは 何もインポートしません 。
すべてのObjectノードのインポートを試みたいのであれば、これを*
に設定します。
Include Invisible Geometry
オブジェクトレベルでディスプレイフラグがオフになっているジオメトリをインポートするかどうかを制御します。
無効にすると、そのようなジオメトリがまったくインポートされなくなります。
有効にすると、そのようなジオメトリはインポートされるようになりますが、そのUSD Primはinvisible
とマークされます。
Force Objects
オブジェクトレベルの状態に関係なく常にインポートされvisible
とマークしたいオブジェクトレベルのノードにマッチさせるオブジェクト名パターンのリスト。
Exclude Objects
たとえ Objects または Force Objects に該当しようとも決して取り込みたくないオブジェクトレベルのノードにマッチさせるオブジェクト名パターンのリスト。
Filter
すべてのObjectノードタイプ、カメラのみ、ライトのみ、ジオメトリオブジェクトのみのどれをインポートするのか選択します。
Make Conflicting Paths Unique
これが有効な時、このノードは、同じレベルにあるPrimsの名前が必ず固有になるように名前に数字を追加します。 これが無効な時、名前が干渉すると、このノードはクックを停止してエラーを表示します。
名前の干渉は、 Flatten Hierarchy が有効な時に非常によく起こりますが、デフォルトでは、シーングラフパスはオブジェクトレベルで Containment(格納) リレーションシップと Wiring(接続) リレーションシップの両方から構築されるので、それが原因で起こることもあります。
Flatten Hierarchy
Destination Path 直下にすべてのオブジェクトをインポートし、 Containment(格納) リレーションシップと Wiring(接続) リレーションシップを無視します。
これは、ネームスペースから中間サブネットや入力オブジェクトを破棄するので、名前の干渉が起こりやすいです。 Make Conflicting Paths Unique を有効にすることで、名前の干渉を修復することができます。
Ignore Inputs
Objectノード間の親子接続リレーションシップを使用せずにPrim階層を作成します。
Import Bundles As Collections
オブジェクトレベルのバンドルをUSDコレクションに変換します。
Collection Prim
Import Bundles As Collections が有効な場合にコレクションに使用するUSD Prim。
Import SOP Geometry
Geometryオブジェクト内のSOPノードで生成されたジオメトリをUSDジオメトリとしてインポートします。 オブジェクトからトランスフォーム階層のみをインポートし、実際のジオメトリを別に扱いたい場合、これを無効にすると役に立ちます。
As Reference
SOPジオメトリをインポートする時、これは、現行レイヤー上にリファレンスを作成するのか、または、新しいサブレイヤー(ジオメトリ毎に1枚)を作成するのか制御します。 どちらの場合でも、整合性の合った階層を作成するために Destination Path が使用されます。
SOP Import Mode
SOPジオメトリを取り込む時、これは、 Display または Render のどちらのフラグが付いたノードを使用するのかを制御します。 Default を選択すると、ノードタイプ毎の基準で選択され、一般的には Render フラグが付いたノードが使用されます(Hair Generateノードの場合は Display フラグが付いたノード使用されます)。
Set Subdivision Scheme to Match Object Parameters
Import SOP Geometry が有効な時、オブジェクトに対してサブディビジョンを制御するレンダリングプロパティをチェックし、それに合うようにUSD Subdivision Schemeを設定します。
Primitive Definition ¶
このグループ内のパラメータは、ソースのSOPジオメトリからどのようにUSDプリミティブを生成するのかという観点で、変換プロセスをガイドします。
Packed USD Primitives
インポートしたSOPジオメトリ内のパックUSDプリミティブの扱い方。
Ignore
ソースのSOPジオメトリ内のパックUSDプリミティブを無視します。
Overlay Transforms
パックUSDプリミティブのトランスフォームをオーバーライド(Over
)Primとして取り込みます。
これによって、パックUSDプリミティブをアンパックすることなく簡単にトランスフォームさせることができます。
Overlay Transforms and Attributes
Overlay Transforms に加えて、パックUSDプリミティブ上のSOP Point/Primitiveアトリビュートは、constant
補間のPrimvarとして取り込まれます。
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を介したレンダリングに制限があります。
NURBS Surfaces
NURBSサーフェスプリミティブの扱い方。
Convert to Meshes
NURBSサーフェスをMesh
Primとして取り込みます。これは、Hydraを介したレンダリングに役立ちます。
Create NURBS Patches
NURBSサーフェスをNurbsPatch
Primとして取り込みます。
これは、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
)。
Prefix Absolute Paths
Path Attributes の絶対パス値に接頭辞/親を付けるかどうか。 デフォルトでは、これは無効になっていて、相対パス値にのみ接頭辞が付きます。
Import HeightFields as Mesh
ソースのSOPジオメトリにHeight Fieldボリュームが含まれていた場合、そのボリュームはポリゴンメッシュとして取り込まれます。 他のレイヤーは、値がVaryingなら頂点Primvar、Constantなら定数Primvarとして取り込まれます。
Geometry Handling ¶
以下のパラメータには、SOPジオメトリデータの解釈を変更するためのオプションが用意されています。
Treat Polygons as Subdivision Surfaces
サブディビジョンスキームのタグがまだ付けられていないポリゴンメッシュに対して、catmullClark
が設定されたsubdivisionScheme
アトリビュートを追加します。これによって、それらのポリゴンメッシュはサブディビジョンサーフェスに変換されるようになります。
Subdivision Group
Treat Polygons as Subdivision Surfaces が有効な場合、このプリミティブグループ内のポリゴンのみがサブディビジョンサーフェスに変換されます。
Reverse Polygon Vertex Ordering
USDはポリゴンの頂点順が左手系なのか右手系なのかを示したメッシュプリミティブ上のorientation
アトリビュートに対応しているのに対して、
SOPジオメトリは頂点順が常に左手系です。
このオプションを有効にすると、インポーターは常に頂点順が右手系になるように頂点(と関連するPrimvar)を並べ替えます。
これは、右手系の向きのポリゴンをUSDからSOP、SOPからUSDに双方向に変換する時に役立ちます。 データは、SOPに取り込む時には常に左手系の頂点順に変換されます。 このオプションを使わないでポリゴンをUSDに戻した場合、そのUSDはオリジナルの右手系とは異なり左手系の頂点順のままになります。
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として格納します。
Prefix Subsets with Attribute Name
Partition Attributes からサブセットを作成する時、それらのサブセットの名前は、アトリビュート名とパーティションアトリビュート値(文字列または整数)を組み合わせた名前になります。 これによって、複数のパーティションアトリビュートに同じ値が含まれている時に名前の干渉が回避されますが、サブセット名を正確に制御したい場合には望ましい名前が得られない場合があります。 文字列アトリビュートの場合、このオプションを無効にすると、アトリビュート値が直接サブセット名として使用されます。
Subset Groups
SOPプリミティブグループを指定したスペース区切りのグループ名/パターンのリスト。 各グループ内のSOPのポリゴンプリミティブとカーブプリミティブは、そのグループの名前でジオメトリサブセットとして取り込まれます。
USD Custom Attributes
USDに(Primvarではなく)アトリビュートとして取り込みたいSOPアトリビュートを指定したスペース区切りのアトリビュート名/パターンのリスト。
Translate UV Attribute to ST
uv
SOP頂点アトリビュートをprimvars:st
USD Primvarに変換します。
これを有効にする必要があるかどうかは、あなたが使用しているレンダラーとシェーダの作り方で決まります。
Karmaでレンダリングする場合は、これを無効のままにしてください。
(これを書いた時点では、USDでのテクスチャ座標の命名に厳格な基準はありませんが、st
を使用するのが一般的な慣例であるのに対して、SOPジオメトリではuv
を使用するのが一般的な慣例です。)
Import Materials
マテリアル(以下のリストから、または、インポートしたオブジェクトに割り当てられているマテリアル)をインポートするかどうかを指定します。
Destination Path
インポートしたマテリアル毎のノードパスの頭にこのパスを付けて、そのシーングラフパスを生成します。
Flatten Hierarchy
Materials ▸ Destination Path のシーングラフパス直下にすべてのマテリアルをインポートし、中間サブネットまたは入力オブジェクトを無視します。
Materials Assigned to Objects
インポートしたオブジェクトに割り当てられているマテリアルをインポートします。
Materials Assigned to SOP Geometry
インポートしたオブジェクト内のジオメトリレベルで割り当てられているマテリアルをインポートします。
Collection Based SOP Material Assignment
(直接的なマテリアルのバインドとは対照的に)コレクションを介してマテリアルのバインドを適用します。
Additional Materials
このパラメータでリストしたマテリアルVOPノードパスをインポートします。
Verbose Messages
特定の警告/エラーを展開するかどうか。 オフの時、通常では、このノードは問題の最初の原因(オブジェクトをインポートできないなど)と他の原因の数をレポートします。 オンの時、このノードは問題のあるすべての原因の完全なリストをレポートします。
See also |