Материаловедение в VRay
Материаловедение в VRay.
Здравствуйте! Меня зовут Тимур, и живу я в Новосибирске. Профессионально занимаюсь 3d не долго и редко, т.к. большую часть времени провожу за учебой в НГТУ.
По-моему, переход с MaxScanLineRender’a на VRay – вынужденный шаг для любого пользователя 3dsMax, которых желает получить лучший результат за меньшее время. Но с этим переходом так же сильно меняются и «правила игры», как в моделировании, так и в создании материалов. При этом второй пункт приходится изучать практически заново.
Цель урока – освоить основные методы создания красивых материалов и различных комбинаций их смешивания. Библиотеки готовых материалов это, конечно, хорошо. Но понимание и способность создавать их самому это еще лучше!
(Я буду использовать V-ray материалы там, где это только возможно. Если же у вас вдруг нет этой замечательной штуковины, то обязательно это исправьте и продолжайте читать). Версия Max8.0 sp3. V-ray1.47
В общем, приступим:
ВВЕДЕНИЕ. «Тестовая комната» или «Чтобы материалы смотрелись красиво»
Если у вас есть красивая и качественная HDRI то используйте её. Но мне все равно больше нравится создавать собственное окружение.
Вот первое, что пришло мне в голову:
Делаем полусферу и плоскость, конвертируем в Editable Poly. Разворачиваем все полигоны сферы (Flip). Выделяем понравившиеся полигоны сферы и Detach их в отдельный объект. (Это будет наше освещение). Для того чтобы была красивая тень, я удалил еще большой кусок полигонов для окна. материл пола: VrayMtl + текстура стены: VrayMtl маленький свет: VrayLightMtl (разного цвета и значения Multiplier) Зачем? Чтобы на материалах с отражениями было чему отражаться, да и вообще, чтобы создать «атмосферу». В окно вставьте Vray Light. Значения VrayLightMtl Multiplier подберете индивидуально, в зависимости от размеров помещения. Пара тестовых рендеров и «ОК». (не забудьте загрузить сам Vray!!!)
Делаем GI и вперед! В настройках сильно не мудрим… Большое количество HSph. и Interp.sampl. необходимо, так как VrayLightMtl – по сути генератор GI, и ему необходимо большое количество семплов. Иначе быть пятнам и разводам. (по той же причине VrayLightMtl не работает без глобального освещения)
|
ГЛАВА I. «Простые материалы»
1)Пластик.
(У меня есть робот, машина, компьютер и еще много всякой всячины, над чем будете экспериментировать вы, я не знаю.)
Самый простой материал похожий на пластик – подкрашенный VRayMtl. Если добавить отражение, получится вот, что:
Заметьте, галочка Fresnel reflections дает нам увеличение силы отражения при большем угле взгляда. Т.е. взглянув на плоскость перпендикулярно, отражения мы не увидим. Белый цвет Fresnel Reflect дает полное отражение при углах приближающихся к Hilight glossiness позволяет получить блик даже от обычного Omni. Он «размыливает» четкий блик от ИС (источника света), но не затрагивает отражение и не требует дополнительных затрат на время вычисления. Max depth (максимальное количество переотражений) – так как в сцене мало отражающих объектов нам достаточно 2-3 раза. (квадратик с буквой «L» - Lock открывает и закрывает доступ к параметру) Прибавив параметр «Refl.glossiness 0,8», мы добавили эффект размытости отражения. Материал стал правдоподобнее, но и время рендера возросло.
Чем больше значение Subdivs, тем медленнее и качественнее проходит процесс рендеринга. Но не все так печально, и на помощь медленным «Атлонам» и «Пням» придумали галочку «Use interpolation». Она активирует специальный алгоритм просчета… который анализирует сцену и уменьшает общее время рендера, за счет качества, разумеется.
Ура, качество пострадало, но исходная минута достигнута!!! Вот пример для плоскости без интерполяции:
С интерполяцией:
Бездумное применение интерполяции чревато последствиями. Крутим свойства материала вниз…
Количество Min rate и Max rate как раз отвечают за количество RenderPrepass проходов. Т.е. к двум проходам для GI прибавится еще Min rate и Max rate интерполяции. Чем цифра Min rate и Max rate меньше, тем хуже результат (и крупнее квадратики при Prepass интерполяции). Другие параметры так же отвечают за качество. Чем меньше Clr thresh и Nrm thresh, тем качество лучше. Чем больше samples тем лучше. Если в сцене много сложной и извилистой геометрии ставьте Min rate и Max rate равными 0 и близкими к нулю. Если же у вас большие плоскости, то около -2 или -3. Но при этом уровень размытости увеличится. (Еще, не советую использовать маленькие Min rate и Max rate для преломления. Но об этом позже.) Если отражение или преломление – основное свойство вашего материала, то лучше не интерполировать. Иногда результат даже лучше, чем раньше! Но редко. Все же главное, взгляните на разность в скоростях! Коэффициент Glossy 0,8 – очень сильно размазывает отражения. Это характерно лишь для матового пластика. В большинстве случаев достаточно и Glossy 0,9-0,95. 2. Металлы. На различных комбинациях отражения и Glossy построены многие другие материалы, такие как хром, драгметаллы, полированный метал, алюминий. Найти библиотеки таких материалов на форуме не составит труда. Металлы отличаются от пластика большей степенью отражения. Пара примеров не повредит:
Использование интерполяции в случае полного отражения сильно повредит качеству либо еще больше замедлит рендеринг. Белый цвет Reflection - не то что бы хром, а скорее идеально гладкая зеркальная поверхность. Сделав отражение светло серым и слегка размытым, а Diffuse абсолютно черным я добился большей выразительности:
RGB 249,180,90 Меняйте тон золота очень осторожно. Позолоченные материалы (такие как фурнитура и бижутерия) имеют более желтый оттенок и меньшую степень размытости. Так же, решающее влияние на тон оказывает окружающая обстановка. Попробуйте этот же материал в красном, бардово-коричневом окружении. Золото – один из самых неоднозначных материалов, так как существует бесконечное количество его оттенков. Я перерыл все свои библиотеки материалов, но не нашел такого золота, которое бы мне понравилось. Золото изменяет цвет бликов и отражений в соответствии со своим оттенком. Сколько я не разглядывал золотые украшения – не видел абсолютно белых бликов! Оранжевый цвет Reflection даст нужный оттенок, а черный цвет Diffuse слегка затемнит общий тон, так как оранжевый цвет не 100% белый.
Сталь. Сделать полированную сталь очень легко. Здесь к отражению добавляется сильное значение Anisotropy – 0,9. В сочетании с Glossy это смотрится вот так:
Чтобы понять как работает анизотропия достаточно покрутить ее настройки и все будет видно в MatEditor’е. Тут же различные «шейдеры» (как в standard материале) Обратите внимание на Local axis и сможете управлять «полюсом» анизотропии для лучшего результата.
Стоит помнить, что объектов, которые обладают свойствами отражения, гораздо больше чем кажется! Даже лист бумаги и булыжник обладают отражающими свойствами. В комбинации со сложными текстурами, отражения и блики внесут живость и реалистичность. 3. Прозрачные материалы Все вышеуказанное работает и для канала Refraction (преломление). Стекло, прозрачная пластмасса, жидкости делаются добавлением цвета каналу Refraction. Параметр IOR (коэф.преломления) пригодится, если у вас есть взаимодействие разных по природе веществ. К примеру, рюмки с водкой. Fog color – в данном случае определяет цвет стекла. Он зависит от толщины материала. Если вам этого не надо, то регулируйте цвет на канале Refraction. Желательно поставить галки на Affect shadows, чтобы тень тоже была подкрашена. Fog подбирается экспериментально, узнать как будет выглядеть цвет вашего стекла можно уже на первой стадии render prepass. Даже для очень прозрачного стекла рекомендую выбрать Fog цвет, иначе стекло будет черноватым на торцах. Элементарное стекло:
Полупрозрачный пластик: Здесь мы придали нужный оттенок для Fog color, и установили белым Refract. Для ускорения рендера я использовал интерполяцию отражения, так как его роль в столь мутном материале второстепенна.
Хороший результат можно получить использованием канала Bump (в свитке Maps) с любой текстурой. Например, Noise:
Нельзя промолчать про еще одну важную «фишку» VRay – подповерхностное рассеивание света.
На этом примере видно, как свет от ИС виден на другой стороне стола. Свет распространяется внутри материала. Таким образом, можно получить еще один вид пластика или прозрачную резину. Обязательно нужна хоть какая-то степень прозрачности. Thickness – влияет на глубину проникновения луч. Light multiplier – общая яркость рассеиваемых лучей. Scatter – коэф.рассеивания Fwd/bck – прямое и обратное рассеивание Удобно использовать этот эффект для создания различных светильников, настольных ламп и т.п. так как это не требует больших затрат времени на настройку материала и смотрится весьма реалистично!
Пара экспериментов с настройками и вы освоите принцип работы. Вообще говоря, коэффициенты можно вовсе не трогать… практика показала. А вот Thickness и Light multiplier пригодятся. |
ГЛАВА II. «Вникаем в основы Material Editor’а»
Напомню, что в Material Editor’e все материалы, карты, цветовые квадратики и т.д. можно перетаскивать мышью, или копировать и вставлять их нажатием правой кнопки мыши. Это сильно облегчает работу с многослойными материалами
А так же активно пользуйтесь кнопочками для навигации:
В основном, чтобы добиться игры цвета на неровной поверхности используют процедурные карты fallow, gradient ramp, mix, composite. А из способов смешивания материалов blend, composite, shellac. Покраска автомобиля – дело сугубо творческое. Мне больше нравится лакировать ее с помощью Shellac материала. (Его суть в том, что он смешивает цвета базового материала с цветом покрытия) Пример:
Здесь четкие блики «лежат» на отражениях с сильным значением glossy. Эффект двуслойности. Пример применения fallow для канала diffuse:
Для того чтобы сделать переход цветов четче нужно подправить кривую mix curve:
Делаем: выберем shellac материал. На канал base добавим VRayMtl. Сделаем этот материал очень темным зеленым, чтобы при наложении бликов от сильного glossy и «лака» получить нужный цвет. Простое Fresnel Reflection мне не подходит, потому что мне нужен более резкий переход от сильного отражения по краям и слабого (но не доходящего до нуля) отражения в центре. Подойдет fallow:
Обратите внимание, что черный цвет заменен на серый, (значение около 45). Теперь поднимемся на уровень вверх. И назначим fallow на канал glossiness:
Здесь цвета так же смещены примерно на 45 единиц от чисто белого и чисто черного, чтобы не было полного размывания в центре и четкого отражения на краях. Количество reflect subdivs я поставил 15, хотя можно и больше и меньше. Это зависит от окружения. Материал лака: тут все проще, так как нам от него нужны лишь четкие блики и оттенок цвета.
Shellac color blend (смешивание цветов) настройте как вам угодно. Мне хватило 80, хотя крутить этот параметр можно хоть до 9999. Теперь сделаем плитку как на рисунке справа. Мы принципиально откажемся от текстур, а воспользуемся процедурными картами и VRayMtl. Итак, нам надо чтобы между квадратиками был бетон, а сами квадраты были с узором. К тому же мне захотелось, чтобы поверхность бороздок была зеркальной.
Возьмем Blend материал. Назовем его «плитка» (это важно, чтобы не потеряться). Material 1 – обычный VRayMtl с текстурой Dent на канале Diffuse. Для Dent я взял цвета, которые, как мне кажется, подходят для имитации бетона:
Так как это процедурная текстура, то размер Size зависит от размера плитки. Теперь перейдем к настройкам Blend «плитки» и на канал Mask сделаем текстуру Tiles. В свитке Advanced control назначьте абсолютно черный и белый цвет и уберите fade variance. Это нужно, чтобы цвета квадратиков плитки не смешивались с бетоном. В preset type я поставил Running bond. Теперь черные плоски это бетон, а белые квадраты Material 2. На Material 2 поставим еще один Blend и назовем его «квадратики». Сделаем Material 1 «квадратиков» VRayMtl с черным каналом Diffuse и слегка серым (почти белым) каналом Reflect. Назовите этот материал «бороздки». Material 2 «квадратиков» тоже VRayMtl сделаем черным канал Diffuse, а канал Reflect желто-белым, добавим Glossy 0,85. Subdivs и Max depth по-вкусу. (теперь отражения будут подкрашены желтым) Вернемся на уровень вверх к материалу «квадратики». Каналу Mask присваиваем новый Tiles. Делам тоже, что и в прошлый раз, но добавим еще пару штрихов.
Мы увеличили количество тайлов, настроили ширину бороздок и добавили умеренный шум. Чтобы повернуть текстуру на 45 градусов: в свитке Coordinates. Что должно получится:
Осталось придать объём. Для этого я воспользуюсь VRayDisplacementMode. «Выпуклость» материала управляется интенсивностью карты. Белый – масимальная высота, черный – нулевая. 1. Вернитесь на уровень материала «плитка» и зайдите в первый материал. 2. Найдите канал Displacement в свитке Maps и скопируйте туда Tile карту, которую вы сделали для бетона. Поставьте Blur 3,0 (в свитке coordinates) чтобы края плитки не были грубыми. 3. Теперь рядом с белым квадратиком нажмите кнопку None и назначьте (скопируйте!!!) туда карту Tile сделанную для бороздок. Так как глубина бороздок много меньше, чем глубина бетона, то заменим черный цвет на серый (примерно 165,165,165). Назначим нашей плоскости модификатор VRayDisplacementMode и скопируем туда карту из канала Displacement. Не забудьте убрать галочку перед каналом Displacement в материале, чтобы он нам не мешал. Можно воспользоваться Bump’ом, только тогда текстуры надо накладывать на те материалы, где этот бамп нужен. В моем примере это материал поверхности квадратика и зеркала.
Очень важной частью Material Editor’a является его способность работать с растровыми текстурами «не выходя из дома», а используя свиток Output в настройках текстуры. Вы можете менять яркость и цветовой баланс, добиваясь тем самым нужного цвета текстуры. Это позволяет значительно увеличить реальное количество доступных вам текстур.
Вот пример того, что можно сделать с одной текстурой:
Все это одна стандартная Max’овская текстура гранита! Хочу показать еще один пример использования процедурных карт, в частности gradient ramp:
То, что вы видите – результат моей «исследовательской работы». Это всего лишь Plane с материалом. Незамысловатый узор создан использованием карты gradient ramp в режиме Interpolation: solid. Овалы – radial градиент. Растяжение, положение и наклон настроены в свитке coordinates. Палки – линейный градиент. А чтобы овалы и палки накладывались друг на друга нужно поставить галочку Alpha from RGB intensity (сделать прозрачность исходя из интенсивности карты, т.е. черный цвет преобразуется в прозрачность, серый в полупрозрачность и т.д.) Что я этим хотел показать? Да то, что если вам вдруг понадобилась карта кругляшка, квадратика и прочих примитивов не обязательно лезть в фотошоп. К тому же ВСЕ параметры можно анимировать! Окинув взглядом свою комнату и пошарив в маминой шкатулке с украшениями и даже выглянув на улицу, я не нашел ни одного материала для которых недостаточно перечисленных методов, поэтому заканчиваю. Напоследок скажу, что самый лучший инструмент для создания реалистичных и красивых материалов это ваша наблюдательность и способность сразу же разделять на слои увиденный в реальности материал. Иногда это доходит до особой формы шизофрении, но от этого еще никто не умер! Удачи. |