Уроки: 3ds Max

Создание текстиля с помощью процедурных текстур

Здравствуйте. Меня зовут Ярков Дмитрий. Я живу в городе Екатеринбурге и работаю моделлером и визулизатором на проекте DO ROOM. Я использую 3ds Max и VRay и сегодня хочу познакомить вас с созданием материала вот такой зеленой ткани:

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

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

Я использую гамму 2,2. В общих чертах, она позволяет легче настроить теневые участки за счет смещения градаций светлости влево по шкале "черное-белое". Чтобы ее включить, зайдите в меню Customize->Preferences, перейдите на вкладку Gamma and LUT и поставьте настройки, как здесь:

Отлично, подготовительные операции проведены. Теперь, прежде, чем открывать редактор материалов, следует внимательно рассмотреть картинку и определить, как именно материал наложен на объект. Итак, что мы видим? Основная масса ткани - темно-зеленая, даже ближе к голубой. На ней разбросаны вкрапления бледно-зеленых точек, которые и представляют наибольший интерес. Но точки разбросаны не в хаотичном порядке. Давайте попытаемся уловить закономерности в их расположении.

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

Во-вторых, на открытых и плоских участках поверхности точки тоже есть, но их плотность меньше и они гораздо бледнее.

Начнем создавать материал. Открываем редактор материалов и создаем материал VRayMtl. Щелкаем на слоте справа от Diffuse и добавляем в него карту VRayDirt.

Что делает эта карта - уже все, наверное, знают. Грубо говоря, она применяется для создания "грязи" в углах и по краям объекта, при этом реагирует на любые пересечения или просто близко расположенные объекты. Вот демонстрация ее использования:

Как видите, основной цвет объекта - серый, но в местах пересечения с другими объектами он меняется на красный. Во втором случае стоит галочка Invert Normals, поэтому все наоборот. Нам эта карта понадобится для уплотнения массива точек на краях объектов. Параметры поставьте, как на рисунке:

Radius - задает величину распространения "грязи" от краев объекта к его центру. 30 см не так уж много: большая часть этого расстояния скроется картой, которую мы наложим.

Subdivs - задает качество дирта. При низких значениях будет шуметь.

Задаем цвета Occluded Color и Unoccluded Color. Первый - это наши точки, он будет бледно-зелено-голубой. Второй - основная масса ткани, будет темно-зелено-голубая. Можно отрендерить.

Что мы видим? Карта VRayDirt послушно поменяла цвет объекта с краев. Но пока что все слишком ровно, и теперь мы должны наложить на нее карту, чтобы появилась желанная неоднородность.

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

Двигаться следует от большего к меньшему. Начнем с больших темных пятен. Идем в слот Radius и кладем туда карту Mix. Это, я думаю, классическая всем известная карта, позволяющая смешивать два цвета/карты по черно-белой маске. Цвета оставляем по умолчанию (черный-белый). В качестве маски (слот Mix Amount) кладем процедурную карту Planet. Чем хороша эта карта: она содержит большое количество цветов (8), которые можно весьма разнообразно смешивать. Вообще, эта карта, исходя из названия, предназначена для имитации поверхности планет из космоса: в ней есть три цвета для воды и пять цветов для материков и островов. Минус в том, что на эти цвета нельзя положить карты. Но мы обойдемся без них. Настройки ставим как у меня здесь:

Поскольку текстура процедурная, настраивать UVWMap на объектах или делать развертку не нужно. Теперь возвращаемся к карте VRayDirt и снижаем процент влияния карты Mix до 97 (число справа от слота). Это позволит нам получить более четкую бледную полоску у границ объектов. Рендерим:

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

Настроек немного, поэтому разобраться легко. В нашем случае важными являются Size (размер текстуры) и Threshold (соотношение темных и светлых пятен). Рендерим:

Какие симпатичные точечки! Но почему их нет с внешних краев объекта (например, подушек)? С этим разберемся позже. На этом заканчиваем работу со слотом Radius и возвращаемся в корень VRayDirt. Теперь попробуем несколько разнообразить эти пятна, а то они слишком уж однородные. Кидаем в слот Occluded Color карту Smoke. Суть та же, что и у Stucco, просто немножко другой алгоритм. В оба слота кидаем еще по такой же карте. Вот настройки всех трех:

