Заставьте сценарий MEL ЖДАТЬ, пока предыдущая команда не завершится

Я пытаюсь написать пакетный сценарий Maya MEL, включающий операцию запекания текстуры, за которой следует операция сохранения файла. Все это помещается в цикл for.

Скрипт работает, если выполняется построчно. Но в цикле происходит то, что запекание занимает слишком много времени, поэтому файл, который, как ожидается, будет сгенерирован (testComp.000I.iff, где I — номер кадра), отсутствует к тому времени, когда файл выполняется операция сохранения. Так что скрипт на самом деле не работает.

Как заставить Maya ЖДАТЬ завершения предыдущей команды, прежде чем пытаться выполнить следующую строку?


person bobobobo    schedule 21.02.2013    source источник


Ответы (1)


Сценарий MEL действительно ожидает завершения предыдущей команды.

Единственным исключением из этого правила является случай, когда mel-скрипт генерирует ДРУГУЮ mel-команду, как в случае с MEL-командой Bake, convertLightmapSetup. convertLightmapSetup порождает вызов convertLightmap во время выполнения, и этот вызов не блокируется.

Поэтому вам нужно вызвать convertLightmap напрямую, чтобы ваш скрипт заблокировался.

person bobobobo    schedule 22.02.2013