On this page |
Houdiniアセット自体は、houdiniAssetノードにカプセル化されます。 ジオメトリ入力は、MayaジオメトリをHoudiniジオメトリに変換してEngine側でそれに呼応するNullを作成する独自のラッパーノードを持っています。 複数のMayaシェイプは、houdiniInputMergeノードを経由することで、1つの入力に接続することができます。
Houdini Engine for Mayaプラグインで使用されるプラグインノードは以下の通りです:
houdiniAssetノードは、出力Mayaジオメトリシェイプを作成するためにSyncで必要な情報と、作成されたそれらのノードに接続するためのMayaジオメトリデータの両方を出力します。
houdiniAsset ¶
houdiniAssetには、3種類のアトリビュートがあります:
-
静的なアセット定義関連とアセットオプション関連のアトリビュート
-
パラメータ関連のアトリビュート
-
出力関連のアトリビュート
すべてのパラメータ関連のアトリビュートは、Compound(複合)型のhoudiniAttrParmパラメータの子になります。 詳細は、Mayaパラメータを参照してください。 アセットオプション関連のアトリビュートとアセット定義関連のアトリビュートに関する詳細は、Mayaアセットを参照してください。
大部分のパラメータは直接アトリビュートとして露出されますが、アトリビュートエディタのジオメトリ入力は特殊です。 そのジオメトリ入力の文字列フィールドは、入力ジオメトリシェイプの最小の固有なDAGパスをスペースで区切ったリストです。 このリストは、直接編集したり、Set to Selectionボタンを使用して現行選択リストから作成することもできます。 どちらの方法で入力を指定しても、入力との実際のリレーションシップは上流の入力ネットワークによって表現されて計算されます。 AEフィールドは入力および視覚的フィードバック用で、ノード上にはそれらに呼応するアトリビュートはありません。
出力関連のアトリビュートについて説明します。 すべての出力関連のアトリビュートは、 Compound(複合)型のアトリビュート出力 の子になります。 これには、Sync時に作成する出力ノードと出力アトリビュートの説明的情報が入ったアトリビュートと、Houdiniアセットから出力ジオメトリに接続するためのライブデータが入ったアトリビュートの両方が含まれます。 理想は、ユーザがこれらの接続を管理する必要がなく、アセットの同期によってこれらが最新の状態に維持されることですが、 場合によってはautoSyncOutputsの接続が切れることがあります。 一部の接続不可の出力には、Mayaでアセットの挙動をデバッグする際に役立つ情報が用意されている場合もあります。
コマンド |
機能 |
説明 |
---|---|---|
|
接続 |
オブジェクトアセット用で、ワールドトランスフォームTRS |
|
接続 |
それぞれのアセットの出力インスタンサー用 |
|
接続 |
インスタンサートランスフォームTRS |
|
同期 |
名前が入ったアトリビュート |
|
インスタンスマッチング用アトリビュート |
|
|
同期 |
インスタンス化するオブジェクト |
|
接続 |
パーティクルインスタンサーを駆動させるインスタンス毎の名前付きデータ |
|
アセットからのすべての出力ジオメトリ |
|
|
接続 |
オブジェクトトランスフォームTRS |
|
接続 |
他のアセットに接続するためのHoudiniオブジェクトID |
|
接続 |
流体playFromCacheに接続すると、データが利用可能であることが示されます |
|
同期 |
出力はインスタンス化されているか? |
|
同期 |
出力は表示されているか? |
|
同期 |
出力トランスフォームおよびシェイプの名前 |
|
このオブジェクトのジオメトリ |
|
|
同期 |
出力Xformおよびシェイプの名前 |
|
同期 |
このジオメトリはテンプレート化されているか? |
|
同期 |
このジオメトリはディスプレイオブジェクトか? |
|
個別のシェイプとして出力されるジオメトリのパーツ(グループ毎にジオメトリを分割するなどして) |
|
|
同期 |
出力シェイプの名前 |
|
同期 |
これはメッシュか?(つまり、出力にプリミティブや頂点が含まれているか) |
|
同期 |
このパーツはパーティクルか?(つまり、出力に含まれるのはポイントのみか) |
|
同期 |
このパーツはインスタンサーか?(つまり、出力はパックプリミティブか) |
|
| |
|
|
同期 |
Mayaから渡される現在のカラーセット |
|
同期 |
Mayaから渡される現在のUVセット |
|
接続 |
メッシュジオメトリデータ |
|
| |
|
|
接続 |
入力時の接続をそのまま渡す |
|
接続 |
パーティクルの位置のみ |
|
接続 |
すべてのパーティクル単位のアトリビュート |
|
接続 |
このパーツの各カーブのカーブデータ |
|
同期 |
BezierまたはNURBS |
|
出力フィールド |
|
|
同期 |
出力される流体グリッドの名前 |
|
接続 |
流体グリッドデータ(キャッシュデータとして接続) |
|
接続 |
グリッド解像度、これが時間依存の場合は自動リサイズを使用 |
|
接続 |
流体トランスフォーム(TRS) |
|
出力パーティクルインスタンサー |
|
|
接続 |
すべての名前付きのインスタンス毎のアトリビュート |
|
同期 |
インスタンス化するオブジェクトのID |
|
接続 |
インスタンサートランスフォーム(TRS) |
|
マテリアルノードへのグループのマッピング |
|
|
再構築方法に関する情報付きのアトリビュートを含みます。 Mayaメッシュマテリアルの割り当て、その他のメッシュプロパティ、アセットからの純粋なユーザ定義のアトリビュート |
|
|
同期 |
アトリビュート名 |
|
同期 |
ディテール、ポイント、プリミティブ |
|
同期 |
データタイプ |
|
同期 |
アトリビュートタプルサイズ |
|
接続 |
アトリビュートデータの汎用アトリビュート |
|
マルチ | |
|
|
同期 |
グループ名 |
|
同期 |
コンポーネントタイプ |
|
同期 |
コンポーネントID配列 |
|
アセットからエクスポートされる新しいマテリアル |
|
|
同期 |
接続するマテリアル |
|
同期 |
作成するマテリアル |
|
同期 |
マテリアルとノードのマッチング |
|
接続 |
アンビエントカラー |
|
接続 |
ディフューズカラー |
|
接続 |
スペキュラーカラー |
|
接続 |
アルファ |
|
接続 |
ファイルテクスチャパス |
houdiniInputGeometry ¶
houdiniInputGeometryノードは、単一のMayaメッシュまたはnParticleシステムをHoudiniジオメトリに変換します。
以下の2つの入力アトリビュートがあります:
-
inputGeometry(汎用)
-
inputTransform(マトリックス)
1つの出力:
-
outputNodeId(HoudiniノードID)
さらにいくつかのアトリビュートで、メッシュをより詳細に制御することができます:
-
unlockNormals(アセットにカスタム法線を渡しません)
-
materialPerFace(フェース毎にシェーディンググループを設定します。ジオメトリが結合される場合に使用します)
-
objectShadingGroup(オブジェクトのシェーダ割り当ての変更を追跡するのに使用します)
-
allowFacetSet(有効にすると、facetOnlyセットのグループを作成します。通常このタイプのセットは無視されます。Mayaツールによって内部的に使用され、干渉につながる可能性があるからです)
ジオメトリとワールドトランスフォームは、別々に接続されます。Engine側では、ジオメトリに入力Nullが作成されます。 入力は実際のメッシュシェイプである必要はありません。 使用するのはほとんどメッシュデータからの情報なので、メッシュヒストリーノードからメッシュを直接出力することができます。
inputGeometryノードを使用して、いくつか異なるジオメトリタイプを接続することもできます。 inputGeometryは汎用アトリビュートのため、接続されるデータのタイプによって、作成する入力オブジェクトの種類が決まります:
-
meshData : メッシュ
-
vectorArrayData : パーティクル
-
curveData : カーブ(下位互換のみ)
パーティクル入力では、実際のparticleNodeをポジションアトリビュートで接続する必要があります。 入力オブジェクトを作成するには、その接続を逆にたどり、上流ノードから直接パーティクルデータを抽出します。
houdiniInputTransform ¶
inputTransformノードは、Mayaロケータの入力に使用します。ロケータを選択してSetToSelectionを行なうと、ロケータのXformのworldMatrixがinputTransformノードに接続され、ロケータのトランスフォームを表現するプロキシパーティクルジオメトリが作成されます。 アトリビュートエディタのUIが受け入れるのはロケータのみですが、inputTransformを通して任意のトランスフォームのworldMatrixを接続することができます。
houdiniInputCurve ¶
カーブ入力ノードはジオメトリ入力ノードと似ていますが、トランスフォーム接続が含まれません。 複数のカーブを1つのinputCurveノードに接続することができます。
また、カーブ入力ノードを使用して、Mayaのヘアーシステムからカーブを接続することもできます。 出力カーブを含むnHairシステムを選択する場合、hairSystemsを追加すると、すべてのFollicle(毛根)のoutCurveアトリビュートがhoudiniInputCurveに接続されます。 これも、特定のMayaノードタイプが入力に必要とされず、特定のデータイプのみが必要となる一例です。
houdiniInputMerge ¶
複数のMayaオブジェクトを選択して単一の入力に接続する場合、各オブジェクトに対して他の3つのhoudiniInputノードの1つを作成し、それらをすべてhoudiniInputMergeノードに接続します。 これにより、Engine側に入力ジオメトリを結合するためのObjectMerge SOPが作成されます。
出力ノード ¶
houdiniAssetの同期によってアセットがクックされ、クックの結果とアセットオプションに基づいて、出力Mayaジオメトリが作成されます。 出力DAGオブジェクトは、アセットノード自体の子になり、必要に応じて適切なヒストリー、シェーディング、トランスフォーム接続が含まれます。 力マテリアルは、outputMaterialsアトリビュートで接続されます。 アセットの構造に応じて、空っぽの出力トランスフォームが作成される場合もあります。以下は、単純な流体シミュレーションからの出力です。