Как видите, карта большего размера включает в себя две карты меньшего размера, с разным уровнем яркости. Рендерим:

В целом стало чуть темнее, но это не беда - скоро исправим. Зато появилась дифференциация яркости, которую при желании можно усилить.

Давайте добавим белых пятен с внешних границ объектов. К счастью, это несложно. Возвращаемся на самый первый уровень материала, нажимаем правой кнопкой по VRayDirt и выбираем "Copy". Теперь переходим в этот VRayDirt, щелкаем правой кнопкой по единственному оставшемуся слоту Unocludded Color и жмем "Paste (Copy)":

Настройки второго VRay Dirt оставляем такие же, только ставим дополнительную галочку Invert Normals. Это позволит добавить наших точек не только с внутренних, но и с внешних краев объекта. Рендерим:

Отлично! Количество точек возросло вдвое, а их суммарная яркость увеличилась. Теперь возвращаемся к описанию материала: "на открытых и плоских участках поверхности точки тоже есть, но их плотность меньше и они гораздо бледнее".

Ок, в нашем новом VRayDirt как раз для этого есть свободный слот Unocludded Color. Кидаем в него уже знакомую карту Mix с текстурой Planet. Параметр Continent Size меняем на 9,0 - пусть текстура будет в 4 раза больше предыдущей.

Первый цвет Mix делаем темно-зеленым, ну как основная ткань. Во второй слот кидаем Stucco, а в него - две Smoke с такими настройками:

Рендерим:

Замечательно! У ярких массивов на фоне появились зеленые разводы. В целом, диффузная текстура выглядит теперь интересной и разнообразной. Вот как выглядит ее иерархия:

Одинаковыми цветами я выделил инстансные карты - две Mix и две Smoke. На этом с диффузной текстурой закончим.

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

Возвращаемся в корень материала - теперь сделаем отражение. Не следует им пренебрегать - даже самый матовый материал отражает свет. Кирпич, бумага, ткань - любая поверхность. Вопрос только в силе отражения и его размытии. В нашем случае отражение очень размытое, да так, что собственно отражения и нет - остается только блик от источников света. Для таких случаев я применяю фейк. Идем во вкладку Options и отключаем параметр Trace Reflections. Теперь можно сколько угодно повышать силу отражения - его не будет, а вот блик останется:

Копируем нашу карту - на этот раз из бампа в рефлект. И тут нужно внимательно следить за цветами. Наше отражение зеленоватое, и оно должно быть контрастным. Первым делом отключите карту Unoccluded Color у последнего VRayDirt и поставьте вместо нее черный цвет - нам не нужно бликов на фоне. Осталось поменять только карты Smoke на Occluded Color обеих VRayDirt. Если вы еще не сделали их инстансными, сделайте сейчас: скопируйте Smoke с одного VrayDirt и вставьте в другой методом Paste (Instance). Теперь измените цвета карт на следующие:

Как видите, яркие зеленые цвета чередуются с полностью черными. В итоге получится контрастное отражение. Идем в корень материала и меняем параметр Refl. glossiness на 0.64 - сильно размытый блик. Финальный рендер!

Яркость пятен, попавших в зону блика, сильно увеличилась - хороший плюс к интересности материала! Материал ножек сделан по схожему принципу, останавливаться на нем не будем.

Итоговая иерархия материала:

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

Результирующий материал можно скачать здесь.

Всем спасибо:)

120908 Автор:
Актуальность: 691
Качество: 624
Суммарный балл: 1315
Выбор Публики
Голосов: 136 оценки

Отзывы посетителей:

2 3 | След.
аватар
 
Meditative 2 0
Отличный урок. Спасибо!
аватар
 
Dani_Filth 4 0
А у меня нет карты Planet !!!! Где мне её взять!!!???
аватар
 
