Как включить subdivs материала 3ds max

Обновлено: 04.07.2024

В первой части были рассмотрены основные принципы работы и назначение некоторых настроечных параметров VRay. А сейчас давайте посмотрим, как все это можно использовать на практике.

Сцена

sponza/files. Выбор именно этой сцены обусловлен тремя причинами. Во-первых, сцена специально предназначена для тестирования возможностей различных рендер-программ и представлена во всех основных 3d-форматах. На том же сайте отображена обширная галерея уже выполненных рендеров этой сцены, так что есть возможность сравнить свой результат с достижениями других. Во-вторых, сцена являет собой некий промежуточный вариант - это не совсем интерьер, так же как и не полноценный экстерьер. Это внутренний дворик, наглухо ограниченный четырьмя стенами. Свет внутрь проникает сверху через довольно глубокий колодец, образованный стенами дома. В сцене есть второй этаж и область под балконами, и доступ прямому свету туда затруднен. В-третьих, сцена довольно велика - около 40 метров по длинной стороне. Оригинальная сцена создавалась в LightWave. На сайте есть ее версия, адаптированная под 3ds max с материалами, с ней и будем работать. Вот как это выглядит в scan-line рендере 3ds max:



рис. 01. Так выглядит настраиваемая сцена в скан-лайн рендере3ds max. Время рендера на Athlon XP 3200 - 14 секунд.

Материалы и геометрия

VRay, как впрочем, и другие рендер-программы, предъявляет ряд требований к геометрии сцены. Геометрия обязана быть "правильной", то есть должны быть соблюдены обычные требования правильного моделирования. Геометрия не может содержать длинных тонких полигонов (полос), а стыки поверхностей должны быть выполнены без зазоров. Наличие зазоров - главная причина просачивания света сквозь углы (появления самосвечения в углах) и стыки поверхностей. Лучше, если отдельная модель представлена отдельным объектом. Например, при моделировании комнаты образующую коробку лучше сделать одним объектом, а не состоящей из шести отдельных объектов-боксов. При моделировании нужно использовать объемные "строительные" блоки, например, если стена в реальном мире всегда имеет толщину, то и в сцене не нужно пытаться моделировать ее плоскостью, не имеющей толщины. Лично я избегаю использования булевых операций для создания оконных и дверных проемов, поскольку они часто создают неоптимальную результирующую полигонную сетку. Лучший метод моделирования, который можно порекомендовать - работа с Editable poly.

VRay не так требователен к геометрии, как программы, использующие radiosity, тем не менее, хорошее моделирование - залог беспроблемного и быстрого расчета в нем. Поэтому анализ и исправление геометрии сцены при необходимости - первое, что следует сделать при подготовке к рендеру.

Достаточно важным, хотя и некритичным моментом является выбор единиц измерения в сцене. При использовании VRay наиболее удобно работать с миллиметрами. Это обусловлено диапазоном изменения значений некоторых его параметров, а использование миллиметров увеличивает точность работы с ними. Например, минимальное значение параметра Max. density фотонной карты составляет 0.001 в выбранной системе единиц измерения. Но 0.001 метра и 0.001 мм - совсем разные вещи. Конечно, столь высокая точность Max. density для фотонной карты неактуальна, но VRay имеет множество других параметров, диапазон изменения которых также основан на выбранной системе единиц. Используемую систему единиц всегда можно поменять на другую, например, при помощи утилиты Rescale World Units 3 ds max. Вот только вполне может оказаться, что большую часть уже выполненной работы придется пересчитывать. А это часы бесполезно потраченного времени.

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

Поскольку я собираюсь использовать фотонные карты, необходимо настроить материалы. Как известно, VRay рассчитывает фотонные карты только для материалов типа VrayMtl. Поэтому необходимо выполнить преобразование стандартных материалов 3ds max, которые используются в нашей сцене, в материалы типа VrayMtl. Преобразование материалов довольно тривиально, нужно только изменить тип на VrayMtl, воспроизвести диффузные свойства материалов и положить в соответствующие слоты растровые карты. Поскольку некоторые материалы в оригинале имели bump, он также настраивался и в новых материалах, с теми же количественными значениями.

Объем геометрии сцены составляет 66 454 полигона, это вполне приемлемо. Количественные показатели геометрии и материалов важны - на них расходуется память, которая не может быть в дальнейшем перераспределена для других целей, например - для фотонных карт. Чем больше памяти отводится под геометрию и материалы, тем меньше ее остается для фотонов, поскольку Windows не может адресовать больше 2 гигабайт памяти. 2 Гб - это все, что доступно и системе и запущенным приложениям. Если сцена слишком велика, рендер вообще может стать невозможным. Планирование и оптимизация размера сцены - еще один немаловажный момент подготовки к расчетам.

Для планирования следует принимать цифру приблизительно в 1.5 Гб (если вы не запустили одновременно с 3ds max еще и Photoshop, Corel Draw, WinAmp, Word и IE :). Вот сцена с настроенными материалами.

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

Для моделирования солнечного освещения подойдет любой ИС, который отвечает следующим трем обязательным условиям:

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

В 3 ds max эти требования почти однозначно приводят к выбору ИС типа Target Direct. VrayLight не подходит, поскольку не может обеспечить параллельность лучей света (второе требование). Даже при отключении Ignore light normal в его настройках, световой фронт будет сферическим. Последнее приведет еще и к потерям излучаемых фотонов, то есть - к бесполезному увеличению времени расчетов.

