有没有办法在MEL(Maya嵌入式语言)中创建可以中断或取消的循环?
答案 0 :(得分:1)
您应该使用进度条。直接来自手册的例子:
{
global string $gMainProgressBar; // This is defined on maya startup
progressBar -edit
-beginProgress
-isInterruptable true
-status "Example Calculation ..."
-maxValue 5000
$gMainProgressBar;
int $i;
for($i=0; $i < 5000; $i++) {
if(`progressBar -query -isCancelled $gMainProgressBar`)
break;
progressBar -edit
-step 1 $gMainProgressBar;
}
progressBar -edit
-endProgress
$gMainProgressBar;
}
Maya现在显示进度并允许您使用 esc 来中断。
答案 1 :(得分:0)
您可以使用break
指令。例如:
string $joints[] = {"joint1","joint2","joint3","joint4","joint5","joint6"};
for ($i = 0; $i < size($joints); $i++) {
if ($i > 3){
break;
}
print $joints[$i];
}
只打印前4个元素:joint1 joint2 joint3 joint4