Maya 2017 の API の新機能

API のバージョンとバイナリ互換性

Maya の API のバージョンが更新されました(現在の MAYA_API_VERSION は 201700 です)。Maya 2016 Extension 1、2、または Service Pack のリリースを含む Maya 2016 でコンパイルされたすべてのプラグインは、Maya 2017 バージョンによって認識されるように Maya 2017 に対して再コンパイルする必要があります。

新しい Qt および PySide のバージョン

Maya は現在 Qt バージョン 5.6.1 および PySide バージョン 2.0 を使用しています。

Qt プラグインのビルド方法の更新された手順については、「プラグインのビルド」を参照してください。

Maya Developer Kit

開発キットは https://apps.exchange.autodesk.com/MAYA/ja/Home/Index の Autodesk Exchange からオンラインで入手できます。

Maya 2016 API ガイド

Maya 2016 Extension 2 の API ガイドは、http://www.autodesk.com/maya-sdkdoc-2016-jpnからオンラインで利用可能です。また、http://www.autodesk.com/me-sdk-docs-2016でダウンロード可能なバージョンを取得することもできます。

Maya 2016 および Maya 2016 Extension 1 の API ガイドのダウンロード可能なバージョンは、http://www.autodesk.com/me-sdk-docs-2016から利用できます。

次のセクションにジャンプします。

レンダリング

フラグメント レンダラ

サンプル プラグイン viewRenderOverrideFromFragments が追加されました。これはシーンおよび希望するポスト エフェクトをレンダリングするためにスクリプト フラグメントとフラグメント グラフを使用できるように、新しい API セットの使用を示します。スクリプト フラグメントは、標準のビューポート レンダリング エフェクトを適用するために Maya 内部で使用される構築ブロックです。Maya インストール フォルダの bin/ScriptFragment フォルダ内の一連の .xml ファイル内に格納されています。

次の API クラスとインタフェースが追加され、フラグメント レンダラの作成が可能となりました。

ビューポートへのレンダリング用にフラグメントとフラグメント グラフを書く」を参照してください。

ロケータ

描画

シェーディングおよびカラー管理

選択

詳細については、uiDrawManagerlineManipContainer (C++ API) および pyUiDrawManager.py (Python API 2.0) デベロッパー キット サンプルを参照してください。

レンダー オーバーライド

ライト

ノードを登録するときに、"drawdb/light""drawdb/geometry" の両方の分類を指定することにより、カスタム描画オーバーライドと内部 ビューポート 2.0 ライティングのサポートを結合できるようになりました。

使用例では、ビューポート 2.0 内でネイティブの Maya ライトのようなライティングを実行するカスタム オブジェクトをビューポート内に描画しています。詳細については、apiDirectionalLightShape プラグイン サンプル、および Registration を参照してください。

ジオメトリ

頂点 ID、フェース ID、およびローカル パラメータ設定のアクセスが、MGeometryExtractor インタフェースを介して公開されるようになりました。完全に共有されていないジオメトリ データを DAG シェイプから抽出するには、MGeometryExtractor インスタンスを構築するときに kPolyGeom_NotSharing を指定する必要があります。

MPxShaderOverride と同様、頂点 ID、フェース ID、およびローカル パラメータ配置を要求する MGeometryExtractor に新しいインタフェースはありません。これらの頂点バッファを設定するには、次のセマンティック名を使用して MVertexBufferDescriptor を指定する必要があります。

詳細については、geometryReplicator プラグインの例を参照してください。このプラグインの例を実行するには、まず次の環境変数を設定してから、geometryReplicator シェイプに hwPhongShader を割り当てます。

ビューポート 2.0: MGeometryExtractor のアクセス」を参照してください。

アニメーション

カスタム エバリュエータ

カスタム エバリュエータを定義できる、新しい API 拡張が追加されました。カスタム エバリュエータにより、評価マネージャが DG ノードをスケジュールして実行する方法を変更することができます。「カスタム エバリュエータの概要」を参照してください。Developer Kit 内の MPxCustomEvaluatorsimpleEvaluator、および constraintEvaluator プラグイン サンプルも参照してください。

スレッド化

シーン アセンブリ

新しい MPxAssembly::postActivateRep() 仮想関数が追加され、リプリゼンテーションがアクティブ化された後に、アセンブリで操作を実行することが可能となりました。

一般

Maya ビューポート 2.0 およびアニメーション パフォーマンスのホワイトペーパー

Maya ビューポート 2.0 のホワイトペーパーは、http://www.autodesk.com/developmaya で参照できます。

このドキュメントは 2 つのパートに分かれています。1 つ目のパート『Viewport 2.0 API Porting Guide(英語)』は、ビューポート 2.0 の概要を示すとともに、旧式の既定ビューポートとビューポート 2.0 との違いについて説明します。2 つ目のパート『Viewport 2.0 API Porting Guide Details(英語)』は、より詳細な内容について触れており、推奨するインタフェースを指定し、一般的なタスク向けのサンプル コードを提供します。

ホワイトペーパー『Improving Performance with Parallel Evaluation(英語)』 は、http://www.autodesk.com/maya-docs-jpn で参照できます。

シーンレベルのグラフの解析と並列化を使用して、アニメートされたシーンの再生や操作を改善する、新しい評価マネージャ機能を使用する方法の詳細については、このドキュメントを参照してください。さらに、プラグインでこれらの機能を活用するために実行できる API の拡張機能に関する情報、およびシーンのパフォーマンスを評価するためにプロファイラを使用する方法についてのガイドラインを提供します。