Всем привет! Предлагаем вашему вниманию урок от студии Ravelin3D, в котором даны ценные советы и описаны основные принципы работы с большими сценами в 3ds Max.

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Введение

Судя по статистическим данным с нашего сайта, чаще всего мы делаем визуализацию крупных жилых комплексов и коттеджных поселков. Порой эти проекты состоят из нескольких десятков многоэтажных блоков, и помимо них 3D-сцены содержат много зелени, автомобилей, людей и прочих объектов окружения. Чаще всего наши клиенты не имеют четкого представления о конечном продукте, поэтому мы вынуждены работать в условиях многочисленных корректировок и изменений. Мы предпочитаем работать полностью в 3D и избегаем комбинирования с двухмерным программным обеспечением, так как гораздо проще откорректировать что-то в 3D, чем постоянно вносить изменения при пост-обработке.

Очень часто нам задают вопросы: «Как вы рендерите такие огромные сцены? Как ваш 3ds max справляется с ними? А может быть у вас нереально крутое оборудование?».

Наш ответ: «Нет, у нас самое обычное оборудование. Но мы работаем, основываясь на двух очень важных принципах:

• Мы не работаем над элементами в сцене, которые не попадают в поле зрения камеры
• Мы ответственно подходим к организации проекта и рабочего процесса»

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

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Конфигурация программного обеспечения

Начнем с типовой конфигурации компьютеров, которые используются в студии Ravelin3D:

• Intel i7 3770k
• 32 GB оперативной памяти
• SSD диск
• Видеокарта GTX 650 2 GB
• Windows x64 (т.к. она позволяет использовать более 3 GB оперативной памяти).

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

Контроль за количеством полигонов

nr_polycount_946

Количество полигонов в главной сцене редко превышает 16 миллионов.

• Мы не моделируем незначительные детали, мы не делаем bevel объектам, которые расположены на заднем плане.
• В среднем, один высотный жилой дом у нас состоит из 200 000 полигонов.
• Мы используем сглаживание «Turbosmooth» или «MeshSmooth» лишь тогда, когда это действительно необходимо.
• Если объект меньше 20 см и расположен на заднем плане, то мы его не моделируем.

Если вам необходимо быстро отсортировать объекты по количеству полигонов, добавьте колонку «Faces» в окошке «Select by name» и рассортируйте все объекты по количеству полигонов.

nr_faces_942

Использование VrayProxy

Мы используем «VrayProxy» для всех высокополигональных объектов. Это очень важно, особенно в отношении деревьев, кустарников и автомобилей, так как они состоят из множества полигонов и, как правило, часто повторяются в сцене. Перед импортом в сцену, необходимо сконвертировать такие объекты в «VrayProxy». Можно конечно сделать конвертацию прямо в главной сцене, но это приведет к ошибкам. Чтобы снизить нагрузку на видеокарту, после размещения объектов «VrayProxy» в сцену, включите режим отображения «Bounding Box». Это особенно актуально, если в сцене очень много объектов «VrayProxy».

nr_bounding_box_0937

Совет: Скопируйте через “Instance” каждый уникальный объект “VrayProxy” (например, любое дерево определенного вида), переместите их в определенное место за пределы рабочей области. Ограничьте эту область прямоугольником. Таким образом, вы не потеряете маленькие объекты “VrayProxy” (цветочки или кустики). Этот набор может быть легко экспортированы в другие сцены. Применяя данный подход, вы будете иметь готовые наборы часто используемых объектов «VRayProxy» под рукой. Вам не придется делать их с нуля.

Множественное копирование

Если вам необходимо скопировать объекты, которые не будут в дальнейшем редактироваться, копируйте их как “Instance”. Если имеется более 20 повторяющихся объектов (в основном зелень), то используйте “MultiScatter”. Сделайте различные настройки копируемых элементов для “MultiScatter” и используйте их в дальнейшем.

Слева - сцена, справа - сгруппированные наборы объектов proxy (нажмите на изображение, чтобы увеличить)