Требование отсутствия затухания освещения с расстоянием не противоречит принципу физической корректности, поскольку речь идет именно о Солнце. В компьютерной графике учитывается только одна из возможных причин затухания - вследствие изменения плотности потока световой энергии в результате увеличения площади светового фронта при его распространении (увеличении радиуса сферы светового фронта со временем, или - просто расстояния от источника света). Это и приводит к затуханию с квадратом расстояния, а изменение интенсивности освещения вызвано только изменением расстояния (радиуса). Если речь идет о Солнце, то расстояние, которое лучи проделали от Солнца до Земли, просто громадно по сравнению с изменениями радиуса светового фронта в пределах Земли. Поэтому и изменение интенсивности освещения в пределах земных масштабов расстояний, будь то сотни километров или десятые доли миллиметра, ничтожно малы. Другими словами, световая сфера, дошедшая от Солнца до Земли настолько громадна, что ее поверхность можно считать плоской (причем с гораздо большим основанием, чем можно считать плоской поверхность Земли), изменение плотности светового излучения ничтожно малым, а лучи света - параллельными. И это именно физически корректно для Солнца, как для источника освещения. Совсем другое дело - обычные, земные источники света. Относительное изменение радиуса световой сферы для них всегда велико, заметно, и рассчитывать его нужно по закону квадратичного затухания.

Настройка положения и высоты Target Direct в сцене выбиралась так, чтобы наиболее интересно осветить ту часть, которая видна в камере. Волновой фронт выбран прямоугольным (Light Cone>rectangle) для облегчения его проецирования на интересующую часть сцены так, чтобы минимизировать потери при излучении фотонов. Затухание обязательно отключаем (Decay>Type>None). В качестве типа теней был выбран VRayShadow со значениями по умолчанию.

Второй источник света должен моделировать рассеянное освещение от небесного свода и потому обязательно должен быть пространственным (тип Area). В качестве такового можно выбрать ИС типа Skylight из набора 3ds max, и неплохо было бы с ним использовать подходящее изображение небесного свода в формате HDRI. Однако, учитывая то, что фотонные карты не могут работать со Skylight и HDRI, целесообразнее взять вместо него ИС типа VrayLight, которым и воспроизвести световой фронт. Впрочем, вариант с использованием Skylight+HDRI вовсе не исключен, просто здесь и сейчас я его рассматривать не буду.

Настраиваем VrayLight таким образом, чтобы он имел прямоугольную форму с размером, соответствующим размерам прямоугольного отверстия сверху дворика и располагаем его чуть ниже уровня крыши. Такое расположение минимизирует потерю фотонов, а освещение внешнего края крыши дома возложим на VRay Environment. Затухание освещения не отключаем - это не Солнце.

Наконец, для того, чтобы воспроизвести цвет неба, выставлен белый цвет для Environment 3ds max.


рис. 03. Вид сцены с положением источников и камеры.

Разрешение рендера устанавливаем 640х480, этого вполне достаточно для целей настройки освещения. После настройки, непосредственно перед финальным рендером, его нужно изменить на требуемое. Также минимизированы и параметры антиалиасинга (далее - AA): тип fixed rate, subdivs=1, можно и еще грубее.

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

Выключаем расчет GI у VRay и начинаем экспериментировать с настройками интенсивности, выполняя рендеры только с прямым освещением и регулируя Multiplier у ИС. Для данной сцены я остановился на следующих значениях: для Target Direct - 3, для VRayLight - 5 и белый Color для обоих (255, 255, 255). При настройке интенсивности света также с самого начала использовался экспоненциальный контроль экспозиции из VRay: Color mapping, тип - HSV Exponential, Dark Multiplier =1.6, Bright multiplier =1, Affect background off.



рис. 04. Так выглядит сцена с настроенным прямым освещением.

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


рис. 05. Параметры группы Color mapping помогают управлять экспозицией освещения.

Всего имеется три типа контроля: Linear multiply (линейный), Exponential (экспоненциальный), HSV exponential (экспоненциальный с сохранением насыщенности цвета). Различие между Exponential и HSV exponential состоит в насыщенности тонов после корректировки, при использовании Exponential изображение получается более "сдержанным", блеклым. На последующих этапах, после расчета фотонных карт и irradiance map, возможно, потребуется дополнительно подкорректировать освещение. Это вполне можно выполнить таким же образом и без пересчета карт.

Настройка фотонных карт

Для расчета освещенности выбран метод irradiance map + photon map. Сделано это в силу следующих причин: фотонная карта обеспечивает корректный и быстрый результат, карта освещенности (irradiance map) также обеспечивает скорость и при должной настройке - качество рендера. Преимущества такого метода достаточно подробно обсуждались в первой части.

Начнем с настройки фотонных карт. Прежде всего, на закладке VRay: Indirect Illumination выставляем следующие параметры:

Сейчас для первичного отскока выбран метод Global photon map с целью отладки фотонной карты. Позже, когда фотонная карта будет готова, я буду использовать Irradiance map.

Значение Secondary bounces>Multiplier установлено в максимальном значении = 1, по причине большого размера сцены и наличия труднодоступных участков для фотонов. По этой же причине значение глубины трассировки фотонов, Bounces, установлено в 20 против 10 по умолчанию.

