Как сделать мультиматериал в короне

Добавил пользователь Валентин П.
Обновлено: 01.09.2024

Если видео ниже не отображается, отключите блокировку рекламы на этом сайте и обновите страницу. Все уроки тут встраиваются с Youtube и почему-то блокировщики считают их рекламой.

Урок о том, как использовать HDRI карты в 3ds Max (Corona Renderer) для имитации окружения и освещения.

Я пропущу много букв о том, что такое hdr изображения, как они получаются и т.п., так как при работе над проектами в 3ds Max познания этой теории не сказываются ни коим образом.

Вкратце, hdri для 3ds max — это карта, отснятая на 180 (360) градусов, которая имеет, достаточную яркость, чтобы с ее помощью подсвечивать сцену. Но не всегда.

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

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



Вдохновились? тогда давайте посмотрим, как такое сделать самому.

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

Если есть проблемы с созданием материала зеркала в Corona Renderer, то посмотрите этот урок.


Чтобы подключить HDRI карту к своей сцене, проделайте следующие манипуляции: 1. Откройте вкладку Enviroment (окружение)


2. В ней кликните по кнопке none и выберите Corona Bitmap. Да, можно выбрать обычную карту (Standart -> bitmap), но в случае с HDRI файлами большого размера вместо карты может просто отображаться чернота (карта не подгрузится).


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


4. Далее выберите любую hdri карту из тех, что скачали, и жмите по кнопке open (открыть).


5. Дальше откроется окно с настройкой hdri. Тут ничего трогать не надо, просто жмите по кнопке OK.


6. На этом этапе можно сразу сделать рендер и посмотреть, что получается. Обратите внимание, я сразу поправил настройки постобработки (на скриншоте интерфейс Corona Renderer 1.5), иначе получался очень сильный пересвет.



7. Если нужно повернуть карту, изменяйте параметр U offset (смещение по горизонтали). Параметр изменяется от 0 до 1. То есть значение 1 — это поворот на 360 градусов, 0,5 — поворот на 180 градусов.


8. Если вас смущает черная полоса на линии горизонта (многие hdri карты отсняты на 180 градусов, то есть ниже линии горизонта просто черный фон), тогда немного измените параметр V offset (смещение по вертикали) и в блоке Tiling mode (режим укладки) поставьте опцию No tiling, чтобы в зените не появилась черная дыра.


И последний штрих, чтобы придать эффектов свечения, просто включите эффекты Bloom and Glare (свечения и сияния) в постобработке Corona Renderer (эти опции появились начиная с версии 1.5). Это сделает рендер более воздушным, реалистичным и просто эффектным.


Как видите, в использовании HDRI нет ничего сложного. Эта технология экономит десятки часов на создании и проработке реалистичного экстерьера в 3d.

А вот одна из моих работ, где я использовал HDRI карту для визуализации небольшого загородного дома. Облака, солнце и деревья в отражениях на самом заднем плане — это все HDRI карта. Все блики, свечения, сияния, цвето и светокоррекция выполнены средствами Corona Renderer (версия 1.5). Ни капли фотошопа тут нет.


Хочу обратить ваше внимание на то, HDRI карт для 3ds Max существует большое разнообразие. Главным образом они отличаются окружением (интерьеры, экстерьеры, студийное освещение), яркостью, а также масштабом, т.е. удаленностью объектов от точки съемки. Так что не всегда одна и та же карта будет подходить для любого проекта. Скорее всего, придется перебрать 5-10 штук до того, как вы подберете идеальную карту для конкретной сцены. Главное не лениться и не сдаваться после пары неудачных попыток.

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

Можно добавить фоновые изображения с помощью параметров environment, покрывая оконные проемы, или путем создания больших плоских объектов в фоне.

Как правило, рекомендуется использовать direct/reflect/refract environment overrides в Render Setup > Scene > Scene Environment.

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

