アニメーション API の新機能

GPU オーバーライド API の更新

GPU オーバーライド API が変更されて、GPU デフォーマからジオメトリ行列および逆ジオメトリ行列にアクセスできるようになりました。これらの更新により、デフォーマのカスタム出力ストリームを定義し、これを他のデフォーマの入力として使用できるようになったため、柔軟性も高まりました。

以前のバージョンの API では、入力バッファ(位置)および出力バッファ(位置)がそれぞれ 1 つに制限されていました。API が更新されたことで、入力バッファおよび出力バッファを無制限に使用できるようになりました。たとえば、法線および位置を変形するデフォーマを作成できるようになりました。

デフォメーションに使用されるのは、新しいバッファのみです。これらはビューポート 2.0 では補正されないため、法線バッファを生成してから、このバッファを使用してビューポート 2.0 でレンダリングすることはできません。

この新しい機能は、MGPUDeformerBuffer および MGPUDeformerData の 2 つの新しいクラスによって実装されます。新しいメソッドは、次のとおりです。

  • 以前と異なるパラメータを使用する MPxGPUDeformer::evaluate() の新バージョン。

    この新しいバージョンのメソッドを使用することをお勧めします。古いメソッドは、下位互換性を保つために引き続き使用することができます。どちらか 1 つの評価メソッドのみを実装してください。

  • 入力バッファに基づいて出力バッファを作成する MPxGPUDeformer::createOutputBuffer()

その他の更新

  • MFnAnimCurve::setTangent() および MFnAnimCurve::getTangent() シグネチャに、スクリプトやプラグインに影響する可能性のある変更が含まれています。

    x および y 接線コンポーネントの float への参照を渡していたバリアントは、typedefTangentValue に設定された MFnAnimCurve::TangentValue を使用して double を解決するようになりました。