我为Maya python学习做了一个while循环。它工作得很好,但它是多余的,我认为必须有办法把它们缩短得更好或者看起来更好。你们能给我一个关于我该怎么做的建议吗?您认为使用另一个def函数会比这更好吗
def addWalls(self, length, width, floorNum, bboxScale):
# count variables
count = 1
floorCount = 1
# length loop
while count < length:
# Adding floors on wall
while floorCount < floorNum:
cmds.duplicate(instanceLeaf=True)
cmds.xform(relative=True, translation=[0, 0, bboxScale[2]])
floorCount += 1
floorCount = 1
# Adding next wall
cmds.duplicate(instanceLeaf=True)
cmds.xform(relative=True, translation=[0, -bboxScale[1], -bboxScale[2] * (floorNum - 1)])
count += 1
# Final adding floors
if count == length:
while floorCount < floorNum:
cmds.duplicate(instanceLeaf=True)
cmds.xform(relative=True, translation=[0, 0, bboxScale[2]])
floorCount += 1
floorCount = 1
当我运行脚本时,它会创建一个对象网格,如下所示:
因此,如果它所需要做的只是创建一个对象网格,那么您的假设是正确的,那么使用
while
循环是没有意义的。事实上,使用2for
个表示“墙”宽度和高度的循环非常容易:它将使用更短、可读性更强的脚本产生相同的结果。如果你想在那里有更多的灵活性,它只需要简单的调整
相关问题 更多 >
编程相关推荐