Александр Иванов 2 0
Разобрался! Подбрил из готового мата! Спасибо ещё раз за урок!!!!!!!
аватар
 
Александр Иванов 2 0
Классный урок! Но что-то не могу в 2011 максе карту Planet найти .....=(((( не подскажете как быть? нету её!!!!!!!!
аватар
 
d`natura-t 5 0
Вот теперь надо подобное для mental сочинять))
аватар
 
Bogdan Vitkov 34 0
молоцом Дим!
аватар
 
Fosik88 26 0
У меня тоже пробелма была что не отражается врей дирт!
Чтобы решить проблему - в настройках Global включить галку на Filter maps for GI .
Всьо заработало у меня! Думаю вам тоже поможет.
аватар
  vip
BlackAgate 1047 0
Администратор Арх. Галереи
Его проявление зависит от угла и расстояния между поверхностями. Усилить можно, например, положив несколько диртов один в другой.
аватар
 
kkk7 0 0
Подскажите, пожалуйста, почему во vray dirt игнорируется occluded color? Этот цвет никак не проявляется при рендере.
аватар
 
Alflihodey 5 0
+5+5_Что нибудь попробую сделать со своими стенами на основе прочитаного.
Я там (роддом) по композиции и свету вариант выложил на W.I.P. (Work In Progress)
важно узнать Ваше мнение
это здесь:
http://www.render.ru/forum/viewtopic.php?post_id=783524#783524
аватар
 
Willfray 17 0
материал красив, урок хорошо написан, даже отлично, мне понравилось)

Larisia, посмотрите урок по меху, как я понял на данном диване бахрома была сделана как раз фуром
аватар
  vip
BlackAgate 1047 0
Администратор Арх. Галереи
Да ну их нафиг, эти слои... они сами собой получаются, потом не знаешь куда деваться
аватар
 
Max Durak 2 0
просто текстурирование и все это "материаловедение" для меня пока (надеюсь что пока) - темный лес, наверно самое трудное для меня в компьютерной графике. Как вообще определяется какой именно материал взять за основу, потом на его карты как еще материалы назначить, и т.д. и т.п... мне наверно надо тыщу уроков по созданию материалов просмотреть что дойти до материала из ТАКОГО количества слоев))
аватар
  vip
BlackAgate 1047 0
Администратор Арх. Галереи
Та фигня... Нужно просто попасть в хорошую компанию) Виртуальную либо реальную. Там уж как-то сам научишься.
аватар
 
Max Durak 2 0
это все конечно офигенно до безумия)), меня интересует вопрос: Как люди доходят до такого уровня знания???? я в шоке))) спасибо!!!
аватар
 
Warcrafter 1 0
Очень реалистично)
аватар
 
Larisia 1 0
Спасибо,
полезный урок. А хотелось бы еще про бахрому на подушках.Можно? Заранее благодарна
аватар
  vip
BlackAgate 1047 0
Администратор Арх. Галереи
_Recruit_, все уже сделано) Смотреть здесь
аватар
 
_Recruit_ 23 0
Просьба к автору - пожалуйста, если не сложно, сделайте анимацию поворота данного дивана в каком нибудь окружении (хочется на динамику "переливаний" посмотреть - сам бы я повторил, но просто времени нет)
ps Спасибо, хороший урок.
аватар
 
triAr 1 0
Иногда поражаюсь слишком сложным путям. В целом результат адекватен, не хватает разве ощущения бархатистости дополнительно, мягкости, какой то он затёрто-засаленный в итоге вышел, не кажется? Огромный минус такого подхода "без развёртки" состоит в том, что если эта модель понадобится с другой тканью, да ещё и в другом пакете, ну например Cinema, Softimage, то все процедурки уже никак туда не затянешь, только если переводить их в maps каждую, потом тайлить дополнительно PixPlant например, и потом в этих пакетах попытаться воссоздать такую же иерархию мата. Долгий путь. Но в данном случае мат плюша пожалуй самый непростой материал, и в принципе достойное решение конкретно для макса. Молодец.
2 3 | След.
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 869 уникальных посетителей