首页 > 解决方案 > 如何在 for 循环中重复命令?

问题描述

我正在尝试在 z 轴上复制一个球体 10 次,然后复制整个复制的球体 X 和 Y 轴。

我在这样的第一步之后被卡住了。我能否获得一些建议,如何将这种重复复制到 X 和 Y?

import maya.cmds as cmds

cmds.polySphere(r=0.5, sx=10, sy=10)
for i in range(0, 9):
    cmds.duplicate()
    cmds.move(0, 0, 2, r=True)

标签: pythonduplicatesmaya

解决方案


如果您要制作一个球体立方体,则每个轴只需要 3 个循环。为了获得正确的间距,您将球体的半径乘以 2:

import maya.cmds as cmds

count = 4
radius = 0.5

for x in range(count):  # Loop in x axis.
    for y in range(count):  # Loop in y axis.
        for z in range(count):  # Loop in z axis.
            # Create a new sphere.
            transform, psphere = cmds.polySphere(r=radius, sx=10, sy=10)

            # Move it.
            cmds.move(
                x * radius * 2, 
                y * radius * 2,  
                z * radius * 2, 
                transform)

这将是这样的:

球体立方体


推荐阅读