Выключите создание Corona Light Material при помощи опции "Emit light" и загрузите фоновое изображение через Texmap – это простой прием и быстро устанавливается. К тому же, вы сможете переключать отражение, преломление, Альфа-канал и видимость маскирующего элемента для таких материалов.

Если вам нужена дополнительная настройка, например, чтобы сделать отражения или преломления фонового изображения более темными, вместо использования Corona Light material можно назначить материал Rayswitch в фон геометрии:

1. Создайте материал Corona Rayswitch (назовем его А)
2. Создайте стандартный материал Corona (назовем его B)
3. В стандартном материале Corona (Б) отключите диффузный компонент (установите уровень диффуза на 0 или цвет на чисто черный).
4. В слоте self-illumination стандартного материала Corona (Б) поставьте изображение, которое вы хотите использовать в качестве фона - используйте self illumination multiplier для установки яркости фона изображения
5. Поместите стандартный материал Corona (Б) в слоты Corona Rayswitch (А) "reflection", "refraction" and "directly visible".
6. Оставьте слот Global illumination пустым!
7. Назначьте материал Rayswitch (А) фоном объекта.

Таким образом, вы создадите материал, который участвует в освещении, виден в отражениях и преломлениях, но не бросая тени на сцену или производство ГИ. Чтобы изменить внешний вид отражений или преломлений, просто изменить используемые материалы в слотах " reflection " или " refraction " в Rayswitch material.

Независимо от вашего выбора, для загрузки текстуры фона Вы также можете использовать Corona Output map, чтобы сделать его не зависимым от цветового картирования (значение EV, highlight compression и т. д.).

Примеры:

1. Corona Sun + Corona Sky - нет фона изображения, нет геометрии, покрывающей оконные проемы - Corona sun и sky генерирует освещение и прямую видимость.

sunsky.jpg

2. Corona Light Material покрывает область оконных проемов. Освещение по-прежнему генерируется при помощи Corona sun и sky, но фоновое изображение видно прямо, в отражениях и преломлениях. Изображение на " screen " режим mapping.

lightmtl-cap.jpg

lightmtl-m.jpg

3. Environment overrides с настройках рендера. Освещение по-прежнему генерируется Corona sun и sky, но фоновое изображение видно прямо, в отражениях и преломлениях. Изображение на " screen " режим mapping.

override.jpg

4. Corona RaySwitch material. Освещение по-прежнему генерируется Corona sun и sky, но фоновое изображение видно прямо, в отражениях и преломлениях. Изображение на " screen " режим mapping.

rayswitch.jpg

Настройка материала - rayswitch material:

rayswitch-m.jpg

Настройка материала - self illumination material:

rayswitch-m2.jpg

5. Corona RaySwitch material. Был использован более темный материал для отражений и преломлений. Освещение по-прежнему генерируется Corona sun и sky, более яркое фоновое изображение видно прямо, и более темное изображение видно в отражениях и преломлениях.

rayswitch-darker.jpg

Настройка материала – было уменьшено значение self illumination в материале, который использовался для отражения и преломления:



2. Нажимаем Material Editor


3. Создаем новый материал Corona MTL
Если это первое изображение в объекте, то этот пункт выполняется.






После этого можно будет выбрать go to parent ( на уровень вверх) и возвращаемся к основным настройкам материала.


6. Изображение должно отобразиться, после этого можно изменить его размер.


Для этого щелкаем на modify и выбираем UVW Map.

7. Выбираем Box и снимаем галочку с real-world map size

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

На этом все.

В этом разделе я опишу материалы и карты, которые поставляются с короной.

Однако, хочу сказать, что Корона также поддерживает многие стандартные материалы и карты, а также некоторые карты других рендеров (типа Vray, достоверно – VrayHDRI).

Также поддерживаются сторонние полезные карты, типа Multitexture, Bercon Maps.

В качестве слоёного материала на данный момент возможно использовать стандартный Blend материал, который полностью поддерживается, за исключением дисплейсмента.

Начнем, пожалуй, с материалов.

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

Basic options

CoronaMtl_Basic_opt

Diffuse – диффузный цвет материала, который может задаваться либо с помощью цвета, либо картой (текстурой).

Level – данный параметр во всех местах задает одно и тоже – это множитель, который определяет силу воздействия того или иного свойства материала. Проще говоря, этот параметр умножает конкретное свойство (diffuse/reflect/refract/opacity) на черный цвет (R=0,G=0,B=0). Допустим, в диффузном свойстве этот параметр может весьма удобно определять “альбедо” материала. Внимание, если этот параметр = 0, то неважно, какой цвет установлен в соответствующем свойстве, это свойство всегда будет =0.

Translucency

Задает свойство просвечиваемости материала (например, ткань или лист растения).

Fraction – фракция (степень) просвечиваемости (имеем в виду, что она может маппиться!)

Color – цвет просвечиваемости.

Reflection

Задает отражающие свойства материала.

Fresnel IOR – степень отражаемости материала. Френель здесь у нас создает зависимость отражательной способности материала от угла зрения, т.е. чем выше IOR, тем больше отражает материал на прямых углах. В сети можно найти справочники по данному свойству материала (правда, в немного непривычной форме).

Glossiness – свойство матовости (микроповерхности) материала. 0 – полностью матовый материал, 1 – полностью глянцевый.

Anisotropy – этот параметр задает и регулирует силу анизотропии или направленности блика материала (например, полированный металл).

Rotation – задает угол анизотропии в градусах.

Refraction

Задает свойства преломления материала (стекло, жидкости).

IOR – коэффициент преломления (есть множество справочников по данному свойству в сети).

Glossiness – аналогично вышеописанному (матовость).

Caustic (Slow) – при включении преломляющий материал будет пропускать свет исключительно по физическим законам, однако в обычном рендере (прогрессиве или бакетном) это свойство будет работать очень медленно ( не включать на оконные стекла! ) на ИС, которые дают четкую тень. Я советую оставить данный параметр выключенным.

Thin (no refraction) – включает эффект “тонкого стекла”, т.е. отключает любые преломления. Например, для оконных стекол или мыльных пузырей. Также исключает использование абсорбции.

Opacity

Задает прозрачность материала. Чем темнее цвет прозрачности, тем прозрачнее материал. Может использоваться для имитации тюля и других подобных материалов.

Displacement

Задает смещение геометрии. Для этого надо в параметр Texture поместить нужную карту. Будьте аккуратны с дисплейсментом! Учитывайте полигональность объектов, к которым он применяется, и глобальные настройки. Некорректная настройка будет потреблять большое количество оперативной памяти.

Min level – задает минимальный уровень смещения геометрии относительно исходной (т.е. черного цвета в текстуре).

Max level – задает максимальный уровень смещения геометрии относительно исходной (т.е. белого цвета в текстуре).

Water lvl – при включении обрезает всю смещенную геометрию, которая будет ниже указанного уровня.

Volumetric absorbtion and scattering

CoronaMtl_volume

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

Absorption – эффект поглощения света преломляющими материалами (например, бутылочное стекло). Абсорбция в Короне воздействует не только на преломление, но и на просвечиваемость. Параметр Distance задает глубину поглощения света (в системных единицах).

Scattering – эффект внутреннего множественного переотражения света. Используется для имитации подповерхностного рассеяния или объемного света. Directionality (она же фаза) – задает смещение скаттеринга к передней границе объекта или задней (“1? – смещение к передней, “-1? – к задней, 0 – равномерное).

Single bounce only – задает только одно внутреннее переотражение, что сильно ускоряет процесс. Может использоваться для имитации объемного света.

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

Advanced options

CoronaMtl_adv

Self illumination

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

Rounded corners

Эффект псевдофаски, который формируется методом манипуляций с нормалями поверхности (типа bump) Весьма эффективен, если не применять в ближних планах.

Radius – радиус фаски в системных единицах.

Samples – определяет качество фаски.

G-Buffer override – перекрывает G-буффер материала (для маскирования, например).

Visible in mask – определяет видимость в масках. Если выключен, маскирование объекта производиться не будет.

Legacy (A7) mode – включает режим старого (с альфа 7 и ниже версии) шейдинга бликов (матовых отражений). Если выключена (по умолчанию), то будет использоваться новый GGX шейдинг, который является достаточно трендовым в данный момент. Он позволяет имитировать отличные металлы (специфическое распределение блика с учетом микроповерхностей). Я советую в большинстве случаев держать эту галочку отключенной.

Alpha mode – задает режим маскирования в альфа-канале для данного материала. Либо всегда прозрачный, либо не прозрачный. Используется в специфических случаях.

P.S.

Bump в Короне регулируется от 0 до 1. Будьте внимательны с этими значениями, превышение бампа может вызвать появление артефактов шейдинга.

CoronaLightMtl

Этот материал позволяет использовать любой объект сцены (к которому можно применить материал) в двух качествах:

1. Как полноценный источник прямого света, со всеми функциями обычного ИС.

2. Как самосветящийся объект, который не будет собой загораживать свет от других ИС и не будет учитываться GI.

Intensity/Color/Texmap/Opacity – эти параметры все знают: интенсивность (без единиц измерения)/цвет/текстура в качестве проекции свет/прозрачность.

Light emission

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

Все остальные параметры аналогичны параметрам CoronaLight , за исключением двух:

Visible to alpha channel – видимость объекта в альфа-канале.

Visible in masking elements – видимость данного объекта в масках рендер-элементов.

Данный материал используется исключительно для задания геометрии (к которой применен данный материал) в качестве светового портала. Материал не имеет параметров. Геометрия для портала должна быть обязательно толщиной в 1 полигон! Корректное расположение порталов показано в моем уроке(coming soon).

CoronaRaySwitch

Этот материал позволяет различные фейковые манипуляции. Для каждого прохода (GI/Reflection/Refraction/Directly visible) можно задать свой материал. Допустим, если в слоты reflection/refraction/Directly visible положить материал, а слот Global illumination оставить пустым, то объект, к которому применен данный материал, не будет участвовать в GI и не будет отбрасывать тень.

CoronaShadowCatcher

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

Matte/Shadow

Эта область отвечает за матирование.

Enviro/Backplate – указывает “задник” – фон.

Projection mode – тип проекции фона на геометрию, если фон – 2-хмерная картинка, то выбираем Screen, если сферическая панорама, то выбираем Enviro.

Alpha mode – режим альфа-канала.

Always solid – всегда непрозрачный (стандартный режим).

For compositing – альфа исключительно для композинга в сторонних программах (фотошоп, АЕ и прочие). В случае выбора данного режима визуальное наложение в VFB будет выглядеть некорректным, однако при композинге в сторонней программе будет все ок.

Shadow amount – плотность отбрасываемых на объект теней.

Reflection properties

Эта область отвечает за отражательные свойства матирующего материала.

Здесь все параметры отражений как у обычного CoronaMtl , за исключением галочки Use matte projection mode , которая определяет проекцию отражений в соответствии с выбранным режимом проекции Projection mode .

Use enviro for off-screen – определяет окружение за пределами задней плоскости (backplates), если используются таковые.

CoronaVolumeMTL

Этот материал аналогичен свитку “Volumetric absorption and scattering” в CoronaMtl, за исключением одного параметра, которого там нет:

Emission – определяет свечение материала в объеме объекта, к которому он применен, параметр Distance задает глубину свечения, Color – цвет свечения.

Этот материал может использоваться как с mesh-объектами, так и для имитации объемного света – в этом случае он применяется в специальный слот Global volume material, в Render setup, в свитке Scene environment.

CoronaAO

Ambient Occlusion – специальный метод затенения (глобальн