【发布时间】:2016-08-12 18:55:44
【问题描述】:
我想沿着由位置列表定义的 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()
但是,我们还没有这个扩展。 :(
提前致谢!
【问题讨论】: