Много сцен за одну ночь, или немного про «Выжигателя Спин» Batch rendering with BackBurner

Бывало ли так, что вам нужно отрендрить две или несколько разных сцен, да еще по паре кадров из каждой, за одну ночь, или вы, например, уезжаете на выходные и хотите капитально озадачить компьютер? К несчастью, порой бывают такие ситуации. И если в первом случае еще можно прикинуть примерное время визуализации и поставить будильник, дабы посреди ночи, спросонья, поставить считаться следующую сцену (и по закону подлости нажать куда-нибудь не туда, например, «render» вместо «batch render»), то во втором случае этот «способ» не пройдет.

Нет, можно, конечно, запустить два макса, и оставить их воевать друг с другом за ресурсы, порой это работает, но в больших сложных сценах, полных дисплейсмента, глосси и GI такой способ вряд ли 100% поможет, а скорее закончится недостатком памяти и вылетом «проигравшего». А если сцен три? Четыре?

Но выход, как, ни странно, есть. И зовется он – менеджер процессов визуализации. Можно погуглить подобные приложения самому, и выбрать наиболее подходящее, но для начала стоит обратить внимание на входящее в поставку 3DStudio – приложение BackBurner (ВыжигательСпин).


Пара слов о BackBurner

Он в 90% случаев ставится вместе с Максом, если его устанавливать с оригинальных DVD дисков, но если по каким-то причинал приложение не стоит. Достать его можно здесь.

Так или и иначе, найдите это приложение по пути \program files\autodesk\backburner (или start -> programs -> autodesk -> backburner) . Оно состоит из трех основных компонентов

Manager (manager.exe) – он получает и передает задание на сервер для дальнейшего распределения. Но если настоящей сети нет, он прекрасно работает в «сети» из одного компьютера.

Server (server.exe) – дальше идет ересь, я не разобрался и написал какой-то бред. «мозги» сети, именно это приложение собирает все задания и распределяет их по «узлам», так же прекрасно работает и без реальной сетки.

Monitor (monitor.exe) – программа-управляющий. Видит количество работ, их приоритеты. Позволяет удалять задания, менять их приоритеты, настраивать расписание(!) рендера и осуществлять контроль и управление узлами. Не забывает отписываться про ошибки в заданиях и проблемы, возникающие в процессе. В случае «сети» из одной машины он нужен для отмены заданий, корректировки приоритетов и морального удовлетворения от прочтения таблиц с результатами.

Как вы уже поняли, программа ориентирована не на простых горе-тридешников с одним рабочим компьютером, а на целый коллектив, когда днем люди работают, а в нерабочее время машины сами разбираются - как им рендрить указанные задания. Но это еще не значит, что программа бесполезна для простого пользователя.


Запуск программы

Для начала запустим Manager – если он предложит какие-либо настройки, оставьте все по умолчанию и нажмите OK. Потом их можно будет исправить в меню edit -> General settings.

Теперь запустим server, запрос о настройках пока лучше оставить по умолчанию. И если присмотреться к тексту в окнах, вы увидите, что сервер с менеджером уже нашли друг друга.

serv_man.png

Сервер и менеджер успешно нашли друг друга

Отлично, свернем их обоих в трей.

monit_conn.png

Теперь для наглядности запустим Monitor, для корректной работы его нужно подсоединить к нашей связке manager+server. Нажмем на кнопку «connect», и, вуаля, в таблице All Servers мы увидим наш простаивающий компьютер.


Компьютер найден, но пока ничем не загружен… пока не загружен

Рендринг с «Выжигателем»

В принципе, теперь все готово и уже можно рендрить. Но если просто нажать кнопку F9, то от выше описанного шаманства толку не будет. Для того, чтобы задействовать Backburner, нужно не просто рендрить сцену в максе, из неё нужно сделать задание для рендер-мендежера. Другими словами, команду запуска рендера из командной строки. Так что, перед тем, как нажать «рендер», поставьте галочку «Net render» в самом «подвале» свитка «common parameters».

