def conform_curve(source, destination):
point_on_curve = cmds.createNode('nearestPointOnCurve')
cmds.connectAttr(destination + '.worldSpace', point_on_curve + '.inputCurve')
for i, point in enumerate(cmds.getAttr(source + '.cv[*]')):
cmds.setAttr(point_on_curve + '.inPosition', point[0], point[1], point[2])
result_point = cmds.getAttr(point_on_curve + '.result.position')[0]
cmds.setAttr('{}.cv[{}]'.format(source, i), result_point[0], result_point[1], result_point[2])
cmds.delete(point_on_curve)
评论列表
文章目录