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

关于python - Maya Python如何在for循环中从多个收集的点中绘制曲线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41464455/

10-12 16:37