Maya 2020 devkit の新機能

Maya devkit のバージョン 2020.3 から 2020.4 への更新において、変更されたものはありません。

{{toc}}

Maya 2020.3 devkit の新機能

mimicManipulation コマンドが Maya に追加されました。

noIntermediate (ni)フラグが sets コマンドに追加されました。このフラグは、メンバーを照会する場合や subtractunionintersection、または isIntersecting フラグを使用する場合に、中間オブジェクトを除外します。

moveManip.py サンプルが更新され、C++ バージョンと同様にコールバックをクリーンアップするようになりした。

locatorHelperShape.py サンプルが、バグ修正を反映して更新されました。face_it.next(0) への呼び出しが face_it.next() に変更されました。

MStatus MDGModifier::deleteNode( const MObject & node, bool includeParents ) および MStatus MSelectionList::getPlug ( unsigned int index, bool convertComponents, MPlug &plug ) const が API に追加されました。 このリリースで、Maya devkit は次のように変更されました。

先頭に戻る

Maya 2020.2 devkit の新機能

Mayaの旧バージョンには uic.exercc.exeqmake.exe、およびその他のいくつかの Qt Creator 補助ツールが含まれていました。ただし、今後のバージョンの Maya にはこれらのツールは含まれません。

先頭に戻る

Maya 2020.1 devkit の新機能

MRenderItem に追加された新しいメソッド

C++ API に新しいメソッドが追加されました。void MRenderItem::setPrimitive(MGeometry::Primitive primitive, int stride) はレンダー項目のプリミティブ タイプを設定します。

先頭に戻る

viewRenderOverrideFromFragments/pyGroundReflectionRenderer.py サンプル内の新しい MTypeID

pyGroundReflectionRenderer.py サンプルの RenderOverrideOptions クラスの MTypeID が変更されました。

このサンプルを使用して Maya 2020 以前のバージョンでシーンを作成した場合、バイナリ シーン ファイルは Maya のより新しいバージョンでは開きません。Maya 2020 以前では、シーンを ASCII ファイルとして保存してから、より新しいバージョンの Maya で ASCII シーン ファイルを開く必要があります。

先頭に戻る

Maya 2020 devkit の新機能

新しい最小バージョン

Maya 2020 devkit には、Visual Studio 2017 および Xcode 10.2.1 が必要になりました。

Linux の要件は変更されていません。

先頭に戻る

修正された機能

以前は、isBounded() が実装され、true が返される場合でも、 MPxTransform::boundingBox() は呼び出されませんでした。

この問題は修正されました。iBounded() を実装し、true が返される場合には、MPxTransform::boundingBox() が呼び出されるようになりました。isBounded() が false を返す場合や isBounded() が実装されていない場合は呼び出されません。

先頭に戻る

キャッシュされた再生

以下の新しいクラスが追加され、キャッシュされた再生をサポートするようになりました。

新しいメソッドが追加され、キャッシュされた再生をサポートするようになりました

先頭に戻る

ADSK Standard Surface シェーダ

新しいサーフェス シェーダである ADSK Standard Surface シェーダが Maya に追加されました。

この新しいシェーダをサポートするために、API が変更されました。

MFnStandardSurfaceShader クラスが C++ および Python 1.0 API に追加されました。このクラスによって、standardSurface シェーダ ノードのアトリビュートにアクセスできるようになりました。

MFn.kStandardSurface 型を使用して、MObject が新しい既定のシェーダをサポートするかどうかを決定します。MFn.kStandardSurface は、C++、Python 1.0、Python 2.0 API で使用できます。

ビューポート 2.0 の API では、新しい標準シェーダである k3dStandardSurfaceShader が MStockShader に追加されました。MShaderManager::getStockShader() は、k3dStandardSurfaceShader を最初の引数として使用できます。MShaderInstance::addInputFragmentForMultiParams() で、登録済みの入力フラグメントの複数のパラメータを既存の MShaderInstance に接続できるようになりました。

先頭に戻る

グラフ エディタのオーバーレイ描画

グラフ エディタ上でプリミティブを描画できるようにする新しい機能が追加されました。

C++ および Python API に MPanelCanvas と MPanelCanvasInfo の 2 つの新しいクラスが追加されました。

先頭に戻る

その他の新しい Python クラスとメソッド

