アプリケーションおよびプラグインは現在、cmake ツールを使用して構築されています。プラグインまたはアプリケーションを構築する場合は、cmake を 2 回呼び出す必要があります。1 回目は makefile を作成するため、2 回目は makefile を使用してアプリケーションまたはプラグインを構築するためです。
CMake は、https://cmake.org/download/ からダウンロードできます。
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::requiresGeometryUpdate(): 描画準備フェーズ中に、関連する DAG オブジェクトに対して MPxGeometryOverride メソッドを呼び出すかどうかを判別します。MPxGeometryOverride::requiresUpdateRenderItems(): DAG オブジェクトのインスタンスが変更されたときに、MPxGeometryOverride::updateRenderItems() を呼び出す必要があるかどうかを判別するために呼び出されます。MPxGeometryOverride::supportsEvaluationManagerParallelUpdate(): シーンが評価マネージャの並列更新でサポートされているかどうかを判別するために呼び出されます。MPxGeometryOverride::supportsVP2CustomCaching(): 評価中に、VP2 カスタム キャッシュがサポートされているかどうかを判別するために呼び出されます。Python API 内の MPyMPxGeometryOverride クラスにも、これらの新しいメソッドが含まれています。
3D モデル ビューでコンポーネントに対して選択項目の分離(Isolate Select)をアクティブにすると、ビューポート 2.0 は、特にこのビューで分離選択されたコンポーネントの描画を示すために、必要なレンダー項目を作成し、それを維持します。これらのレンダー項目は元の項目のコピーであるため、名前、タイプ、プリミティブ タイプ、描画モードなどのプロパティが同じになります。ただし、シェーディング コンポーネントは、ビューで選択されたこのビューのセットから除外されます。
新しいメソッドが追加されたことにより、MPxGeometryOverride の実装で作成されたカスタム レンダー項目に、分離選択されたコンポーネントを描画するために作成されたコピーを設定できるようになりました。また、ビューで選択されたシェーディング コンポーネントへのアクセスが可能になったため、MPxGeometryOverride を実装してジオメトリを適切に塗り潰せるようになりました。
これらの新しいメソッドは、次のとおりです。
MRenderItem::shadingComponent()MRenderItem::setAllowIsolateSelectCopy()MRenderItem::allowIsolateSelectCopy()MRenderItem::isIsolateSelectCopy()これらの新しいメソッドを使用するように apiMeshShape サンプル プラグインが更新されました。
Python API にも、これらの変更が含まれています。
MColorManagementNodes C++ API クラスが追加され、カラー管理ノードを操作できようになりました。たとえば、1 つまたはすべての入力ノードのカラー管理を行ったり、オブジェクトのカラー管理が可能であるのか、それともカラー管理されているのかを照会したりできます。colorManageAllNodes フラグは colorManagementPrefs MEL/Python コマンドにも追加されています。
以下のメソッドが廃止されました。
theRenderer()backEndString()makeResourceContextCurrent()addDrawProcedure()removeDrawProcedure()insertDrawProcedure()getDrawProcedureCount()getDrawProcedureListNames()findDrawProcedure()restoreCurrent()getBufferSize()getColorBufferPixelFormat()getDepthBufferPixelFormat()dereferenceGeometry()glFunctionTable()geometryOverrideExample1/geometryOverrideExample1.cpp サンプル プラグインが追加されました。geometryOverrideExample2/geometryOverrideExample2.cpp サンプル プラグインが追加されました。tessellatedQuad サンプル プラグインが追加されました。このサンプルは、MPxGeometryOverride 内で kPatch レンダー項目のカスタム選択シェーダを実装する方法を示します。また、複数のレンダー項目間でジオメトリ/インデックス ストリームを共有して、コストのかかる再計算を回避する方法も示します。captureViewRenderCmd/captureViewRenderCmd.cpp devkit のサンプルが更新されて、MRenderer::render() API を使用してビューポート 2.0 で出力トランスフォームを無効にする方法を示すようになりました。footPrintNode_GeometryOverride/footPrintNode_GeometryOverride.cpp サンプル プラグインが更新されて、評価キャッシングと完全に互換性が維持されるようになりました。MFnDependencyNode クラスに新しいメソッドが追加されて、評価グラフで評価するためのスケジュール設定権限を持つノードを設定および管理できるようになりました。評価用の権限を持たないノードを作成したり、評価グラフを無効にしないで破棄したりできます。
Python API には、次に示す新しいメソッドも含まれています。MPyMFnDependencyNode クラスを参照してください。
MFnDependencyNode::setAllowedToAnimate(): 再生または操作中にスケジュールを設定するために評価グラフに追加する権限がノードにあるかどうかを設定します。権限がないノードは、評価グラフに追加できません。MFnDependencyNode::allowedToAnimate(): MFnDependencyNode::setAllowedToAnimate() に基づいて評価用の権限がノードにあるかどうかを指定します。次に示す新しいメソッドが MGraphEditorInfo クラスに追加されました。
MGraphEditorInfo::isStackedViewportMode(): グラフ エディタがスタック ビュー モードであるかどうかを返します。MGraphEditorInfo::isNormalizedViewportMode(): グラフ エディタが正規化したビュー モードであるかどうかを返します。MProfiler::addCategory() および MProfiler::getAllCategories() メソッドの新しいバージョンで、以前に許可されていたパラメータに加えて、categoryInfo パラメータが使用されるようになりました。これらのメソッドの以前のバージョンは廃止されました。MProfiler::getCategoryInfo() メソッドは、プロファイリング カテゴリの説明を返します。新しい MPxCacheConfigRuleFilter クラスを使用すると、バックグラウンド評価キャッシュ用のカスタム環境設定ルール フィルタを定義できます。この新しいクラスには次のメソッドが含まれています。
MPxCacheConfigRuleFilter::preRulesExecution(): 環境設定ルールの適用を開始するときに呼び出されます。MPxCacheConfigRuleFilter::postRulesExecution(): 環境設定ルールの適用を停止するときに呼び出されます。MPxCacheConfigRuleFilter::isMatch(): キャッシュを設定するためのフィルタ ルールが適用されるときに、評価ノードごとに呼び出されます。新しい MCacheConfigRuleRegistry クラスには、MPxCacheConfigRuleFilter カスタム クラスを登録および登録解除するための静的メソッドが含まれています。
新しい nameFilter/NameFilter.cpp サンプルは、カスタム環境設定ルール フィルタの作成方法を示します。
MUIDrawManager の更新には、以下が含まれています。
新しい円柱およびカプセルのプリミティブ拡張メソッド:
MUIDrawManager::cylinder()MUIDrawManager::capsule()新しいパラメータ プリミティブ メソッドを使用して、プリミティブのサブディビジョン数を定義できるようになりました。
MUIDrawManager::sphere()MUIDrawManager::circle()MUIDrawManager::circle2d()MUIDrawManager::arc()MUIDrawManager::arc2d()MUIDrawManager::cone()Python API にも、これらのメソッドは含まれています。pyUiDrawManager.py クラスを参照してください。
Maya devkit の uiDrawManager サンプル プラグインの更新には、新しいメソッドが含まれています。
新しい MCameraMessage クラスを使用すると、インタラクティブなカメラ操作のメッセージ用コールバックを登録できます。コールバックを削除するには、MMessage::removeCallback() を使用します。プラグインによって登録されたすべてのコールバックは、アンロードするときに、このプラグインを使用して削除する必要があります。そうしないと、致命的なエラーが発生します。これらの新しいメソッドに伴い、Python API も更新されました。MPyMCameraMessage クラスを参照してください。
新しい cameraMessageCmd/cameraMessageCmd.cpp プラグイン サンプルは、新しいカメラ操作用コールバックのそれぞれの使用方法を示します。
新しいバージョンの MFnMesh::create() メソッドでは、頂点を double 値で保存して、エッジ接続を許可できるようになりました。
Python API 内の OpenMaya.MFnMesh.create () メソッドも、この実装で更新されました。
新しい kPinToGeometryUV および kPinToGeometryProx enum が追加されました。
ColorSetChanged を変更するときにコールバックを登録する MPolyMessage::addColorSetChangedCallback() メソッドが追加されました。
カラー セット変更メッセージのタイプを指定する、次の新しい列挙が追加されました。
kColorSetAdded: 新しいカラー セットが追加されたときのメッセージ。kColorSetDeleted: カラー セットが削除されたときのメッセージ。kCurrentColorSetChanged: 現在のカラー セットが変更されたときのメッセージ。Python API も、これらの変更を含むように更新されました。
MGlobal クラスの更新には、MGlobal::executeTaskOnIdle() メソッドが追加されています。このメソッドは、次のアイドル イベントの発生時に実行されるカスタマイズ済みタスクを実行する場合に使用します。これは、メイン スレッドが実行するタスクをスケジュールするスレッド セーフな方法です。このメソッドは Python では使用できません。
MMessage::stopRegisteringCallableScript() メソッドが追加されました。このメソッドは、MMessage オブジェクトの受け渡しを停止する場合に使用します。
次のメソッドを使用できます。
beginGL()endGL()setDrawColor(unsigned int, ColorTable)setDrawColor(const MColor& )setDrawColorAndAlpha()colorMask()setColorMask()drawText()readColorBuffer()writeColorBuffer()readDepthMap()readBufferTo2dTexture()setMultipleDrawEnable()multipleDrawPassCount()setMultipleDrawPassCount()beginProjMatrixOverride()endProjMatrixOverride()kAfterCreateReference 列挙が MPyMSceneMessage クラスに追加されました。この列挙は MSceneMessage.addReferenceCallback() のサポートを提供します。MColorPickerUtilities クラスが追加され、サードパーティ プラグインからカラーをグラブするためのカラー ピッカーを作成できるようになりました。MnCloth::setAddCrossLinks() メソッドで、float 値でなく、boolean が使用されるようになりました。