Отключены Refractive GI caustics и Reflective GI caustics, поскольку я не планирую рассчитывать каустик-эффекты от отраженного диффузного освещения.

Самое главное, что нужно теперь определить - это количество излучаемых источниками света фотонов (subdivs). Оно должно быть достаточно большим, чтобы обеспечить требуемое качество изображения и достаточно малым, чтобы обеспечить максимальную для данных конкретных условий скорость расчета. В идеале, чем выше плотность фотонной карты, тем меньше радиус сбора (Search distance - далее SD) фотонов и тем качественнее фотонная карта. На практике же приходится учитывать временной фактор расчетов и ограничения операционной системы на память (1.5 Гб минус память на геометрию и материалы, помните?). Поэтому, разумный выбор SD и подгонка плотности фотонной карты под него - главная стратегия на этом этапе.

Критерием для выбора подходящего значения SD является анализ самой сцены. Если, например, в сцене присутствует важный хорошо видимый объект, передача светотени которого будет определяющей, выбор SD стоит привязывать к нему - SD должен быть таким, чтобы обеспечить точность передачи тени возле этого объекта. Если важного объекта нет, SD может быть выбран, исходя из размеров сцены и используемых единиц измерения (SD измеряется в установленных для сцены единицах). Поскольку в нашей сцене важных объектов нет, я предположил, что SD в пределах 50-150 миллиметров будет приемлемым, и остановился на прикидочном значении SD=100. Выбор SD позволяет сразу же определить и Max. density (разрешение фотонной карты, или ее "сжатие", далее - MD), так как между ними существует связь. Очевидно, что SD не может быть меньше MD, поскольку тогда в пределах SD не окажется ни одного фотона. Разработчики рекомендуют соотношение между SD и MD в пределах 2-6, то есть SD=MD*2…6, которым мы и воспользуемся. Обойтись вообще без MD, то бишь использовать для него нулевое значение (фотонную карту полного разрешения) не удастся, поскольку нам нужно излучить довольно большое количество фотонов, а ограничения на оперативную память не позволят этого сделать. Выбираем MD =100/6=15, в отношении величины MD всегда нужно стремиться к наименьшим из возможных значениям. Теперь рассчитаем четыре фотонных карты с разными значениями subdivs для источников света: для 3000, 5000, 7000 и 8000 subdivs на каждый. Каждую фотонную карту обязательно сохраняем в отдельный файл.

Параметры фотонной карты остаются неизменными, меняются лишь значения subdivs для источников света. Перед расчетом можно еще отключить генерацию caustic photons у источников света и у объектов (поскольку расчет каустик-эффектов от прямого освещения в этой сцене также не планируется) и убедиться в свойствах объектов, что для них установлены Generate GI/Receive GI.

  • subdivs 3000 3000 (первый и второй источники света - Target Direct и VRayLight, наше Солнце и Небо :) ;
  • излучено максимум: 18 000 000 фотонов;
  • сохранено в картах фотонов: 5 635 989;
  • потребовался объем памяти 516.4 мб;
  • размер файла на диске 315.6 мб.

Как сделать максимально качественный рендер при меньшем времени просчета?

Сегодня очень подробная статья в двух частях о том, как получить качественное изображение при помощи V-ray.

vray_optimization_header

Часто можно увидеть 3d-artist, у которых есть универсальные настройки для своих визуализаций, где в свитке Image Sampler (Anti-Aliasing) значение Max Subdivs устанавливают очень высоким (50-100), затем добиваются снижения шума (Noise Parameters), пока визуализация не станет достаточно чистой. Но если заглянуть вглубь V-ray, то можно управлять параметрами более осознано и ускорить просчет в 3-13 раза.

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

Трассировка лучей (raytracing)

Визуализация начинается с того, что лучи (rays) сначала направляются из нашей камеры в сцену, чтобы собрать информацию о геометрии, которая будет видна в окончательном изображении. Лучи, которые исходят из камеры называются Primary Samples (также их называют Camera Rays или Eye Rays) и управляются они с помощью V-Ray Sampler Image (также известный как Anti-Aliasing или AA).

Всякий раз, когда первичный луч пересекается с геометрией в сцене, дополнительные лучи будут посланы от этой точки пересечения в остальную части сцены, чтобы собрать информацию о таких параметрах, как Shadows (тени), Lighting (освещение), Global Illumination (глобальное освещение), Reflection (отражение), Refraction (преломление), Sub-surface Scattering (SSS) (подповерхностное рассеивание) и т.д. Эти дополнительные лучи называются вторичными лучами и контролируются V-Ray DMC Sampler.

Упрощенная схема трассировки лучей:

vray_optimization_figure_01


Primary Samples (первичные лучи) направляются из камеры в сцену, пересекаются с геометрией, и отправляют Secondary Samples (вторичные лучи), чтобы взять еще сэмплов (образцов) в сцене.

Далее мы будем говорить о лучах (rays), как о сэмплах (образцах), ведь основной целью луча является сбор информации со всей сцены для конечного просчета. Так что далее лучи=сэмплы.

Для того, чтобы выяснить, что происходит в сцене, нужно собрать как можно больше сэмплов как первичных, так и вторичных. Чем больше сцена их собирает, тем больше информации у V-Ray и тем меньше шума будет на финальной визуализации. Шум всегда вызван недостатком информации.

