def createJointsAlongCurve(crv="", numJnts=3, *args):
jnts = []
crvShp = cmds.listRelatives(crv, s=True)[0]
poc = cmds.shadingNode("pointOnCurveInfo", asUtility=True, name="tmpPOCInfo")
cmds.connectAttr("{}.local".format(crvShp), "{}.inputCurve".format(poc))
cmds.setAttr("{}.turnOnPercentage".format(poc), 1)
lineLen = cmds.arclen(crv)
dist = float(numJnts)/lineLen
for x in range(0, numJnts+1):
perc = 1.0/numJnts
cmds.setAttr("{}.parameter".format(poc),x*perc)
print x*perc
pos = cmds.getAttr("{}.position".format(poc))[0]
jnt = cmds.joint(p=pos)
jnts.append(jnt)
# add one joint at the end to orient
return(jnts)
评论列表
文章目录