0

位置のリストで定義された NURBS カーブに沿って、特定のパラメータのワールド位置を取得したいと考えています。現在、この曲線に沿って位置の配列を取得するためだけに、プラグインで一時的な曲線を作成しています:

    # targetXforms = array of MPoints
    # knots = knots list
    # uValue = array of floats (0->1)
    #

    curveFn = om.MFnNurbsCurve()
    curveFn.create(targetXforms, knots, 3, om.MFnNurbsCurve.kOpen, False, False, nullObj)
    for i in range (numRefXforms):
        point = curveFn.getPointAtParam (uValue[i])
        print point

これを行うためのより良い方法はありますか (つまり、曲線を作成するオーバーヘッドがありません)? おそらくいくつかの数学ライブラリ?そうでない場合は、このカーブを削除して、プラグインが評価されるたびにカーブが作成されないようにする方法を教えてください (MDGModifier は少しクラッシュしているようです)。

また、特定のパラメータ値の曲線に沿って長さを見つける方法はありますか。Maya 2016 Extension 2 には、このための関数があります: MFnNurbsCurve::findLengthFromParam()

ただし、この拡張機能はまだありません。:(

前もって感謝します!

4

1 に答える 1