maya : NurbsCurveのこの辺のParametric Length値を知りたい

あらかじめcurve1とlocator1を用意してから実行。
次のコードは、locator1からcurve1に一番近いポイントのParametric Length値を取得します。



import pymel.core as pm
import maya.api.OpenMaya as om

lct = pm.PyNode("locator1")
pt = om.MPoint(lct.getTranslation())

sel = om.MSelectionList()
sel.add("curve1")
path = sel.getDagPath(0)
crv = om.MFnNurbsCurve(path)

p,pl = crv.closestPoint(pt)

print pl

Attach to Motion Pathで、Parametric Lengthにチェックを入れて出てきた値を入れるとそこにコンストできます。
しかし、コードが長いなぁ…。

コメント