Количество первичных сэмплов, которые направлены в сцену в основном контролируется Min Subdivs, Max Subdivs и Color Threshold. Вторичные образцы в основном контролируется настройками Subdivs от отдельных Lights (светильников), Global Illumination (глобального освещения), материалов в сцене, а также настройки Noise Threshold, которые находятся во вкладке DMC Sampler (Noise Threshold называется Adaptive Threshold в V-Ray для Maya).

Основные понятия:

Понятие samplerate render element

Samplerate render element один из наиболее важных инструментов, которые помогают в оптимизации визуализации. Это способ V-Ray показать нам именно то, что Image Sampler (AA) делает в каждом пикселе. Данный инструмент делает это путем присвоения цвета для каждого пикселя и вида сэмплов. Он делает это, помечая каждый пиксель цветом, соответствующим количеству Primary Samples (AA) в нём. Это изображение можно глянуть в SampleRate render element.

*Голубой цвет означает небольшое количество Primary Samples (AA) в этом пикселе.

*Зелёный цвет означает среднее количество Primary Samples (AA) в этом пикселе.

*Красный цвет означает большое количество Primary Samples (AA) в этом пикселе.

vray_optimization_figure_02


Samplerate показывает сколько пикселей было в каждом пикселе рендера.

Если Image Sampler (AA) = 1 min и 10 max Subdivs (1 min и 100max Primary Samples):

*Голубой цвет означает 1 Primary Samples (AA) в одном пикселе.

*Зелёный цвет означает 50 Primary Samples (AA) в одном пикселе.

*Красный цвет означает 100 Primary Samples (AA) в одном пикселе.

Если Image Sampler (AA) = 1 min и 100 max Subdivs (1 min и 10000max Primary Samples):

*Голубой цвет означает 1 Primary Samples (AA) в одном пикселе.

*Зелёный цвет означает 5000 Primary Samples (AA) в одном пикселе.

*Красный цвет означает 10000 Primary Samples (AA) в одном пикселе.

Пример сцены. Понимание, как работает V-Ray

В этом уроке мы будем работать с простой сценой. В неё я поместил плоскости с несколькими сферами, назначил простые материалы на них (включая diffuse, glossy reflection, glossy refraction, и SSS), добавил два объёмных источника света (area light) и domelight с HDRI. GI включено в режиме Brute Force + Light Cache. Этот файл вы можете скачать здесь.

Начнём с простых настроек рендера со следующими значениями:

Image Sampler (AA) = 1min & 8max Subdivs.

Lights, GI, и Materials все 8 Subdivs.

Noise Threshold s= 0.01.

Все остальные настройки оставляем по умолчанию.

vray_optimization_figure_03


Базовый рендер.
1min & 8max Subdivs = Image Sampler (AA)
8 Subdivs = Lights, GI и все материалы

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

«Я позволяю тебе использовать до 64 (8 Subdivs) Primary Samples (AA) в каждом пикселе, чтобы ты понял, что происходит в сцене и не наворачивал много шума, насколько noise threshold сможет позволить тебе это сделать. Но для каждого из Primary Samples, ты можешь создать только один Secondary Sample чтобы понять, что происходит в сцене касательно света, тени, GI и материалам.»

Возможно, у вас возникает внутреннее противоречие: «Эй, всего один Secondary Sample для света, GI и всех материалов? Да ладно! Должно же быть 64 Samples (8 Subdivs), мы же столько указывали?».

Важно отметить, что источники света, GI и материалы имеют значение 64 Samples (8 Subdives) каждый — V-Ray делит это значение на AA Max Samples в сцене. Несмотря на значение в 64 Samples для света и материалов, вы должны иметь ввиду, что это значение делится на значение AA Max = 64 Samples (8 Subdivs), в результате, мы имеем всего один Secondary Sample для света, GI и материалов. (64 Secondary Samples / 64 Primary Samples = 1 Secondary Sample).

Причина, по которой V-Ray это делает — внутренняя формула, установленная для удержания баланса этих двух значений. Изначальная логика заключалась в следующем: чем больше Primary Samples, тем пропорционально меньше Secondary Samples требуется чтобы понять, что происходит в сцене (скоро мы убедимся, что это не всегда справедливо). Этот баланс между Image Sampler и DMC Sampler, может быть не понятен вначале, но главное вынести следующее: когда вы увеличиваете значение Image Sampler (AA), V-Ray старается компенсировать пропорциональным уменьшением значение DMC Sampler.

Вернемся к визуализации:

V-Ray заканчивает рендеринг, но мне совершенно не нравится большое количество красных пикселей в SampleRate render element. Это говорит о следующем:

«Я не смог выяснить, что же происходит в сцене, так ты меня сильно ограничил в noise threshold. Я долго использовал Primary Samples со всего одним Secondary Sample но это не дало мне достаточно информации об этих областях.»

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

* Вариант 1 — увеличить AA Max Subdivs — чтобы V-Ray лучше увидел сцену, но снова со всего одним Secondary Sample для света, GI и материалов.

* Вариант 2 — увеличить количество Subdivs в материалах, свете и GI. Сказать V-Ray, чтобы он оставил количество Primary Samples, но вместо этого, позволить ему использовать больше Secondary Samples.

Пример сцены (вариант 1): увеличение значения AA MAX SUBDIVS

