Autodesk Maya 2013

新機能

デバイスのデータ ストリーミング

外部ソースからカスタム プラグイン ノードを経由してディペンデンシー グラフまでデータ ストリームを行えるようにするために、プロキシ クラス MPxThreadedDeviceNode および MPxClientDeviceNode が追加されました。次に示す Maya2013/devkit/plug-ins/ にある新しいサンプルで、これらのクラスの使用方法を説明しています。

  • gameInputDevice (Windows)
  • udpDevice (Linux)
  • randomizerDevice (すべてのプラットフォーム)

ドラッグ アンド ドロップを行う UI

Maya のドラッグ アンド ドロップ機能にコールバック フックを提供するために、新しいクラスが追加されました。

  • MExternalDropCallback - このクラスは、Maya に外部オブジェクトをドロップした際、Maya のドラッグ アンド ドロップ情報へのアクセスを得るためのコールバックを登録するために使用されます。このドロップ動作を、外部のドラッグ アンド ドロップ操作のために置き換えまたは拡張することもできます。
  • MExternalDropData - このクラスは、外部アプリケーションからドラッグするときに、ドラッグ アンド ドロップ操作中に運ばれたデータを表現します。 このクラスは、MExternalDropCallback によって使用されます。

ビューポート 2.0

ビューポート 2.0 内のインデックス バッファと頂点バッファを使用して作業するために、MHWRender ネームスペースに新しいクラスのグループが追加されました。

  • MComponentDataIndexing - 頂点が共有されている場合に、インデックス マッピングを格納します。
  • MComponentDataIndexingList - MComponentDataIndexing オブジェクトを含むリストです。
  • MGeometryUtilities - ビューポート 2.0 のジオメトリをレンダリングするためのユーティリティ クラスです。関数 wireframeColor() は、最終的なワイヤフレームのカラーを取得します。
  • MGeometryExtractor - レンダリング可能なジオメトリを抽出するベース クラスです。頂点とインデックス データとともにバッファを配置するには、このクラスのインスタンスを作成します。
  • MIndexBufferDescriptor - インデックス スキーム、インデックス タイプ、プリミティブ タイプ、プリミティブ ストライド、コンポーネント情報の説明を示します。
  • MIndexBufferDescriptorList - MIndexBufferDescriptor オブジェクトを含むリストです。
  • MLightParameterInformation - MDrawContext を使用してアクセスでき、ライトごとの情報を提供します。
  • MPxVertexBufferGenerator - ユーザ定義の頂点バッファ ジェネレータのベース クラスです。

アトリビュート パターン

新しいアトリビュート パターン API クラスが追加されました。

  • MAttributePattern - ダイナミック アトリビュートとしてノードに適用される、あるいは拡張アトリビュートとしてノード クラスに適用されるアトリビュートのパターンを提供します。
  • MAttributePatternArray - アトリビュート パターンの配列を操作するためのメソッドを提供します。
  • MPxAttributeFactory - ユーザ定義アトリビュート パターン ファクトリ用のベース クラスです。

プラグインのモジュール サポート

プラグインの配布可能な配置を簡単に作成できるようになりました。現場の管理者はネットワーク上のフォルダとして、モジュール説明ファイルとともにプラグインをセットアップできます。各ユーザのマシンは、MAYA_MODULE_PATH 環境変数を使用してモジュール説明ファイルを示す必要があります。これにより、Maya のバージョンやプラットフォームが複数存在する場合でも、プラグインを簡単に変更できます。

複数のバージョンのプラグインがサポートされました。使用するバージョンは、現在のオペレーティング システム、Maya のバージョン、および言語設定(ロケール)の組み合わせで決まります。新しいモジュール ファイルの構文の詳細は、次のセクションで解説します。

詳細については、次を参照してください。

注:"devkit/plug-ins" フォルダの再編成により、プラグインに関連付けられているファイルは 1 つのフォルダ内にまとめられ、プラグイン プロジェクトは "Plug-ins.sln" と呼ばれる 1 つのペアレント ソリューション ファイル内にペアレント化されました。

変更の内容

imagePlane ノードの変更

これまでディペンデンシー ノードであった imagePlane ノードが、シェイプ ノード(つまり、DAG ノード)となりました。これにより、スクリプトおよびプラグインへの変更が必要な場合があります。

imagePlane ノードの作成に MFnDependencyNode を使用していた場合は、代わりに MFnDagNode を使用してコードを変更する必要があります。同様に、imagePlane ノードの作成または削除に MDGModifier を使用していた場合は、代わりに MDagModifier を使用する必要があります。

imagePlane ノードを削除するスクリプトおよびプラグインでは、親トランスフォームをクリーン アップする追加作業が必要な場合があります。

さらに、一部の標準 DAG ノード アトリビュートとの衝突を回避するために、次の imagePlane アトリビュートの名前が変更されました。

変更前の名前 変更後の名前
center (c) imageCenter (ic)
centerX (cx) imageCenterX (icx)
centerY (cy) imageCenterY (icy)
centerZ (cz) imageCenterZ (icz)

変更前の名前で子アトリビュートを参照するスクリプトおよびプラグインは動作しなくなりました。

変更前の名前(center)で親アトリビュートを参照するスクリプトおよびプラグインは動作するように見えますが、イメージ プレーンの中心位置ではなく、ノードのバウンディング ボックスの中心位置に戻ります。これらは異なる場合があります。