我已经在python中编写了一些代码,其中将创建圆柱形状。半径值将来自用户输入。但是,我希望从半径计算圆柱的高度。我想出了一个fromula这样做,但我不知道如何把它放在代码中。它一直给我h没有定义错误。
volatile
答案 0 :(得分:0)
看起来你还没定义' h'作为变量。但你设置了' h' polyCylinder()
函数中的参数。您可能想宣布“' h'第一
h = landRadius*0.2/4;
land = cmds.polyCylinder(name='Land', sx=0, sy=0, sz=5, h=h, r=landRadius);
然后在代码中稍后有以下
cmds.polyExtrudeFacet('Land.f[120:139]', 'Land.f[160:179]', 'Land.f[105:106]', 'Land.f[115:116]',
'Land.f[100:101]', 'Land.f[110:111]', 'Land.f[145:146]', 'Land.f[155:156]', 'Land.f[140:141]',
'Land.f[150:151]', kft=True, ty=-h/2);
你有ty=-h/2
,' h'将被定义。
答案 1 :(得分:0)
你有
land = cmds.polyCylinder(name='Land', sx=0, sy=0, sz=5, h=landRadius*0.2/4, r=landRadius);
<snip>
cmds.move(0, -h/2, 0, 'Land');
请注意,第一行中的h=landRadius*0.2/4
将h参数设置为cmds.polyCylinder(我假设它看起来像
def polyCylinder(self,name,sx,sy,sz,h,r):
#stuff
这不会在代码的其余部分设置h。我看起来你想要缩放高度。你可以做到
cmds.move(0, -landRadius*0.2/8, 0, 'Land');
或者可能
cmds.move(0, -land.h/2, 0, 'Land');