Maya Python如何在for循环中从多个收集的点中创建曲线

时间:2017-01-04 12:59:15

标签: python maya curve bezier

我有一个forloop来获取定位器列表中的所有位置,我需要这些信息来创建所有点的曲线。但是当我把cmds.curve放在forloop中时它创建了几条曲线,当我把它放在它之外时,列表中的最后一个位置只有一条曲线。 有人有解决方案吗?

    for locator in state:

        print("\t", locator)
        translate_x_value = cmds.getAttr("%s.translateX" % locator)
        translate_y_value = cmds.getAttr("%s.translateY" % locator)
        translate_z_value = cmds.getAttr("%s.translateZ" % locator)


        cmds.curve(p=translate_x_value,translate_y_value,translate_z_value))

1 个答案:

答案 0 :(得分:3)

您可能需要在循环外提供cmds.curve():

locatorOrder = ['loc1', 'loc2'...etc]
positionOrder = [cmds.pointPosition(i) for i in locatorOrder]

cmds.curve(p=positionOrder) # draw the curve between locators