Maya のノードにメタデータを追加する

Maya Metadata API を使用して、任意の Maya ノードや、Maya メッシュ オブジェクトのコンポーネント(頂点、フェース、エッジ、頂点フェース)に直接アタッチできる任意の数のメタデータ構造を作成できます。 メタデータは Maya シーン全体に追加することもできます。この場合は、特定のノードにメタデータをアタッチする必要がありません。 小規模な MEL コマンド セットを使用して、Maya 内からメタデータにアクセスできます。

Metadata クラスを使用すると、コンポーネントレベルのメタデータのデータ構造を作成し、そのデータ構造を 1 つのデータ ストリームに統合できます。これにより、メタデータを Maya DG の操作でフローさせながら、ノードへのアタッチを維持できます。 これには、コンストラクション ヒストリを持つメッシュ ノードにコンポーネントレベルのメタデータを追加することが含まれます。 メタデータは任意に指定された関連付けであらゆるノードにアタッチできるため、メタデータをポイント クラウドのポイント、シミュレーションのパーティクル、または NURBS サーフェス上の頂点にアタッチするなどの目的で、API を拡張することができます。 メタデータは、MEL コマンドや API を介して後で調査や修正を行うことが可能であり、セッション全体を通して Maya ファイルに保存されます。 adsk::Data::Association クラス リファレンスの例は、頂点の速度と加速データをシミュレーション メッシュに格納する方法を示しています。 「Maya 開発者ヘルプ」を参照してください。

メタデータのインデックス値はコンストラクション ヒストリを通じて変更されません。 メッシュ トポロジが変更された場合、メッシュ コンポーネント メタデータが元のコンポーネントに関連付けられなくなる場合があります。 コンストラクション ヒストリを微調整してこのことが原因の問題を修正するために、editMetadata コマンドが役立ちます

注:

メタデータは、変形したメッシュに追加できません。

通常、ハード エッジの修正などの polyShape の inMesh アトリビュート(つまり、polyShape ノードの入力アトリビュート)のトポロジの変更操作では、同じ方法で入力メタデータは修正されず、予期しない結果が発生する可能性があります。

Metadata API クラス

Metadata API には、adsk::Data::Association 、adsk::Data::Channeladsk::Data::Streamadsk::Data::Structureadsk::Data::Handle などの一般的によく使用されるクラスが含まれています。

AssociationChannelStreamStructure にはそれぞれ、クラスのすべてのメンバーのウォークスルーを容易にするための対応する XXIterator クラスがあります。

Metadata MEL コマンド

Maya で次の MEL コマンドを使用することにより、Metadata API から作成されたデータ構造にアクセスし、それらを操作することができます。 完全なコマンド リファレンスについては、テクニカル ドキュメントの「MEL コマンド」セクションを参照してください。

その他のインデックス タイプを使用する場合は、Maya API を介してプラグイン経由で実装することができます。 メタデータ コマンドはネイティブのインデックス タイプが表示さるすべての場所で、実装したタイプを使用することができます。