vray_optimization_figure_04

При таких настройках мы говорим V-Ray:

«Я разрешаю тебе использовать до 10 000 (100 сабдивов) Primary Samples (AA) на пиксель чтобы понять, что происходит в сцене и минимизировать шум, на сколько это возможно при заданном Noise Threshold. Но, для каждого Primary Samples, ты можешь создать только по одному Secondary Sample для того что бы понять, что в сцене со светом, GI и материалами.»

Как уже было сказано ранее, что так как каждый источник света, материал и GI имеют по 64 Samples (8 Subdivs), V-Ray делит это значение на AA Max Samples. Несмотря на значение в 64 Samples, оно делится на AA Max 10 000 сэмплов (100 сабдивов), в результате, мы имеем минимальное количество — всего по одному Secondary Sample для света, GI и материалов. (64 Secondary Samples / 10000 Primary Samples = 1 Secondary Sample).

V-ray заканчивает рендеринг картинки и говорит:

«Я в состоянии был выяснить всё, что происходит в сцене для того качества и чистоты картинки, который ты указал. Но, чтобы изучить сцену, мне пришлось местами использовать все 10000 Primary Samples с 1 Secondary Samples на свет, GI и материалы.»

Смотрим на Вариант 1 и видим, что результат значительно лучше, чем был на базовом рендере. Время рендера заметно увеличилось до 11 минут 44 секунд (в 9,8 раз дольше). Шума практически нет. Большинство людей на этом этом посчитают что этого достаточно для финального просчета.

Давайте сравним с вариантом 2, о котором говорили ранее. Посмотрим, что произойдёт, если вместо увеличение AA Max Subdivs, увеличим значения сабдивов в источниках света, GI и материалах.

Пример сцены (вариант 2): увеличение количества сабдивов в источниках света, GI и материалах

vray_optimization_figure_05

Что же происходит во втором варианте? При таких параметрах мы говорим V-Ray:

«Я разрешаю тебе использовать до 64 (8 subdivs) Primary Samples (AA) на пиксель, чтобы выяснить, что происходит в сцене и уменьшить шум, чтобы попасть в заданный порог шума. Также ты получаешь до 100 Secondary Samples, чтобы собрать информацию о свете, GI и материале каждого объекта».

Вспоминаем, что GI, материалы и свет в общей сумме сейчас имеют 64000 семплов (80 сабдивов) каждый. V-Ray автоматически делит каждое это значение исходя из AA Max Samples, установленного в вашей сцене. И несмотря на 6400 семплов, оно делится AA Max 64 семпла (8 сабдивов), и только 100 для Secondary Samples для света, GI и материалов (для каждого). (6400 Secondary Samples / 64 Primary Samples = 100 Secondary Sample).

V-Ray заканчивает рендер так хорошо как может, говоря таким образом:

«Я был в состоянии понять, что происходит в сцене исходя их уровня качества noise threshold, который вы установили. По факту, большую часть времени, я должен был использовать все 64 Primary Samples на пиксель. И 100 Secondary Samples для света, материалов и GI.

Мы видим, что шумы ушли, но время рендера увеличилось в 4,5 раза (4 минуты 38 секунд) в сравнении с базовым рендером.

vray_optimization_figure_06

Но если мы сравним с вариантом 1, мы увидим, что вариант 2 дал нам результата чище и отрендерил в 2,2 раза быстрее.

Как работает оптимизация

В базовом рендере мы видим, что грани объекта выглядят хорошо, шум присутствует в отражениях и тенях. Как вы помните, Primary Samples (AA) служат для вычислений основной геометрии сцены, текстур, глубины резкости и motion blur в сцене. Тогда как Secondary Samples отвечают за GI, свет, материалы и тени.

А теперь мы можем понять, почему «универсальные V Ray-Настройки» не будут наиболее эффективным методом для рендеринга. На самом деле, он никогда не был предназначен, чтобы быть достаточно эффективным! Универсальные настройки V-Ray были разработаны, чтобы сделать V-Ray доступным и легким для пользователей, которые не заботятся об оптимизации и не смотрят глубже в работу V-Ray. Это простой способ поставить V-Ray на автопилоте. При регулировании Primary Samples пользователю достаточно для контроля визуализации одного параметра — noise threshold. Если слишком много шума в визуализации, просто понижаем noise threshold, и V-Ray будет посылать лучи Primary Samples (AA) пока ему будет разрешать значение noise threshold.

Но мы можем ещё больше оптимизировать вариант 2! От 5 минут 58 секунд до 4 минут 53 секунд при незначительном увеличении шума.

vray_optimization_figure_07

Вариант № 1. Cлева, и Вариант № 2 Рендер оптимизирован еще больше — справа. Скорость рендеринга увеличена в 2.7x!

Вот еще один пример оптимизации, на этот раз более ориентированный на производительность сцены.

Оптимизированная визуализация (справа) считается почти на 35% быстрее, чем универсальные настройки рендеринга (слева) при одновременном снижении шума и улучшении качество рендеринга. Также отметим, как отражения стали более точными — заметно на полу к концу коридора.

vray_optimization_figure_08

«Универсальные V Ray-Настройки» слева, и оптимизированный рендер справа.

Определяем источники шума

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

Условия, при которых изображение Sampler (AA) потребуют большего количества Image Sampler (AA) для устранения шума:

