Maya Python 如何用 for 循环中的多个收集点制作曲线

Maya Python How do I make a curve out of multiple collected points in a for loop

我有一个 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))

您可能需要在循环外输入 cmds.curve() :

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

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