1

有没有办法制作可以在 MEL(Maya 嵌入式语言)中中断或取消的循环?

4

2 回答 2

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打断。

于 2012-06-10T16:57:02.503 回答
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 个元素:joint1joint2joint3join4

于 2012-06-04T17:42:56.543 回答