Условия, где DMC Sampler потребуют большего количества вторичных проб для устранения шума:

vray_optimization_figure_09

Глядя на отражение визуализации элемента, мы можем видеть количество шума, вызванного только отражениями материалов.

Методичка по настройке 3D Max перед работой



1. Настраиваем системные единицы

Перед началом работы необходимо учитывать важный момент: в каких единицах измерения вы будете строить сцену.

Самым оптимальным значением будут мм.
Это действие достаточно будет выполнить один раз, в дальнейшем при запуске новой сцены по умолчанию сохранятся эти настройки.

Как это сделать:
Customize → Units Setup → Metric: millimeters → System Unit Setup → 1Unit = 1 millimeters → OK

2. Настраиваем количество отменяемых действий

По умолчанию программой задано 20 возможных шагов «назад». Как показывает практика, этого недостаточно, потому лучше увеличить данный показатель:
Customize → Preferences… → General →Levels:100 → OK



3. Настраиваем автосохранение

Все понимают важность данного действия. Поскольку в 3ds max вылеты и «падение» сцен довольно распространённая проблема, то Auto Backup для многих просто спасение.

Customize → Preferences… → Files → Number of Autobak files: количество автосохранённых файлов.

Backup Interval (minutes): интервал времени автосохранений Auto Backup File Name: имя автосохранённого файла.

4. Путь автосохранения

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

Для этого заходим в: Customize → Configure User Paths… → во вкладке File I/O видим путь в Project Folder, по которому сохраняются наши файлы. Этот путь, конечно же, вы можете изменить на своё усмотрение, нажав троеточие … .

По умолчанию Auto Backup-файлы нужно искать на диске С → Документы → 3dsMax → autoback



5. Убираем резкие тени и настраиваем угол обзора в окне перспективы

Во вьюпорте перспективы в левом верхнем углу заходим в Standard:
Убираем затенение: Per-View Presets → Default Lights: 2 Default Lights

Настраиваем угол обзора: Per-View Preferences → Perspective Field of View: 90°



6. Как узнать количество полигонов в сцене

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

Данный режим отображения включается клавишей "7"



7. Беспокоит периодическое автопереключение вида в режим отображения "рёбра/сетка"?

Отключайте эту кнопку. Но будет иногда подвисать. Эта кнопка как раз для того, чтобы облегчать нагрузку на комп в тяжёлые моменты за счёт переключения в режим видимости только рёбер.



8. Убираем кубы вращения ViewCube

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

Нажимаем alt+B → вкладка ViewCube → снимаем галочку с Show the ViewCube → Ok

9. Как вращать объект в сцене

На панели инструментов в правом нижнем углу находим пиктограмму Orbit SubObject, появится орбита вращения, наведя на которую, можно вращать объект левой кнопкой мыши.

Чтобы сбросить эту орбиту, достаточно нажать правой кнопкой мыши во вьюпорте. Более удобный способ вращения с помощью сочетания следующих клавиш: alt+скролл мыши.



10. Если скрыли панель справа, как ее вернуть

Такое бывает с каждым. Как правило, происходит это машинально при работе.

Решение простое: ctrl +х (сочетание клавиш, которое вернет панель на место). Также можно это сделать, наведя на черточку у другой панели, нажимаем правой кнопкой мыши, появится контекстное меню, где выбираем Command Panel ..



1 1. Если исчезла панель сверху, как ее вернуть

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

1 2. Как архивировать сцену

Самый удобный способ не потерять текстуры и настройки – это архивировать сцену в самом 3д максе. Тогда можно не переживать, откроется ли сцена на другом ПК без каких-либо потерь.

Делаем это следующим образом: File → Archive… → после того, как выбрали путь сохранения, появится чёрное окошко архивации (его не трогаем, просто терпеливо ждём). Когда окошко исчезнет, архивация сцены завершена.

1 3. Если мешает подсвечивающая рамка при наведении на объект

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

Отключить подсветку при наведении на объект можно так: Customize → Preferences… → Viewports → Selection/Preview Highlights Preview → → снимаем галочку в Outline → Ok



14 . Как добавить пункты V-ray, если их не оказалось в контекстном меню

Такое случается при работе сразу после установки V-ray. При нажатии правой кнопкой мыши, вы можете не обнаружить необходимые для работы пункты.

C появлением панели инструментов ToolbarVray вынесена кнопка V-Ray menu registration, нажав на которую, проблема уходит и все пункты появятся на своих местах. Добавить их можно 2-мя способами.



1. C появлением панели инструментов ToolbarVray вынесена кнопка
V-Ray menu registration, нажав на которую, проблема уходит и все пункты появятся на своих местах



2. Также можно вернуть необходимое меню, прописав в указанном ниже окошке
registerVRayMenus () →Enter



15. Как удалить анимацию в сцене

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

И если ваша сцена статична, правильнее будет удалить анимацию. Как это сделать? Нажимаем сочетание клавиш ctrl+A, тем самым выделяя все объекты в сцене. Находим на верхней панели Animation → Delete Selected Animation.



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

Проверить это просто, нажав ctrl+A (выделятся все объекты в сцене) и затем нажимаем Z, что позволит центрировать эти объекты во вьюпорте. Вы сможете сразу заметить, какой же объект так далеко «убежал» и не даёт нашей сцене стать в центре вьюпорта. Решение очевидно: приблизить отдалённые объекты поближе к центру или при необходимости вовсе удалить их со сцены.



