Наша новая игра 8 сентября в раннем доступе на steam



Визуализация полосами в Backburner 3ds Max

Обновление: добавил подробности по предварительному сохранению Light cache и/или Irradiance map в файл.

У очень многих тридешников часто встает вопрос (а не то, что вы подумали): «Как отрендерить изображение высокого разрешения на компьютере с малым количеством оперативной памяти?»

В этой статье я покажу, как решить эту задачу с помощью сетевой визуализации всего на одном компе (слабеньком) с использование бесплатной утилиты Backburner, которая входит в состав любой версии 3ds Max.

Для начала объясню, что я имею в виду под «огромное изображение» и «изображение высокого разрешения». Под этими терминами я имею в виду изображения с шириной в несколько тысяч пикселей: 2000 px, 4000 px, 6000 px, 10000 px. Такие большие изображения нужны при печати плакатов, постеров и другой рекламно-сувенирной продукции или, в лучшем случае, для Full HD видео.

Теперь о том, что такое «слабый комп». Слабость при визуализации, прежде всего, определяется объемом оперативной памяти. Поскольку, даже при очень слабеньком процессоре с маленькой тактовой частотой (и большом объеме оперативки) финальную картинку вы рано или поздно (сутки, неделя, месяц) получите. А вот если ситуация будет противоположная (мало оперативки и самый навороченный проц), то рендер вовсе может не начаться или упадет (оборвется) на середине через маленький объем ОЗУ.

Другие компоненты компьютеры (видеокарта, материнка, винчестер) роли не играют. Правда, с выходом визуализатора VRay 2 ситуация немножко изменится (к лучшему).

Сейчас редко встретишь стационарные компьютеры с объемом памяти меньше 2 гигабайт. Но вот ноутбуки и нетбуки с таким объемом – это норма. А часто приходится работать именно на последних двоих (мобильность, розтуды её прогресс).

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

При небольшом объеме оперативки можно еще выкрутится за счет увеличение свопа, но это не всегда работает. Да и увеличивать так можно не до бесконечности. Плюс своп работает ЗНАЧИТЕЛЬНО медленнее, чем оперативная память.

Многие 3D-художники и 3D-дизайнеры даже не подозревают, что имея всего одну машину в наличии можно использовать сетевой рендер. И не просто использовать его ради забавы, а решать таким образом очень насущную проблему – визуализировать ОЧЕНЬ большие картинки.

Для начала, если вы работаете с большими картинками, то вы должны использовать 64-битную версию 3ds Max. Поскольку только так вы сможете использовать ВСЮ оперативку, которая у вас есть, а не только 2 Гб (или 3 Гб, если вы прописали в файле boot.ini ключ /3GB), как в случае 32-битной версии.

Теперь о том, как настроить Backburner.

1.

Сначала вы должны его установить (это в том случае, если вы при установке 3ds Max убрали галочку с пункта «Установить Backburner»).

 

2.

Открывайте вашу супер-сцену в 3ds Max.

 

3.

Далее заходим в Пуск --> Autodesk --> Backburner и запускаем Manager.

Настройки Backburner, окно Manager

Если у вас сразу открылось окно Backburner Manager General Properties, то вы оставляете все настройки по умолчанию и жмете OK. Если открылся Backburner Manager, то заходите в меню Edit --> General Settings и проверяете, все ли там у вас стоит по умолчанию. Жмакаем OK и СВОРАЧИВАЕМ окно Менеджера.

Кстати, если вы хотите рендерить вашу картинку на более чем одном компе, то Менеджер нужно запустить только на одном из них.

 

4.

Заходим в Пуск --> Autodesk --> Backburner и запускаем Server.

Настройки Server'а для Backburner'а

Опять же, проверяем все ли настройки стоят по умолчанию и СВОРАЧИВАЕМ Server. Менять здесь также ничего не нужно (разве что можно поставить галочку Automatic Search для автоматического поиска Менеджера).