次のクラスが Python API 2.0 に追加されました。

次のメソッドが Python API 2.0 に追加されました。

先頭に戻る

その他の新しいクラス

イベント待機リストを管理する MGPventList が追加されました。

ジオメトリと、デフォーマの影響を受けるインデックスのサブセット間でインデックスをマップする MIndexMapper が追加されました。

先頭に戻る

MItGeometry に新しいイテレータ メソッドが追加されました。

サーフェス ジオメトリ上で反復する際に役立つ MItGeometry::positionIndex() が追加されました。

先頭に戻る

選択パスの新しいレンダリング方法

選択パスの更新に役立つ MPxSubSceneOverride::enableUpdateForSelection()MFrameContext::getSelectionInfo() が追加されました。

サブシーンの作成時に Maya が MPxSubSceneOverride::enableUpdateForSelection() を呼び出します。既定で false が返されます。つまり、更新メソッドは通常のレンダリングでのみ呼び出されます。

このメソッドが true を返すようにオーバーライドすると、選択パスにも更新メソッドが呼び出されます。

MFrameContext::getSelectionInfo() は、選択パスで呼び出された場合は選択状態の情報を返し、それ以外の場合は Null ポインタを返します。

apiMeshSubSceneOverride のサンプルが更新され、これらのメソッド両方を使用するようになりました。

先頭に戻る

MFnPlugin::registerEvaluator() の変更点

registerEvaluator() のシグネチャが変更されました

MFnPlugin::registerEvaluator(const MString& evaluatorName, unsigned int  uniquePriority, MCreatorFunction creatorFunction)

から

MFnPlugin::registerEvaluator(const MString& evaluatorName, unsigned int  uniquePriority, MCustomEvaluatorCreatorFunction creatorFunction)

先頭に戻る

MPxNode::configCache() の変更点

configCache() のシグネチャが変更されました

MPxNode::configCache(const MEvaluationNode& evalNode, const MCacheMode& info, MCacheSchema& schema)

から

先頭に戻る

MFnPlugin::registerImageFile() の変更点

MFnPlugin::registerImageFile() のシグネチャが変更されました。ImageFilePriority パラメータが追加されました。

C++ シグネチャが変更されました

MStatus registerImageFile(const MString& imageFormatName, MCreatorFunction creatorFunction,
const MStringArray& imageFileExtensions);

から

MStatus registerImageFile(const MString& imageFormatName, MCreatorFunction creatorFunction,
const MStringArray& imageFileExtensions, ImageFilePriority priority = kImageFilePriorityDefault);

先頭に戻る

Meshintersector の変更点

C++、Python 1.0、Python 2.0 API の create() のシグネチャが変更され、対象のフェースをサポートするようになりました。

C++ シグネチャが変更されました

MStatus create (MObject &meshObject, const MMatrix &matrix=MMatrix::identity)

から

MStatus create( MObject &meshObject, const MMatrix& matrix = MMatrix::identity, const MIntArray* facesOfInterest = nullptr);

詳細については、C++ と Python API のリファレンスを参照してください。

先頭に戻る

MPxGeometryOverride::requireRenderItemUpdate の変更点

MPxGeometryOverride::requireRenderItemUpdate の既定値が false に変更されました。

次の devkit のサンプルは、この変更を反映するように修正されています。

先頭に戻る

廃止されたクラス

MPxImagePlaneOverride は廃止されました。

ビューポート 2.0 で描画するために、MPxImagePlane を MPxImagePlaneOverride と関連付ける必要はなくなりました。

MPxImagePlane のみを使用するように、MPxImagePlaneOverride を使用するすべてのコードを更新する必要があります。

customImagePlane のサンプルが更新され、MPxImagePlaneOverride が使用されなくなりました。

先頭に戻る

追加されたサンプル

simpleSimulationNode は、キャッシュされた再生(Cached Playback)の操作方法を示します。

marqueeTool.py、lassoTool.py、squareScaleManipContext.py は、新しい Python API 2.0 クラスの実行方法を示します。

pyPanelCanvasInfo.py と pyPanelCanvas.py は、グラフ エディタのオーバーレイ描画用の MPanelCanvas と MPanelCanvasInfo クラスの実行方法を示します。

先頭に戻る

更新されたサンプル

先頭に戻る

削除されたサンプル

先頭に戻る