netrender_but.png

Теперь после нажатия на кнопку «render», нас встретит такое окно.

netrender_01.png

1 – нажмите на кнопку «Connect», чтобы подключиться к серверу сети рендер-узлов. В нашем случае это будет ваш компьютер.

netrender_02.png

2 – Эта галка служит для отображения рендер-буфера. Незначительно (хотя зависит от разрешения картинки) ест память, по большому счету, нужно только для любования и самоудовлетворения. Из рендер-буфера сохранить толком ничего не удастся (да-да, нужно обязательно заранее указывать, куда сохранять результаты), а таблицы монитора дадут куда больше информации. Хотя картинка, безусловно, приятнее и нагляднее.

3 – После соединения с сервером (а их гипотетически в сетях может быть и несколько) не спешите нажимать кнопку "Submit" (4). А внимательно поизучайте все предложенные настройки.

Например, галка «include maps» - поможет не потерять текстуры, в случае рендера в настоящей сети.

А параметры split scanlines помогут при рендринге огромных изображений (где-то на форуме 3dcenter.ru лежит подробная инструкция, как пользоваться этой функцией).

Notification – поможет определить, когда отрендрился результат, а кнопка «+» около имени работы, как и аналогичная при сохранении, увеличит индекс на 1, во избежание путаницы.

Под кнопкой advanced скрывается еще больше параметров для организации массового сетевого рендера.

Приоритет пока лучше оставить по умолчанию, чтобы не «наслаждаться» тормозами при загрузке других сцен в очередь визуализации. Потом все равно можно поменять приоритеты через монитор.

Собственно, после нажатия submit, макс можно или закрыть, или продолжать работать, или открыть другую сцену и тоже поставить её в очередь сетевого рендера.

И самое главное – все вышеописанное прекрасно работает и с функцией Batch Render.

netrender_03.png

proccess.png

Пока мы спим - работа кипит


PROFIT!!!

Плюсы вышеописанного очевидны, теперь не надо думать, когда ставить следующую «партию» картинок на рендер. Или как на автомате отрендрить за ночь ночной и дневной вариант интерьера. Все очень просто и автоматизировано. Стоит добавить, что сцена при использовании такого подхода визуализируется из командной строки, а это некоторая экономия памяти, так как интерфейс программы не загружается.

Ложка дегтя

Она есть везде. Теперь вам придется ОБЯЗАТЕЛЬНО указывать, куда именно сохранять результаты. Сохранить из фрейм-буфера теперь ничего не удастся.

При отправке сцены на рендер стоит убедиться в её 100% подготовленности к визуализации – все настройки должны быть подобраны так, чтобы не пересчитывать одно и то же (например, карту фотонов в Mental ray). Что еще хуже, обязательно появятся новые «особенности» и глюки! Так что погоняйте, для начала, тестовые сценки, а не срочную работу.


В качестве эпилога

Все описанное выше - это только мой опыт, его не стоит принимать всецело на веру и правду. Но думаю, пару полезных идей из этой графоманской заметки извлечь можно.

teapot_01_View010000.png

Подопытный чайник

PS. Вообще-то, BackBurner переводится совсем не как «ВыжигательСпин», и даже не как «запекатель». Это название означает – «отложить что-то на задний план». Надо заметить, довольно говорящее название.

3 комментария:

  1. Оч хорошая весчь, опробую как нить)
    кста где пропадаешь? не видно не слышно)

    ОтветитьУдалить
  2. Еще вариант можно попробовать - в batch render'e есть кнопочка "export to bat". делаем несколько батников для разных сцен, объединяем в один файл, и запускаем. Да, и еще - параметр batchRender в батнике удаляем. У меня не запустилось с ним. ну и не забываем в каталог макса кинуть созданный батник, если так не запускается.

    ОтветитьУдалить