В случае, когда вам нужно рендерить на более чем одной машине, то Server нужно запускать на каждой из них. А в поле Enter Manager Name or IP Address нужно будет указать имя или айпишник той машины, на которой запущен Manager (либо поставить галочку Automatic Search).

 

5.

Последнее, что нужно сделать при подготовительных работах – это запустить Monitor (Пуск --> Autodesk --> Backburner --> Monitor).

Окно настроек Backburner Monitor

Далее, в окне Backburner Queue Monitor нажимаем на самую верхнюю левую кнопочку Connect и соединяемся с localhost (т.е. с нашим компьютером). Опять же, все настройки по умолчанию.

После успешного соединения вы должны внизу увидеть текущее соединение.

Статус подключения в окне настроек Backburner Monitor

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

 

6.

Открываем наш 3ds Max с уже полностью готовой сценой, вызываем по F10 Render Setup и ставим галочку Net Render.

Настройки визуализации, галочка сетевой рендер

Жмем кнопку Render. Выскакивает окно Network Job Assignment, где и будет происходить самое главное таинство – деление всей картинки на полосы.

Настройки сетевого рендера в Backburner

 

7.

На рисунке выше нужно поставить галочку Split Scan Lines, чтобы разделить всю вашу огромную картинку на горизонтальные полосы, которые будут визуализироваться по очереди. Высоту этих полосочек нужно выбирать в зависимости от того сколько вам нужно сэкономить памяти. Чем тоньше полосочка, тем меньше понадобится памяти для ее визуализации. Сейчас перейдем к настройке полосок. Для этого нажмите кнопочку Define (напротив галочки Split Scan Lines) - откроется окно настройки полосок Strip Setup.

Окно настроек полос, на которые будет делится картинка при визуализации

 

8.

На скриншоте выше у меня, почему-то, не влезло полностью разрешение 8000 x 6000 pixels (видно только 8000 x). Но количество полосок (Number of Strips) и их высоту (Strip Height) Backburner рассчитывает верно. Эти два параметра взаимосвязаны. Т.е. если я укажу высоту 100 пикселей, то количество полосок автоматически изменится на 60.

Также вы можете настроить такой параметр как перекрытие полосок (Overlap). Т.е. на сколько пикселей одна полоска будет налазить на следующую. Это пригодится, если у вас по каким-то причинам заметен стык между полосками, то тогда в Photoshop’е можно наложить эти полоски друг на друга с плавным переходом по прозрачности.

Высоту полосок можно задавать в пикселях и в процентах.

Еще я снимаю галочку Delete Temporary Images Upon Completion (Удалять полоски по окончанию рендера). Мало ли, может пригодятся.

 

9.

После настройки полосок нажимаем кнопку Connect (для соединения с Manager’ом) и после соединения жмем кнопку Submit (эти кнопки находятся в окне Network Job Assignment). Все!

Далее вы можете работать над другим проектом или отдыхать, а Backburner сам отрендерит все полоски и в конце склеит их в одну огромную картинку.

Именно эти две задачи висят сейчас у вас в очереди в окне Backburner Queue Monitor (если вы уже нажали Submit).

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

Таким образом, даже имея в своем распоряжении один стационарный компьютер + один ноутбук + один нетбук (как в моем случае) можно в три раза сократить время визуализации, если настроить сетевой рендер. Причем малый объем оперативной памяти тут не помеха. А вот три дополнительных ядра по 1.6 ГГц не помешают (на ноуте двухъядерный процессор и на нетбуке одноядерный).

Уточнение! Если вы используете Mental Ray, то нужно предварительно просчитать Final Gather и Photon maps (для каустики и глобалки). То же самое касается Vray – нужно предварительно просчитать Light cache и/или Irradiance map.

Предварительное сохранение Light cache и/или Irradiance map в файл

