好早之前youtube上看到的,突然想起来,觉得好玩,自己改了改,分享下。前两个参数比较好理解,一个是高度,一个是半径。第三个参数是角度,角度越小,盘旋的圈数越少,坡度越陡,角度越大,盘旋的圈数越多,坡度越平缓。角度取值尽量不要超过10,这样效果会明显一点。
代码如下
import maya.cmds as mc
def polyCubeToTower(height,radius,angle):
all_objs=[]
for num in range(height):
cube=mc.polyCube()
all_objs.append(cube[0])
size = radius*(1-float(num)/height)
mc.scale(size,10,5,cube[0])
mc.move(size/2.0, num*2, 0, cube[0])
mc.rotate(0,num*angle,0,cube[0],pivot=[0,0,0])
for num in range(height):
cube=mc.polyCube()
all_objs.append(cube[0])
size = radius*(1-float(num)/height)
mc.scale(size,10,5,cube[0])
mc.move(size/2.0+size, num*2, 0, cube[0])
mc.rotate(0,num*angle*2,0,cube[0],pivot=[0,0,0])
mc.group(all_objs)
polyCubeToTower(500,100,7)
最后,感谢youtube上朋友分享!