Maya 2019 の API の新機能

プラグインおよびアプリケーションの構築

アプリケーションおよびプラグインは現在、cmake ツールを使用して構築されています。プラグインまたはアプリケーションを構築する場合は、cmake を 2 回呼び出す必要があります。1 回目は makefile を作成するため、2 回目は makefile を使用してアプリケーションまたはプラグインを構築するためです。

CMake は、https://cmake.org/download/ からダウンロードできます。

新しい MacOSX Python のバージョンおよび環境変数に与える影響

MacOSX の埋め込みバージョンの Python は Python 2.7.15 に更新されました。

Maya は、SSL_CERT_FILE が設定されていない場合、埋め込まれた Python Framework 内で cert.pem ファイルを示すように SSL_CERT_FILE 環境変数を設定するようになりました。

SSL_CERT_FILE を未設定のまま維持するには、MAYA_DO_NOT_SET_SSL_CERT_FILE 環境変数を 1 に設定してから、Maya を起動する必要があります。

レンダリングおよびライティング

MPxGeometryOverride クラスの更新

MPxGeometryOverride クラスの更新に、次の新しいメソッドが含まれています。

Python API 内の MPyMPxGeometryOverride クラスにも、これらの新しいメソッドが含まれています。

MRenderItem クラスの更新

3D モデル ビューでコンポーネントに対して選択項目の分離(Isolate Select)をアクティブにすると、ビューポート 2.0 は、特にこのビューで分離選択されたコンポーネントの描画を示すために、必要なレンダー項目を作成し、それを維持します。これらのレンダー項目は元の項目のコピーであるため、名前、タイプ、プリミティブ タイプ、描画モードなどのプロパティが同じになります。ただし、シェーディング コンポーネントは、ビューで選択されたこのビューのセットから除外されます。

新しいメソッドが追加されたことにより、MPxGeometryOverride の実装で作成されたカスタム レンダー項目に、分離選択されたコンポーネントを描画するために作成されたコピーを設定できるようになりました。また、ビューで選択されたシェーディング コンポーネントへのアクセスが可能になったため、MPxGeometryOverride を実装してジオメトリを適切に塗り潰せるようになりました。

これらの新しいメソッドは、次のとおりです。

これらの新しいメソッドを使用するように apiMeshShape サンプル プラグインが更新されました。

Python API にも、これらの変更が含まれています。

新しい MColorManagementNodes クラスの更新

MColorManagementNodes C++ API クラスが追加され、カラー管理ノードを操作できようになりました。たとえば、1 つまたはすべての入力ノードのカラー管理を行ったり、オブジェクトのカラー管理が可能であるのか、それともカラー管理されているのかを照会したりできます。colorManageAllNodes フラグは colorManagementPrefs MEL/Python コマンドにも追加されています。

MHardwareRenderer クラスの更新

以下のメソッドが廃止されました。

新しいサンプルまたは更新されたサンプル

評価およびパフォーマンス

MFnDependencyNode クラスの更新

MFnDependencyNode クラスに新しいメソッドが追加されて、評価グラフで評価するためのスケジュール設定権限を持つノードを設定および管理できるようになりました。評価用の権限を持たないノードを作成したり、評価グラフを無効にしないで破棄したりできます。

Python API には、次に示す新しいメソッドも含まれています。MPyMFnDependencyNode クラスを参照してください。

MGraphEditorInfo クラスの更新

次に示す新しいメソッドが MGraphEditorInfo クラスに追加されました。

MProfiler クラスの更新

新しい MPxCacheConfigRuleFilter および MCacheConfigRuleRegistry クラス

新しい MPxCacheConfigRuleFilter クラスを使用すると、バックグラウンド評価キャッシュ用のカスタム環境設定ルール フィルタを定義できます。この新しいクラスには次のメソッドが含まれています。

新しい MCacheConfigRuleRegistry クラスには、MPxCacheConfigRuleFilter カスタム クラスを登録および登録解除するための静的メソッドが含まれています。

新しい nameFilter/NameFilter.cpp サンプルは、カスタム環境設定ルール フィルタの作成方法を示します。

一般およびモデリング

MUIDrawManager クラスの更新

MUIDrawManager の更新には、以下が含まれています。

Python API にも、これらのメソッドは含まれています。pyUiDrawManager.py クラスを参照してください。

Maya devkit の uiDrawManager サンプル プラグインの更新には、新しいメソッドが含まれています。

新しい MCameraMessage クラス

新しい MCameraMessage クラスを使用すると、インタラクティブなカメラ操作のメッセージ用コールバックを登録できます。コールバックを削除するには、MMessage::removeCallback() を使用します。プラグインによって登録されたすべてのコールバックは、アンロードするときに、このプラグインを使用して削除する必要があります。そうしないと、致命的なエラーが発生します。これらの新しいメソッドに伴い、Python API も更新されました。MPyMCameraMessage クラスを参照してください。

新しい cameraMessageCmd/cameraMessageCmd.cpp プラグイン サンプルは、新しいカメラ操作用コールバックのそれぞれの使用方法を示します。

MFnMesh クラスの更新

新しいバージョンの MFnMesh::create() メソッドでは、頂点を double 値で保存して、エッジ接続を許可できるようになりました。

Python API 内の OpenMaya.MFnMesh.create () メソッドも、この実装で更新されました。

MFn クラスの更新

新しい kPinToGeometryUV および kPinToGeometryProx enum が追加されました。

MPolyMessage クラスの更新

ColorSetChanged を変更するときにコールバックを登録する MPolyMessage::addColorSetChangedCallback() メソッドが追加されました。

カラー セット変更メッセージのタイプを指定する、次の新しい列挙が追加されました。

Python API も、これらの変更を含むように更新されました。

MGlobal クラスの更新

MGlobal クラスの更新には、MGlobal::executeTaskOnIdle() メソッドが追加されています。このメソッドは、次のアイドル イベントの発生時に実行されるカスタマイズ済みタスクを実行する場合に使用します。これは、メイン スレッドが実行するタスクをスケジュールするスレッド セーフな方法です。このメソッドは Python では使用できません。

MMessage クラスの更新

MMessage::stopRegisteringCallableScript() メソッドが追加されました。このメソッドは、MMessage オブジェクトの受け渡しを停止する場合に使用します。

M3dView クラスの更新

次のメソッドを使用できます。

その他の API の更新