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

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

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

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

Metadata API クラス

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

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

Metadata MEL コマンド

Maya で次の MEL コマンドを使用することにより、Metadata API から作成されたデータ構造にアクセスし、それらを操作することができます。

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