Если же вас не устраивает шаг приближения скроллом мыши при рассмотрении близкого ракурса, то это можно настроить следующим образом Customize → Customize Use Interface… → Mouse → → Wheel Zoom Increment: 1mm (значение, на которое сколл приближается или удаляется от объекта).



17. Что делать, если стрелки перемещаются отдельно от объекта

Частый вопрос среди новичков, т.к стрелки приобретают необычный вид и двигаются сами по себе, никак не сдвигая объект с места. Справа на панели необходимо найти кнопку Hierarchy → отжать кнопку Pivot.



18. Как изменить размер осей

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

Вы можете браться за любое место объекта и перемещать его. Переключение между осями также можно делать с помощью клавиатуры. Клавиши F5, F6, F7 отвечают за оси x, y, z соответственно и клавиша F8 отвечает за переключение по двум осям одновременно.



19. Как запустить интерактивный рендер

В версии вирея 3.60.03 довольно просто это сделать нажатием пары кнопок. На панели V-Ray Toolbar выбираем Last VFB и из появившегося окна фреймбуфера, запускаем интерактив нажатием чайничка с зеленой стрелкой.



В короне заходим в настройки: F10 → Scene → General Settings → Start Interactive



Чтобы в короне подсказки были на русском языке (как на фото выше), это можно настроить в разделе System → System Settings → Language: Russian



20. Как зафиксировать камеру

Если камера постоянно куда-то « улетает» и смещается, ее нужно просто зафиксировать. Важно выделить камеру вместе с Target (целью). Включаем все галочки. Соответственно, если камеру необходимо подвинуть, галочки снимаем.



21. Как избавиться от градиента и заломов стен

Часто это случается после действий с булиевыми операциями. Выделяем проблемный объект и применяем к нему модификатор Smooth .



22. Как включить пакетный рендер из нескольких камер (Batch render)

Замечательная функция в максе, о которой не все знают. Как же поставить рендеры в очередь один за другим, не просыпаясь по ночам и не запуская новый рендер из новой камеры вручную?

Rendering → Batch Render… → Add… (добавляем все ракурсы) → Output Path … (выбираем путь, куда будут сохраняться рендеры) → Camera (выбираем к каждому ракурсу свою камеру) → Render (очередь из рендеров запущена в просчет).

23. Как при batch render задать каждому кадру свои размеры?

(речь о разрешении кадра: ширина/высота)

Необходимо после добавления камеры, выделив её, поставить галочку override preset.
В открывшиеся настройки width height, вписываем необходимые значения. Скажем, для горизонтального ракурса - 3000 на 2000.

24. Что делать, если закончились свободные слоты в Material Editor

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

Итак, очищаем шарики: Utilites → Reset Material Editor Slots



25. Как включить отображение текстуры на шарике

Может случиться такое, что на объекте текстура видна, а на шарике в слоте не отображается. Снимаем галочки в следующих окнах:

- Customize → Preferences… → General → Texture Coordinates: □ Use Real-World Texture Coordinates
- Material Editor → Bitmap → □ Use Real-World Scale
- в модификаторе UVW Map, примененном на объект → □ Use Real-World Map Size



26. Почему не выделяется объект

Произойти такое может, если вы машинально зафиксируетесь на объекте замочком. Снимите выделение и все объекты будут снова доступны для работы.




Если выбран какой-то из режимов работы ниже (выберете All и сможете работать со всеми объектами в сцене).




Возможно, что объект просто заморожен и не поддаётся никаким действиям. Нажимаем правой кнопкой мыши во вьюпорте → Unfreeze All (размораживаем тем самым объект и работаем с ним дальше).
27. Как отключить красную подсветку полигонов

При работе с полигонами эта красная подсветка может отвлекать, потому можно отключить её, оставив только подсвечивающиеся ребра в пределах выделенных полигонов. Делаем это нажатием клавиши: F2



28. Делаем объект прозрачным без использования материалов

Данная функция полезна, когда вы строите модель по фото и вам нужно видеть подлежащий слой с изображением. Для прозрачности достаточно нажать сочетание клавиш alt+x или включить галочку в Display → See-Through




Если этой прозрачности оказалось недостаточно, можно прибегнуть ко второму варианту, который более гибкий в настройке. Выделяем объект, нажимаем правой кнопкой мыши → Object Properties… → Visibility- уменьшаем это значение (чем ниже, тем прозрачнее объект) → Ok



29. Улучшаем качество картинки во вьюпорте

Частая проблема при занесении в сцену чертежа в формате PDF. Не видны или отображаются пиксельно размеры и надписи. Сложно читаются и воспринимаются.

Это качество улучшить можно, нажав сочетание клавиш alt+B → Display Perfomance → Maximum задаем значения 5000/5000/5000 → Ok



30. Как удалить картинку с фона

Когда мы собираем сцену по референсу, строим по Perspective Match, во вьюпорте на общем фоне в качестве бэкграунда у нас находится картинка, которую можно удалить следующим образом: нажимаем сочетание клавиш alt+B → Background →

1)Находим внизу имя файла и нажимаем в этой строке Remove.

2)Второй вариант – переключить радикнопку на Use Customize User Interface Gradient Colors.

