修复 MEL FOR 循环
Fixing MEL FOR loop
最近几天我一直在为 if 循环做这个。
基本上,这是一个从高度 6 开始并在 FOR 循环内递减的循环,当高度 (y) 达到 1 时,我希望它开始递增 1。
在循环达到 1 的那一刻,高度增加 1,但随后因为它循环回来,所以下一个形状不会再增加 1。
我知道这有点令人困惑,但我希望能得到一些帮助!
谢谢!
int $f = 6;
for ($e = 24 ; $e <= 31; $e++)
{
if ($f <= 1) {
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f++);
}
else {
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f--);
}
}
如果我对你的问题理解正确,你只想在极端情况下切换递增或递减的方向,而不是在两者之间,i。 e.您需要另一个编码方向的变量(递增或递减)。我在这段代码中调用了 $diff
:
int $f = 6;
int $diff = -1;
for ($e = 24 ; $e <= 31; $e++)
{
if ($f <= 1) {
$diff = 1;
} else if ($f >= 6) {
$diff = -1;
}
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f);
$f = $f + $diff;
}
最近几天我一直在为 if 循环做这个。
基本上,这是一个从高度 6 开始并在 FOR 循环内递减的循环,当高度 (y) 达到 1 时,我希望它开始递增 1。
在循环达到 1 的那一刻,高度增加 1,但随后因为它循环回来,所以下一个形状不会再增加 1。
我知道这有点令人困惑,但我希望能得到一些帮助!
谢谢!
int $f = 6;
for ($e = 24 ; $e <= 31; $e++)
{
if ($f <= 1) {
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f++);
}
else {
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f--);
}
}
如果我对你的问题理解正确,你只想在极端情况下切换递增或递减的方向,而不是在两者之间,i。 e.您需要另一个编码方向的变量(递增或递减)。我在这段代码中调用了 $diff
:
int $f = 6;
int $diff = -1;
for ($e = 24 ; $e <= 31; $e++)
{
if ($f <= 1) {
$diff = 1;
} else if ($f >= 6) {
$diff = -1;
}
string $currentObject = $objects[$e];
select -r $currentObject ;
setAttr ($currentObject+".sy") ($f);
$f = $f + $diff;
}