位置のリストで定義されたnurbsカーブに沿って、特定のパラメータの世界的な位置を取得したいと考えています。 は現在、私はちょうどこの曲線に沿った位置の配列を取得するためのプラグインの一時的な曲線を作成しています:maya pythonプラグインでテンポラリカーブを作成する
# 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()
ただし、この拡張子はまだありません。あなたは、親としてMFnNurbsCurve.create()にNURBSカーブデータオブジェクトを提供する場合代わりにヌルそれを残す:(事前に
ありがとう!