Слева — сцена, справа — сгруппированные наборы объектов proxy (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Большая сцена (нажмите на изображение, чтобы увеличить)

Использование Xref (нажмите пункт меню File > References > Xref scene)

Для оптимизации рабочего процесса мы используем “Xref”. Это особенно важно, когда над одним проектом работают несколько специалистов. С «Xref» вы можете построить сцену из нескольких частей. Каждый сотрудник может работать над своей частью независимо от остальной команды. В ходе этого процесса главная сцена будет постоянно обновляться.

nr_folders_943

Например: главная сцена проекта — “scene.max”, туда входят генплан, зелень, машины и прочие объекты. Здания из этого проекта расположены в отдельных сценах “house1.max”, “house2.max”, и т.д.

Здания “house1” и “house2” подгружаются в сцену “scene.max” из отдельных файлов. Их нельзя отредактировать в сцене “scene.max”, но они отрендерятся вместе с ней. Быстро и удобно.

Файлы Xref – незаменимая вещь во время командной работы (нажмите, чтобы увеличить)

Файлы Xref – незаменимая вещь во время командной работы (нажмите, чтобы увеличить)

nr_xref_off_963

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

Использование слоев

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

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

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

Оптимизация материалов и вьюпорта

Мы используем текстуры только в формате JPEG. И настоятельно рекомендуем не использовать текстуры в форматах TIFF и PNG, так как они потребляют много памяти и значительно снижают общую производительность.

Используйте только виреевские материалы. Прежде чем импортировать модель со стандартными материалами в сцену, обработайте ее плагином “Vray Mtl Converter”. Он автоматически конвертирует все материалы в формат “Vray” и предотвращает возникновение всевозможных ошибок и недочетов отображения. Мы рекомендуем время от времени проверять большие сцены с помощью этого плагина. Потому что из-за стандартных материалов во время рендеринга сцена может вылетать. Не делайте несколько копий одного материала в сцене без крайней необходимости.

К примеру, если один материал является частью “MultiSub” материала, вместо обычного копирования, используйте копирование через “Instance”. Оптимизируйте количество “subdivs” в параметрах материала. Не задирайте их слишком высоко, при необходимости укажите стандартное количество “subdivs” – 8-20. Иногда, чтобы избежать всевозможных помех в отражающих объектах с параметром “glossy”, число “subdivs” может быть увеличено, например, до 30.

Оптимизированный вьюпорт – это формула быстрой и эффективной работы. Для удобства при работе с большими сценами во вьюпорте, придерживайтесь следующих правил:

• Во время сборки сцены переключите вьюпорт в режим “Nitrous”.
• Если вы не работаете с UVW Map, то скройте все текстуры во вкладке Display > Shaded: object Color.

nr_shaded_961

Для повышения производительности вьюпорта, можно все высокополигональные объекты перевести в режим отображения “Box”.

nr_display_as_box_941

Все объекты “VrayProxy” и “MultiScatter” находятся за пределами рабочей зоны и подписаны (нажмите, чтобы увеличить)

Все объекты “VrayProxy” и “MultiScatter” находятся за пределами рабочей зоны и подписаны (нажмите, чтобы увеличить)

Все объекты “VrayProxy”, которые не надо прорабатывать, отобразите в виде боксов. Укажите всем настроенным объектам “MultiScatter” минимальное значение параметра “Preview”, “Preview type: Box”.

nr_multiscatter_box_945

Используйте режим “Adaptive Degradation” в настройках вьюпорта.

nr_degradation_940

Окрашивайте группы в соответствующие цвета. Например, все деревья могут быть окрашены в один цвет при помощи параметра “Object color”. Таким образом сцена станет понятнее, а в качестве бонуса при рендеринге вы получите удобные маски.

Используйте “Viewport clipping” (обрезка видимой области вьюпорта) при моделировании.

Функция «Region render»

Мы активно используем “Region render”, чтобы отрендерить только измененную область сцены. Если необходимо что-то изменить и быстро получить превью, то мы скрываем все объекты “multiscatter” и “proxy”, которые в данный момент не используем. Таким образом, мы экономим память и значительно увеличиваем скорость рендеринга.

Подготовка сцены для рендеринга

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

• Нельзя терять текстуры. Путь к потерянной текстуре можно восстановить при помощи “AssetTracking” (Shift+T), если текстуры невозможно найти, замените их серой «плашкой» с тем же именем и расширением файла.
• Совет: при импорте или мердже (merge) моделей из библиотеки в рабочую сцену, проверьте и оптимизируйте их в отдельной чистой сцене. Это помогает избежать проблем с материалами, потерянными текстурами и прочими неприятностями.
• Сцена не должна содержать символы кириллицы или любых других языков в названиях объектов, материалов, сцен и пр. Только латинские буквы. Сетевой рендеринг не поддерживает символы кириллицы, это приведет к ошибкам во время рендеринга.
• В сцене не должно быть стандартных и Raytrace материалов. Из-за них сцена может зависнуть, вылететь или появятся какие-нибудь пятна.

Совет: прежде чем рендерить, используйте стандартный виреевский конвертер материалов. Для этого нажмите правой кнопкой мыши в сцене и выберите “convert all materials to vray”.

nr_vrat_convert_962

Мы используем сетевой рендеринг, поэтому все рабочие файлы должны быть на сервере. Мы не храним файлы на локальных компьютерах, так как текстуры или proxy объекты могут потеряться.

Стандартные настройки рендера:

Нажмите, чтобы увеличить

Нажмите, чтобы увеличить

Настройки вкладки Vray Global:

Максимальное значение Reflection/refraction: 3 (этот параметр оптимален для большинства сцен). При таком значении лишние повторные отражения не будут рендерится. В случае необходимости, этот показатель можно увеличить.

Vray: System
Default geometry: Static
Dynamic memory limit: 30000 MB (Примечание переводчика: зависит от объема ОЗУ. Для 8 Гб — 7000 MB, 16 Гб – 14000 MB, для 32 Гб – 30000 MB)
Это значительно ускоряет рендеринг.

Я надеюсь, что мои советы помогут вам в работе над очень большими проектами. Удачи!

Финальное изображение после пост-обработки (нажмите на изображение, чтобы увеличить)

Финальное изображение после пост-обработки (нажмите на изображение, чтобы увеличить)

Автор: Ravelin3D
Источник: evermotion.org
Перевод: RAIT.kz — статьи о компьютерной графике

  • Виктор

    Круто!)

  • Evi1ove

    Как раз сейчас сам работаю над довольно большой сценой, хотя она и на много легче вашей)
    Спасибо да советы!

  • Вячеслав

    Очень полезные советы! Спасибо!

  • Slava Tolmachev

    Вопрос на засыпку: где он, этот Vray Mtl Converter? Он встроенный в программу 3D Max, или его можно скачать и установить? Где?

    • Под Vray Mtl Converter в данном случае понимается стандартный конвертер Vray. Правой кнопкой мыши -> Vray scene converter

      • Slava Tolmachev

        Весьма благодарен за ответ! )

  • Ekkart

    Очень полезно, спасибо