F1 – Help
F2 – Переключение затенения выбранных граней
F3 – Переключение между Wireframe и Shaded режимом отображения
F4 – Переключение между Shaded и Shaded + Edged Faces режимом отображения

Q – Выбор
W – Выбрать и Переместить
E – Выбрать и Повернуть
R – Выбрать и Масштабировать
H – Выбрать по Имени

G – Скрыть / Показать сетку
J – Переключить отображение угловыми скобками

CTRL-A – Выбрать всё
CTRL-D – Снять отметку со всего
Пробел – Переключения Блокировки выделения
От 1 до 5 – Элементы Editable Poly
1 – Вершина (Vertex)
2 – Ребро (Edge)
3 – Граница (Border)
4 – Полигон (Polygon)
5 – Элемент (Element)

7 – Счетчик полигонов
8 – Открыть диалог Environment and Effects

F – Переключиться на вид спереди (Front)
T – Переключиться на вид сверху (Top)
L – Переключиться на вид слева (Left)
P – Переключиться на перспективный вид (Perspective)
B – Переключиться на вид снизу (Bottom)
C – Переключиться на вид камеры (Camera)
V – Открыть меню видов
Z – Приблизиться к выделенному объекту
Ctrl-X – Показать / скрыть меню Command
Alt-Q – Изолировать объект
Alt-Shift-Q – Разизолировать объект
O – Переключение Adaptive Degradation
X – Переключение манипулятора (Transform Gizmo)
D – Делает окно неактивным, пока в него не переключишься (тыкнув мышкой)
+ и – Увеличение/уменьшение размера манипулятора (Gizmo)
F9 – Рендерит то окно проекций, которое было отрендерино в последний раз. В первый раз рендерится выбранное окно проекций.
Shift-Q – Быстрый рендер выбранного окна проекций.
F10 – Настройки рендера
M – открывает редактор материалов
CTRL-V – клон объекта
Alt-L – Выбрать петлю ребер

CTRL-Пробел – Скрыть объект
CTRL-SHIFT-Пробел – Раскрыть все объекты
CTRL-G – Объединить выбранные объекты в группу
CTRL-SHIFT-G – Разгруппировать
ALT-A – Выровнять объект относительно другого


Новичкам проще работать с уже готовыми шейдерами (материалами) в 3ds max. В интернете легко найти множество качественных материалов в свободном доступе. В уроке мы рассмотрим, как добавить готовый шейдер на объект. Также самостоятельно создадим материал паркета.

В уроке мы будем работать в полной версии Material Editor. Она более наглядная, чем компактная версия, где вы видите слоты и шарики для работы с текстурами. Кнопкой «М» на клавиатуре вызываем редактор материалов. Переключаем вид во вкладке Models.

material8

Используем готовые материалы Vray

Возьмем модель лимона. Скачиваем уже готовый материал для Vray. Чтобы добавить новый материал в библиотеку материалов, жмем на стрелку вверху → Open Material Library. Ищем нужный материал. Жмем Open.

material1-min

Теперь в списке материалов у нас появился материал Lemon. ЛКМ перетягиваем его в рабочее окно.

material2-min

Видим, что не все текстуры подгрузились (черные окна map). Такое бывает часто, поэтому приходится добавлять текстуры вручную. На верхней панели жмем Customase → Configure User Paths. В появившемся окне переходим во вкладку External Files, жмем Add. Находим папку с нашим материалом. В ней выбираем один из файлов и жмем Use Path. Теперь материалы добавились.

material3-min

Перетаскиваем материал на нашу модель. Текстура наложилась.

material4-min
Создаем новый материал

Открываем редактор материалов. Во вкладке Materials жмем Vray → VrayMtl. Перетягиваем в рабочее окно.

material5-min

Два раза щелкаем на созданный материал. Справа появляются параметры.

  • Deffuse — цвет материала;
  • Reflect — отражение материала (черный цвет — абсолютно не отражает, белый цвет — зеркало);
  • Refl.Glossiness — матовость\полированность материала (значение 1 задает зеркальную поверхность);
  • Refract — прозрачность;
  • Glossiness — четкость рефракции (значение 1 у стекла);
  • Subdivs — качество визуализации (уменьшаем шум, чем выше значения, тем качественнее картинка);
  • IOR — коэффициент преломления. У каждого материала свое значение IOR. Ищите их в специальных таблицах.

Создадим материал паркета. Вместо цвета мы будем использовать текстуру. Просто перетягиваем ее в окно редактора материалов и устанавливаем на Diffuse Map (1).

Загружаем карту отражений. В щелях паркет не отражает, на карте такие места обозначены черным. Перетаскиваем карту в редактор материалов. Устанавливаем ее на Reflect Map (2). Ставим галочку Fresnel reflection (3) (зависимость отражения от угла зрения).

Загружаем карту шероховатостей. Применяем к Bump (4). Ставим Subdivs больше, чтобы убрать шум.

material6-min

У нас получился вот такой материал паркета.

material7-min

Чтобы создавать более сложные и реалистичные шейдеры нужно понимать физические особенности материалов. Опыт и более глубокое изучение вопроса со временем даст хороший результат. А лучше всего получить структурированную информацию и пройти обучение по видеокурсу: Секреты VRay-материалов. Там очень много полезного и можно скачать сцену готового интерьера с настройками и освещением, чтобы по инструкции начать назначать материалы.

Читайте также: