СТАТЬИ

3D моделирование, текстурирование, визуализация
материал VRayOverrideMtl

Исследуем материал VRayOverrideMtl визуализатора Vray и его связь с глобальным освещением сцены Global illumination.

 

В данной статье рассмотрим возможности материала VRayOverrideMtl входящего в состав модуля визуализации Vray. Для того, что бы понять зачем нужен данный материал, давайте создадим комнату и сделаем там ремонт. Вам, разумеется создавать ничего не нужно. Всем (особенно самой неприятной частью - ремонтом) займусь я. А Вы просто понаблюдайте за процессом преображения комнаты.
Для стен, потолка и пола комнаты я выбрал абсолютно белый цвет (RGB = 255), а для предметов, которые в ней находятся выбрал цвет чуть потемнее (RGB = 150), что бы они не сливались с фоном комнаты. Разумеется перед тем как отрендерить сцену следует не забыть включить глобальное освещение, что бы процесс визуализации комнаты шел по физически правильным методам расчёта.
Итак, комната создана. В ней мы разместили несколько простых предметов в виде шариков, квадрата и тора. Пару шариков для разнообразия подвесили на потолок и даже повесили на стену большое зеркало что бы обстановка радовала глаз.

Внешний вид комнаты вы видите на рисунке:

Vray материалы: материал VRayOverrideMtl и Global illumination

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

Vray материалы - материал VRayOverrideMtl

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

Начнём с первого способа. Заходим в настройки модуля визуализации Vray, выбираем вкладку GI (Global illumination) и обращаем внимание на значение установленное в поле Saturation:

Global illumination в Vray

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

Убрать этот эффект не сложно. Поскольку мы уже выяснили, что за степень окрашивания фотонов отвечает параметр Saturation, то для того, что бы свести степень раскраски фотонов к нулю, следует установить этот параметр в ноль. Что мы сейчас и сделаем:

vray saturation

Визуализируем сцену и получим результат который приведён ниже:

материал VRayOverrideMtl

Как видно, от желтоватого оттенка мы избавились. По сути это именно то, чего мы и добивались и казалось бы на этом можно уже успокоиться. Отчасти это так, но не совсем. В очень простых сценах с небольшим количеством предметов (на подобии той, что мы здесь сейчас рассматриваем), такой простой способ может и прокатить. Но убрав в глобальных настройках значение насыщенности Saturation до нуля (к стати там могут быть и промежуточные значения между нулём и единицей, от которых степень окраса фотонов, а соответственно и всей сцены может варьироваться, да и значения больше единицы – там тоже, при желании, можно выставить) мы тем самым убрали цветопередачу всех объектов сцены. Видно, что общая цветовая гамма сцены потемнела по сравнению с той, где цвет пола был чисто белый. С точки зрения фотореализма – это совершенно не допустимо!

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

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

Тематика фотореалистичного рендеринга 3D изображений настолько объемна, что я не берусь давать какие-либо советы, которые абсолютно точно дадут отличный результат, потому как здесь мне самому приходится набираться опыта постепенно, читая множество различной литературы, черпать знания из интернета и проходить через метод проб и ошибок. Тем не менее я хочу предложить Вам один из тех способов, которые не редко использую я сам и который поможет Вам хотя бы на один шаг приблизиться к той самой идеальной картине которую называют фотореализмом. Вы, наверное догадались, что мы подошли к главной теме данной статьи где речь пойдёт о применении материала VRayOverrideMtl. Здесь и далее, что бы не говорить о самых простых вещах, я буду исходить из того, что Вы имеете представление о том, что такое модуль визуализации Vray, где находятся его материалы и как с ними работать.

Внешний вид слотов материала VRayOverrideMtl приведён на рисунке:

Vray материалы: материал VRayOverrideMtl

Материал состоит из пяти слотов - одного основного (базового) материала, который присутствует в сцене всегда и четырёх вспомогательных материалов, которые появляются (или проявляются, как в случае с GI материалом) в зависимости от условий их визуализации:

Base material: базовый материал (этот материал виден в окне проекции, как до визуализации, так и после визуализации сцены);

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

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

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

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

Итак, начнём с базового материала - Base material.
Данный материал является основным, он всегда появляется после визуализации объекта и его поведение никак не зависит от различных условий, в отличии от четырёх вспомогательных материалов. В нашем случае в качестве базового материала мы будем использовать паркет для пола. Процесс создания материала ничем не отличается от создания стандартного материала Vray, т.е. жмём на свиток с надписью none у материала Base material, открывается стандартное окно Material/Map Browser, выбираем тот материал, с которым будем работать и далее - творим что хотим. Поскольку я уже создал материал паркета, то мне сейчас уже не нужно создавать его заново, а достаточно перенести (зажав левую кнопку мыши) из слота с созданным материалом паркета (1) на слот базового материала (2), и следует не забыть назначить Base material тому объекту сцены, который является полом (3):

Vray материалы

На данном этапе в окне проекции программы 3D Studio Max, через установленную Vray камеру можно наблюдать следующую картинку:

