четверг, 4 ноября 2010 г.

Как отрендерить большое изображение.



Как всем, наверное, известно, чем больше вы хотите отрендерить изображение, тем больше оперативной памяти вам придется потратить на эту затею. И если вы итак еле укладываетесь в свой лимит оперативной памяти, то рендер картинки даже в 5000 пикселей по ширине – становится практически нереальной задачей. 

А ведь задачи могут стоять и более жесткие, например отрендерить картинку в 10 000 пикселей или 12 000.  А если ваш компьютер совсем слабенький и оперативной памяти 2-4 гигабайта – то даже стандартная задача отрендерить картинку на формат а4 – типичный заказ - может стать невыполнимой.

Что делать в этом случае?


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

Мы пойдем по пути разбиения картинки на более мелкие с последующей сборкой. Как это можно сделать? Есть два способа:

1.    Можно  рендерить картинку в режиме Region или Crop, самостоятельно разбивать картинку на более мелкие, сохранять, потом собирать все это дело в фотошопе. Очень много дурной работы, которую мы все не любим (признаться, я раньше так и делал).

2.    Можно пойти по более простому пути. Настроить сетевой рендер. Да-да, вы не ослышались, и нет ничего в том, что у вас всего один компьютер.

Рассмотрим второй пункт более детально, ведь это только звучит страшно «настроить сетевой рендер». На самом деле в настройке сетевого рендера нет ничего сверхсложного. 

Для реализации нашей затеи нам понадобиться установленный Backburner, который поставляется и ставиться вместе с 3dmax. Если вы изначально этого не сделали, то имеет смысл доставить его. Без него ничего у нас не выйдет.
Итак, у нас все установлено. Для начала настройки необходимо залезть в меню ПУСК -> Программы -> Autodesk -> Backburner и запустить оттуда Manager.


 Если вы раньше еще не запускали его, то у вас автоматически откроется окно настроек, если когда-то открывали, откроется стандартное окно Manager. В любом случае все настройки в этом окне мы оставляем без изменений, по умолчанию. 


Сверните менеджер и продолжим. Чтобы задачу, которую в последствии мы пошлем на сетевой рендер, запустилась у нас же, нам нужно запустить Server из той же папки Backburner.


Обратите внимания, порты, которые были прописаны а настройках менеджера, должны совпадать с портами в настройке самого сервера.
Если у нас все получилось правильно, то в окне сервера мы увидим следующую надпись.


Если вы планируете рендерить сцену на нескольких машинах, соответственно Sever нужно запустить на каждой машине. И каждый должен получить отклик от менеджера.
Подготовительные работы мы закончили. Теперь открываем нашу сцену и перед рендером нужно поставить пару флажков: Save File и Net render.






И смело жмем кнопку рендер. Перед нами появится следующее окно.



Расписывать что тут что не буду, сами догадаетесь. Главное стоит галка Automatic Search.
Дальше, чтобы заставить машину рендерить картинку полосами или страйпами поставим соответствующий флажек Split Scan Lines и надавим кнопку Define.



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

На этом все, жмем ок, затем Connect и Submit. И в скором времени ваша задача запустится, автоматически откроется еще один 3dmax  и пойдут рендериться страйпы.

За ходом задачи можно наблюдать, запустив Monitor(Manager -> Connect)  из той же папки Backburner. Задача, запущенная на рендер страйпами, будет выполнена в два прохода. В первый машина отрендерит все страйпы, во второй – склеит их в целую картинку.
На этом все.


15 комментариев:

  1. хороший, подробный материал.

    Если используется врей, как вариант рендерить в vrimg.

    ОтветитьУдалить
  2. Отличная инструкция,все подробно,добротно.
    для новичка,пойдет.
    =)

    ОтветитьУдалить
  3. Да, просто хотел описать вариант как можно выкрутиться.

    ОтветитьУдалить
  4. А если рендерить на нескольких компах? то в окне Бекбарнер Сервер на других машинах, в "Сервер Нейм" надо писать имя основного компа где сцена запускается или имя той машины на котором мы запустили его?
    И как обстаят дела с текстурами? Или вы этого не пробывали?

    ОтветитьУдалить
  5. а вот еще вопрос, пробовал так сделать на одном компе, все вроде заработало, но когда я отменил рендер и потом запустил сервер и менеджер, для рендера другой сцены, то они начали продолжать рендерить предедущую(отмененную). как очистить их, что бы они не рендерили отмененные?

    ОтветитьУдалить
  6. Нужно воспользоваться Monitor-ом(в buckburner), и так снять задачу с предыдущим рендером.

    ОтветитьУдалить
  7. сработало с монитор-ом, спасибо. а как насчет предыдущего вопроса?

    ОтветитьУдалить
  8. и можно ли как-то заставить blogspot уведомлять меня что ты ответил на комент, или это тут нельзя? наверное это единственная очень неудобная проблема по сравнению с ЖЖ.

    ОтветитьУдалить
  9. в сервер нэйм нужно писать имя или айпишник машины, которую подключили к серверу.(нода)
    А справа айпишник сервера, где запущен менеджер.

    ОтветитьУдалить
  10. Слушай, даже не знаю, но подписка должна быть какая-то, погляжу как время будет.

    ОтветитьУдалить
  11. Большое спасибо! Это лучшая из тех инструкций которые я нашел в сети. Толково! Ни чего лишнего, подробно и человеческим языком. Работает на все 100!
    Ещё раз спасибо!

    ОтветитьУдалить
  12. огромное спасибо!! думала уже не сдам работу в срок! аригато еще раз)

    ОтветитьУдалить
  13. Здравствуйте, все сделала пошагово, нажала submit, выдается ошибка : error submitting job to manager.
    Error saving XML structure. :/ что бы это могло значить?

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

Related Posts with Thumbnails