Для предварительного просчёта достаточно сохранить Light cache и/или Irradiance map в файл. Это можно сделать после чернового просчёта, когда финальная картинка НЕ считается. Для этого поставьте галочку Don't render final image на закладке V-Ray >> свиток V-Ray::Global switches.

Сохранить лайт кеш или ирмапу можно у них в настройках (на закладке Indirect illumination) с помощью кнопки Save to file и Save соответственно.

Потом, когда уже будете рендерить финальное изображение, режим (Mode) нужно будет сменить на From file и указать тот файл, куда вы сохранились на предыдущем шаге.

Это нужно сделать, чтобы для ВСЕХ полосок подтягивались одинаковы эти файлы. Иначе будет виден шов при стыке разных полосок, поскольку каждый раз при просчете новой полоски будут заново просчитываться и эти карты.

Какие есть вопросы?



Подпишитесь на обновление блога (вот 3 причины для этого).
Введите ваш e-mail:


P.S. Работа на картинке в начале статьи называется Barrio Guy (Гопник) сделана 3ds Max, Photoshop, VRay и ZBrush автором Jose Alves da Silva из Португалии. Обсуждение и сам Гопник в полный рост, как всегда, на forums.cgsociety.org.




Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

Введите ваш e-mail (используется только для отправления обновлений блога):

