вторник, 22 ноября 2011 г.

Можно ли поставить в очередь на просчёт несколько разных сцен?

Поставить в очередь на просчет несколько сцен можно. Путей несколько.

Путь 1. Самый простой и логичный. В диалоге Batch Render, после настройки пакетного рендера, нажать кнопочку Export to .bat. Макс создаст в указанном вами каталоге обычный командный файл DOS. Затем просто закрыть диалог. Далее логика элементарная: (а) для каждой сцены делаем настройку пакетного рендера и сохраняем bat-файл; (б) в текстовом редакторе (напр. Notepad) пишем еще один командный файл (т.е. bat-файл), состоящий из команд типа

call "полный_путь\имя_командного_файла_для_проекта_1"
call "полный_путь\имя_командного_файла_для_проекта_2"
...
call "полный_путь\имя_командного_файла_для_проекта_N"

(в) запускаем этот командник на выполнение.

Две тонкости:

1. Либо должен быть прописан путь в корневой каталог Макса, либо в командниках, создаваемых Максом, надо указать путь для вызова 3dsmaxcmd.

2. Командники, создаваемые Максом, лучше сохранять в корневом каталоге проекта, а не в подкаталоге "scenes". Поскольку Макс по умолчанию стремится сохранять картинки в подкаталоге "renderoutput" (относительный путь, считая каталог проекта за корневой). Впрочем возможно это зависит от настроек Макса. В любом случае, перед тяжёлым рендером лучше проверить все автоматически сгенерированные командники.


Путь 2. Для любителей чесать левой рукой за правым ухом. Использование сетевого рендера. В этом случае диалогом Batch render можно и не пользоваться. А можно и пользоваться, если включить флажок Net render. При постановке отдельных просчётов в очередь лучше выключать флажок немедленного выполнения. Это даст возможность спокойно сформировать очередь просчётов. После того, как очередь сформирована, нужно выйти из Макса и запустить очередь на выполнение.

Подробности настройки и работы с сетевым рендером - RTFM.

Примечание. Термин "сетевой рендер" не подразумевает обязательного наличия нескольких компьютеров. При сетевом рендере один и тот же компьютер может быть и клиентом, и сервером. ;)


Путь 3. Рекомендуется людям с тяготением к мазохизму различной степени тяжести. Использование вызовов Макса из bat-файла с применением ключей командной строки для выполнения MaxScript (-U MAXScript, -msx). Подробности см. в хелпе к Максу, топик "Running Scripts from the Command Line" и документацию по MaxScript. В этом случае минимальная задача скрипта: выполнить визуализацию, сохранить картинку и выйти из Макса. (В скрипте можно использовать интерфейс batchRenderMgr. А можно и не использовать.) Остальное - на ваше усмотрение.


Путь 4. Для клинических мазохистов. Чистый MaxScript. В этом случае скрипт должен в цикле [настроить каталог проекта, загрузить сцену, выполнить визуализацию, сохранить результаты, перейти к следующему проекту].


На самом деле, все четыре пути имеют право на существование и применение того или иного способа зависит от постановки задачи.

Возможно, что существуют и другие пути для решения этого вопроса.