VRayOverrideMtl и Global

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

Наконец мы подбираемся к самому главному. Пришла пора воспользоваться вспомогательным материалом GI (Global illumination). Это материал, цвет которого при визуализации сцены, будет применяться для окрашивания фотонов света. Установим цвет диффузного рассеивания материала GI чисто белым:

Vray материалы: материал VRayOverrideMtl и Global illumination

А теперь произведем визуализацию сцены, результат показан на рисунке ниже:

Vray материалы - материал VRayOverrideMtl и Global illumination

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

Разберём наши действия.
Назначив в качестве Base material – материал паркета, а в качестве материала GI – чисто белый цвет, мы сказали визуализатору Vray, что после визуализации сцены, в качестве материала пола мы хотим видеть паркет, но при расчёте глобального освещения сцены, забудь про паркет и рассчитывай сцену так, как будто вместо желтого паркета имеется чисто белый пол. Что мы в итоге и получили. При этом замечу, что мы не трогали глобальные настройки визуализатора, влияющие на общую цветопередачу всей сцены, а воздействовали только на цвет пола. Разумеется качестве материала GI, не обязательно использовать чисто белый цвет. В некоторых случаях, например на закате, когда солнце садиться и принимает яркий оранжево-красный оттенок, следует задать такой цвет, что бы комната подкрашивалась в соответствующие цвета. При этом, если Вы поменяете цвет пола, к примеру на тёмный ламинат, или поклеите обои красного цвета – это никак не скажется на конечном результате, потому как при подобном подходе Вы сами решаете какова должна быть цветовая гамма вашей сцены и в любой момент можете её задать такой, которая наиболее подходит для конечного результата. К стати! Если действительно надумаете поклеить на стену обои, то для них не забудьте провести ту же самую процедуру, что и для паркета. Ведь визуализатор Vray сам об этом не догадается. Ему нужно обязательно об этом сказать.

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

Следующий слот – это материал Reflect mtl.
Данный материал используется в том случае, если мы хотим что бы объект, которому назначен этот материал, попадая в зону объекта обладающего рефлективными свойствами – менял свой внешний вид. Звучит наверно весьма заумно и непонятно. Скажу проще. Если мы хотим что бы в зеркале отражался не паркет, а другой материал, то этот самый материал и следует назначить в качестве Reflect mtl. Назначим в этот слот материал плитки. После рендеринга получим следующий результат:

Vray материалы: материал VRayOverrideMtl

Видно, что в зеркале отражается не паркет, а плитка.

Если Вы подзабыли как сделать зеркало, то в самом простом случае, выбираете стандартный материал VrayMtl:

в свойстве Reflect устанавливаете чисто белый цвет (RGB = 255) и не забудьте обязательно снять галочку в свойстве Fresnel reflections. Вот зеркало и готово.

Следующий слот – это материал Refract mtl.
Специфика этого слота заключается в том, что после визуализации сцены, при попадании визуализируемого объекта в зону действия материала, обладающего рефрактивными свойствами, мы увидим тот самый материал, который расположен в этом слоте. Проще говоря – если какой либо объект находится под стеклом (или другим объектом обладающим рефрактивными свойствами), то под стеклом мы увидим тот материал, который расположен в этом слоте.
Создадим материал простого стекла (сильно здесь заморачиваться не будем, стекло будет совсем простым). В качестве материала выберите стандартный материал VrayMtl и установите параметры, которые приведены на рисунке:

Обратите внимание, что здесь мы установили цвет параметра Reflect в абсолютно черный (RGB = 0). Этот параметр влияет на отражение объектов сцены в стекле. В данном случае никакого отражения в стекле не будет. В реальной обстановке, такого не бывает, но в нашем случае мы специально не стали активировать этот параметр, что бы не нарушать чистоту эксперимента. Ведь главным действующим лицом у нас сейчас является параметр Refract. Вот его ты мы и активировали, что бы изучить работу слота Refract mtl.

Создадим в сцене стеклянный объект и отрендерим сцену:

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

Теперь для слота Refract mtl назначим материал всё той же плитки которую мы назначали для слота Reflect mtl в предыдущем примере. Для этого перенесём (зажав левую кнопку мыши) материал из слота Reflect mtl на слот Refract mtl:

Визуализируем сцену и получим результат изображенный на рисунке:

Теперь весь тот участок паркета, который попал под стекло, превратился в плитку.

Что касается последнего слота материала Shadow mtl, то при его исследовании меня ждало жуткое разочарование. По крайней мере получить цветные тени объектов, как это гарантировал первоисточник у меня не получилось. Возможно я что то не учёл, или не так понял, но я над этим работаю и, надеюсь, что в ближайшее время дополню статью материалом, который прольёт свет на эту проблему. Буду весьма признателен, если у Вас по этой теме найдутся какие то светлые мысли.

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

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

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

материал VRayOverrideMtl

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

Вот и всё, что я хотел Вам сказать в данной статье.

 

За предоставленный материал благодарю компанию Chaos Group (Болгария).

Наверх