комментариев 57 к статье “Как отрендерить огромное изображение на слабом компе”

  1. хех спасибо даже не догадывался о таком методе рендера.

  2. да ну. лучше композинг сделать в авторе. а рендерить в максе частями

  3. Иллюстрация отличная! Так держать.

  4. Вижу идея с «превью» работ приживается. 🙂
    Можно ещё кадрировать, блюрить, обесцвечивать. Это правда будет интересно 🙂
    Если оригинал — поляна с яркими цветами — можно даже сделать vertical flip + blur. Будет фишка блога — креативные превью 😉

  5. оч полезно)))
    понять бы как так ролики ещё рендерить)

    • Так а что тут понимать? Все то же самое, только в настройках Render Setup поставить диапазон кадров для визуализации.

      • сегодня затестим

      • А если ролик динамический, например шарики летают на плоскостью Light cache и Irradiance map не просчитаешь в отдельный файл.

  6. Класс ! Но есть вопрос: Если я не указал что бы рендерить в какой-то файл, то где я получу результат ? И как система оповещает про завершения рендера ?

    • Аааа… Всё… Пардон… Вопрос снят с повестки дня. 🙂 Как говорится «пока не попробуешь — не поймёшь»

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

  7. Огромное спасибо за статью.

    Но во время рендера вылезла такая проблемка, мож кто знает как решить?

    Запускаю рендер, всё гуд, соединяется с сервером, задачу принимает, пытается рендерить и выдаёт ошибку:

    ERR TaskEror: [V-ray] Error opening HDRI file «D:3dsmax6mapsHDRIkitchen_probe.hdr» (error is 34″)
    ERR [V-ray] Error opening HDRI file «D:3dsmax6mapsHDRIkitchen_probe.hdr» (error is 34″)

    Понимаю, что врей не грузится или файл какой найти не могёт, но не понимаю откуда взялся такой адрес. Макс стоит на диске С, на D разве что текстуры и проект лежат.
    И не могу понять что это за файл такой он ищет…

    Помогите кто решить проблемку.

    PS
    windows 7 x64
    3ds max 2009 x64
    v-ray 1.5 sp4

    • Ответ очевиден, хотя могу и ошибиться в терминологии. Речь идет о файле kitchen_probe.hdr. Это не ТЕКСТУРА, а карта HDRI, используемая в проекте, скорее всего как КАРТА ОКРУЖЕНИЯ, а может быть и не используемая, но указанная где-то c адресом «D:\3dsmax6\maps\HDRI\kitchen_probe.hdr». Указана она может быть в трех местах:
      — Render Setup (клавиша F10), в разделе Environment
      — в Environment and Effects (клавиша 8 ) в качестве Environment map
      — как составная или основная часть какого-то из материалов, искать в Material Editor (клавиша M).

      Есть возможность, что проблема исчезнет, если вместо абсолютных ссылок использовать в путях ссылки относительные — слеши надо ставить. Подроблнее тут: http://www.cggurus.net/questions/90/

      P.S.
      Все сказанное выше не претендует на абсолютную истину. Расценивать только как мысль типа «а может быть!..» 😉

  8. классная статья, а главное нужная, большое спасибо

  9. Это хорошо конечно,давно пытался решить этим способом свои проблемы,но если разрезать изо,то постоянные баги вылазят,видно что итоговый рендер полосками идет,и на вирее и на ментале.Пользуюсь бекбанерами только для того что б отрендерить разные сцены в мое отсутствие,удобно,создал 10 задач,и можно пару дней и не смотреть в сторону компа )) но даже при этом гамму 2.2 херит. Может я чето не так делаю конечно…

  10. Было бы не лишним тогда уточнить каким образом предварительно просчитать Light cache и/или Irradiance map.
    А еще есть одна фишка в Backburner. У меня один раз включилась функция автозавершения прохода после прохождения определенного времени. Ну грубо говоря, если полоска не успела просчитаться за 300 минут, то он обрубает рендер и начинает считать ее заново. Даже не могу придумать для чего это нужно )))

  11. Возможен ли сетевой рендер, если на одной машине стоит 32-х битная винда, а на другой (главной) — 64-х битная? При прочих равных условиях?

    • Да, возможен.
      Мне вот интересно, попробовать проверить то, что вы спросили занимает меньше времени, чем написание этого вопроса. Неужели вы настолько ленивы? 🙂

      • Спасибо за ответ! Я и правда очень ленив, но в данном случае спросить было быстрее. Значительно быстрее 🙂

  12. 1.Почему-то при сложной и тяжолой сцене Mental рендерит только первую полоску и на этом все замирает, хотя Backburner пишет что сервер занят и процесс идет…
    2. И при использовании рендера полосами Backburner, и при обычном рендере фреймбуфером использование оперативки подскакивает свыше 4 гигов, в чем тогда разница и выгода, если оперативки столько же уходит…причем фреймбуер хотябы отренднрит все и не зависнет на одной полоске.

    • А сколько у вас вообще оперативки?
      Возможно для сцены требуется 9 гигов. Но у вас только 6. И вы видите, что и полосами и НЕ полосами у вас занято больше 4, но на самом деле для обычной визуализации нужно 9, а для полосами — 6.

      А если сцена настолько сложная — используйте прокси и др. оптимизаторы отжирания оперативки.

      • Прокси есть(вся сцена сплошные прокси деревья)
        Оперативки-8
        ест4!+копейки…
        2 гига как минимум свободны!
        Без Backburnerа рендер получается! Я не говорил что не могу отрендерить сцену))…
        Я пытаюсь понять зачем мне нужен Backburner!))и в чем его приемущество?!
        Если не использовать один комп.

  13. А как включить Net Render в Maya?

  14. Спасибо за статью. А как в ментале final gather сохранить отдельно?

  15. Уточнение! Если вы используете Vray – нужно предварительно просчитать Light cache и/или Irradiance map. По уроку , Vray-fur , Романа Самаковского .. понятно как предварительно просчитывать Лайт кеш и Ир мапу.. Только там считаешь без фура.. И потом при финальном просчете .добавляем..Как просчитать предварительно , огромную сцену с деревьями ,травой.. которая и является большой проблемой . Или я ,что то не так понял..?!

  16. Я просто разбиваю «кадрик» на части, в зависимости от предполагаемого веса, и делаю рендер каждой части. А если сохранить каждую часть отдельным файлом, то можно поставить на очередь, тогда ещё проще. Собирать кадрик приходится врукопашную, но зато не надо париться с предварительным просчетом Final Gather и Photon maps, в которых я ни «бе» ни «ме».

  17. Благодарю. Инфа пригодилась, все работает.

  18. Что делать, если manager.exe и server.exe не реагируют на мои действия (жму Пуск — Autodesk – Backburner — Manager или Server)? Из папки Backburner работает только monitor.exe. Программа 3ds Max 2012х32, два раза переустанавливала, не помогло. При попытке удалить Backburner через Панель управления появляются сообщения:
    Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.
    А затем это — “при установке произошла неисправимая ошибка”.
    Скачала с сайта Autodesk отдельно backburner 2012.1.0. При установке он пишет, что уже установлен на компьютере, не переустанавливается и пишет ошибку
    Error 1316. A network error occurred while attempting to read from the file:
    C:/Program Files/Autodesk/Backburner/backburner.msi
    Подскажите, что можно сделать?

  19. Я в инете находил парочку сайтов, которые представляют свои услуги в виде Рендер-фермы — но это платно =(.
    Но это будет лучше, чем сидеть и ждать 110 дней, когда закончится визуализация твоего «Реалистично-Корокометражного ролика» !

    И я хотел узнать, как пользоватся Рендер — фермой?

    Чтобы использовать «Рендер-ферму» — это надо через Menager?

    Или достаточно написать, выделенный тебе, IP-адрес фермы в специальное поле?

  20. P.S Представляю, если Коротко-метражка, например, будет рендерится 110 дней, то с использованием Рендер-Фермы уйдет всего два дня! (наверно) . Причем ты можешь за это время заниматся своими делами, а то и вовсе начать разрабатывать новый проект! 😀

    А за использование этой услуги, может, вообще прийдется заплатить малость: 1 час — 29 руб. . А так всего два дня — не так уж и много 🙂

  21. Вообщем,
    1) удалила я backburner 2012, который встроенный в 3ds Max 2012 с помощью Revo Uninstaller.
    2) установила backburne3.0.2 для max 2008
    3) теперь работают Manager и Monitor
    4) по-прежнему не работает Server
    5) Юрий!, как оживить Server?
    6) Решение такой проблемы существует вообще? Напишите хотя бы: да или нет.

    • Да, решение есть.
      Во-первых, не нужно было удалять новую и ставить старую версию. Нужно было наоборот делать;)
      Во-вторых, вы сервер на другом компе запускаете? Там стоит точно такой же 3ds Max и Backburner?

      • В наличии единственный комп, и на нем не запускается Server, Manager включаетя по своему усмотрению, т.е. через раз.
        Вычитала на RENDER.RU:
        ///нашел один глюк в этом всём: если в компе нет сетевой карты (и по этой причине нет ее МАС адреса), то могут возникнуть проблемы с запуском Сервера и Менеджера///
        Где можно посмотреть, есть у меня сетевая карта или нет?

        • Сетевая карта на месте, в чем же дело?

        • Я не пойму зачем вам вообще Server? Вы текст перед комментариями (статью) читали?

          • Статью читала, просто до сего момента бакбанером не пользовалась.
            Отчет (вдруг кому пригодится):
            После переустановки 3ds Max 2012 заработали все трое: Server, Manager и Monitor, видимо помогла чистка Revo Uninstaller.
            Странно, но Manager запускается только если подключен интернет.
            Отрендерить ничего не удалось, везде рисуются ошибки, то менеджер не найден, то требуемый адрес неверен и т.п.
            !!!Вы не хотите, случайно, чуть-чуть дописать статью, для одаренных, как рендерить бакбанером на одном компьютере, что запускать и какие IP адреса куда вписывать?

      • Можно еще один маленький вопросик:
        У меня двухъядерный процессор, 4Gb оперативной памяти (2Gbх2), Windows XP Home SP3 32-bit. Я правильно понимаю, что Windowsх32 в случае двух ядер использует при визуализации все 4Gb и в boot.ini прописывать /3GB не нужно?

      • В окне ”Сведения о системе” написано:
        Полный объем физической памяти 4 096,00 МБ
        Доступно физической памяти 2,06 ГБ
        Всего виртуальной памяти 2,00 ГБ
        Доступно виртуальной памяти 1,96 ГБ
        Файл подкачки 5,08 ГБ

  22. Здравствуйте,у меня вот такая проблема: стоит 3d max Design 2012. При запуске bacburner manager пишется ошибка: ERR: invalid XML structure
    Как решить такую проблему,очень буду признательна,если поможете.

    Использовала backburner в 3d max 2009-там все было без проблем

    Help!!!

    • Надо имя сохраняемого фала писать на английском языке или цифрами

  23. Доброе время суток
    Спасибо за статью, очень пригодилось, как раз комп не тянул сложную сцену.
    Но один вопрос остался. Чтобы не было полос, по уму достаточно поставить просчитать в файл один световой кэш, или надо просчитывать И ирр мапу?
    У меня стоит на первичную обработку лайт, на вторичную — ирр мапа (другими словами задействованы и те, и другие)

    И что делать, в случае, если железка начинает ругаться уже на просчете светового кэша?

    Очень надеюсь на ответ

  24. Помогите пожалуйста. Делаю все как написано. Просмотрел множество сайтов уже, делал, там все точно также. Но у меня вылазит ошибка:

    В Monitor — Server not responding

    В server — Error opening job definition file

    В чем может быть ошибка?

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

    • Да, делал все как написано. Выскакивает после того как нажимаю Submit.

  26. Уважаемые товарищи по цеху. Может кто сталкивался с Backburner 2012 + Maya 2012 x64, все это на одной машине с Win 7 x64. Отзовитесь пожалуйста!

    • Прошу прощения =)) Главный вопрос. Как это настроить? В мониторе барнера ничего не видно, а в Мае что делать, не пойму.

  27. Извините после того как нажал кнопку Connect (для соединения с Manager’ом) появляется вот:
    Access Denied

  28. А каким образом сохранить Final Gather Map и GI Photon Map, если при их предварительной генерации в Render Setup (до рендеринга дело даже и близко не доходит) на большой сцене Макс как вылетал, так и вылетает, даже не набрав 10%? Я так понимаю, что сначала надо их сгенерировать, перевести в режим ReadOnly, и потом на их основании производить рендер бэкбёрнером? Получается что выход один — в настройках высоты строк бэкбёрнера ставить самый-самый минимум пикселей, чтобы «перекосы» были не очень заметны… 🙁

  29. присоединяюсь к комментарию — что делать, если не получается згенерировать карты GI, рендер просто вылетает с ошибкой…

  30. Хотелось бы ещё добавить о глюках при работе с бакбёрнером 🙂 Может кому и пригодится. Если он настойчиво выдаёт ошибку соединения с сервером — попробуйте ФИЗИЧЕСКИ отсоединить провода от обычного домашнего интернет-модема (или же выключить его питание, то же самое касается и WiFi-модемов). Не знаю в чём тут прикол (я не специалист в этом), но при ПОЛНОМ отсутствии внешних подключений, как через стационарную, так и через вайфай-сеть, бакбёрнер ни разу не выдал ошибку соединения со своим «сервером» и рендер прошёл на ура. Может у кого тоже была загвоздка именно по этой причине

  31. Зачем это все?! Достаточно просто отключить «memory frame buffer» — «огромная» картинка пойдет сразу на диск минуя оперативку.

  32. Может кто знает, как насчет GPU v-ray RT. Я на двух 1080ti рендерю. (v-ray 3.6). В RT нельзя методом AeRo решить проблему, а когда рендеришь сплитами просчет на CPU идет, хотя я упорно высталяю CUDA. В пресете почему-то не сохраняется engine type и постоянно переключается на CPU, может это связано? Max 2015

Извините, в данный момент комметарии закрыты.

© 2008 - 2018 3dyuriki.com
Для связи со мной 3dyuriki@gmail.com