Я нашел в сети отличный урок по созданию реалистичных микроцарапин с помощью Vray (и 3ds Max). И решил выложить перевод. Я исправил некоторые неправильные места в оригинальной статье, а также дополнил.
Принципы создания такого шейдера универсальны, а значит вы сможете их применить не только в V-Ray + 3d Max, но и в любом другом 3D-пакете (Maya, Houdini...)
Радиальная “паутинка” вокруг блика на отражении вызвана микроцарапинами, отражающими свет под разными углами. Мы довольно часто видим этот эффект на потертых, поцарапанных, изношенных поверхностях.
Довольно долго я пытался добиться этого эффекта в VRay, но… безуспешно.
Я поискал решения на форумах, а также поэкспериментировал и думаю, что нашел метод, который дает хорошие результаты. Естественно - сделал урок 🙂
Прежде всего, забудьте об использовании обычной текстуры Bump; по опыту скажу - она не даст нужного эффекта. Для имитации этих чрезвычайно крошечных царапин Вам нужно использовать Normal Bump (карту нормалей).
Рисовать ее лучше в фотошопе, так как там вы можете легко сделать ее тайловой (бесшовной).
Нарисуйте кучу царапин в центре изображения, следите, чтобы ни одна из них не касалась границ изображения. Затем используйте фильтр Offset (Filter -> Other -> Offset). Сместите с помощью него вашу текстуру ровно на половину по обеим осям и нарисуйте еще несколько царапин в белых областях. Продолжайте, пока все не “расцарапаете”. [в оригинальной статье есть видео, где автор показывает, как он это делает]
Вот полученная мною карта (если кликнуть, то можно скачать в большом разрешении):
Теперь, используя
Важно! Не используйте карту нормалей приведённую выше. Она здесь приведена только для примера. Вам нужно создать карту в разрешении 4k самостоятельно, либо скачать
Прекрасно, теперь, когда у нас есть карта нормалей, мы можем создать шейдер VRay.
Материал будем создавать идеально отражающим. Берем VrayMtl, цвет в слоте Diffuse - чисто черный, в слоте Reflection - чисто белый, галочку возле Fresnel reflections - НЕ ставим.
В слот Bump кидаем стандартную максовскую Normal Bump и загружаем туда нашу полученную карту нормалей. Проследите, чтобы Gamma для загружаемой карты нормалей была выставлена в 1.0 и отключен Filtering (на свитке Bitmap Parameters). В поле напротив слота Normal я выставлю силу нормалей - 1,5.
Теперь конвертируем материал в VrayBlend (оставляем существующий материал как подматериал) и дублируем первый слой несколько раз.
Для каждого последующего слоя покрытия (Coat Material), делайте силу нормалей немного меньше. Это создаст более гладкий переход вокруг бликов на микро потёртостях.
Например, я использовал 1,5 для базового материала, 1,0 - для первого слоя, 0,5 - для второго, и, наконец, 0 - для третьего. Последний слой даст чистое отражение без царапин. Изменяя Blend amount (силу смешивания) для этого (третьего) слоя, вы контролируете силу царапин. Чтобы сделать поверхность мене изношенной, можете накрутить силу смешивания (сделать цвет смешивания белее) для третьего слоя:
В итоге мы получаем вот это:
В принципе - это все!
Если Вам нужны такие царапины на полированном пластике - нет проблем. Создаёте новый VrayMtl, настраиваете цвет Diffuse и т.д. и используем этот материал в качестве Base material в новом VrayBlend.
Теперь добавляем наш шейдер поцарапанных отражений в слот Coat. А в слот Blend назначаем карту Falloff и выставляем Falloff Type - Fresnel, в параметрах указываем нужное нам значение IoR (как правило от 1,4 до 3).
Та-да! Ваш потёртый пластик!
Таким же способом можно сделать царапинки на любом материале. Правда стоит обращать внимание на базовый материал - если он имеет сильные глянцевые отражения, то их лучше отключить, а использовать отражения из материала покрытия.
Естественно, за кадром остались такие моменты, как тщательный подбор силы карт нормалей на различных слоях или изменение самого количества слоев... Но, и этого для начала хватит с лихвой.
У меня есть серия шикарных статей про то, что делает 3D картинку реалистичной.
Также читайте статью как работает материал Blend, чтобы лучше его понять.
Возможно, Вам известен иной метод достижения подобного результата. Если да - поделитесь им, пожалуйста, в комментариях.
Подпишитесь на обновление блога (вот 3 причины для этого).
Спасибо
Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.
комментария 32 к статье “Как сделать реалистичный изношенный затёртый материал с микроцарапинами в VRay + 3ds Max”
Извините, в данный момент комметарии закрыты.
О, спасибо, замечательный урок)
Статья замечательная, но заголовок поправьте… 🙂 («реалистиНЧые»)
Блин, спасибо! Исправил.
крутатенюшка ;))))
Не получаются микроцарапины. Слишком крупные и жирные. В общем не так как в туториале.
Рендер
У меня всё получилось.
Поиграйтесь с tile текстуры normal (сделайте tile не 1, а 3, к примеру). Поиграйтесь с силой смешения в Blend.
Спасибо. Лучше, но все ровно не такой результат как у автора. Такое ощущение что со светом что то. И силу бампа крутил, и бленд, и тайлинг.
Я открыл вашу сцену. Что-то как-то у вас всё в сцене напутано с шейдером. Также ИС стоит очень яркий (ярче солнца на улице 😉 ), нет глобалки, стоит Rуinhard (не знаю как это влияет, но я на Linear тестил). Ну и самое главное, у вас настройки семплинга очень плохие (накрутите Max Subdivs или color threshod). Именно из-за них получаются такие зубчатые и крупные микроцарапины.
Лучше, спасибо 🙂 Но как то…
Антиалясинг отключил. Глобальное освещение и Linear поставил. То что Вы сказали (Max Subdivs, color threshod) накрутил.
Всё еще много шума из-за недокрученных Max Subdivs, color threshod. А значит и микроцарапины не такие мелкие и гладкие
Ну что-же… Этому «материалу(шейдеру)» удалось меня хорошенько пнуть и заставить перейти на «Slate Material Editor». Ей-богу запарился в экспериментальных целях раскидывать instance-слоты normal-карт по всему Material-Editor-у и переключаясь туда-сюда (с подтормаживанием) подкручивать параметры, вечно забывая какую карту в каком слоте я подкручиваю…
В Slate-Режиме, сразу все карты (ноды) шейдера видны и можно без подтормаживаний между ними переключаться не забывать какую часть шейдера я редактирую… Ну или у меня просто «Maya/UE — Головного Мозга» и я к нодам уже так привык что мне в них удобнее работать…
Не-не (не Maya головного мозка :)))), чистую правду написали. Я тоже как раз после этого урока перешёл на нодовый Slate ME :))))
У меня возникла проблема… при рендере.
На объекте отражения дублируются 4 раза…
У меня та же беда. Может кто-то знает, что делать? В гугле ответ не нашел (может не там искал?)
Это связано с тем, что вы при импорте нормал карты не указали гамму 1.0.
А если вы делали нормали не с помощью указанного в статье плагина, то возможно у вас не получился чистый фиолетовый цвет [RGB 128,128,255] между царапинами.
Вроде похоже, но все равно у автора они как то мельче и реалистичнее что ли….
I get triple reflections with this method, been trying all day to fix it but I am stumped. Once I add a Normal Map to the Normal slot on the first shader the reflection shifts but the bumps stay in the same place. If the change the amount from 1.0 to 1.5 it shifts even more. If I fallow through with the tutorial with 1.5, 1.0, .5 and .0 I get 3 different offset reflections. I tried a different Normal maps but they all seem to cause this problem. I tried just a solid color like red, and no shifting, works perfectly. Any ideas why reflections shift when you add a normal map?
It’s because you didn’t change gamma on import. You should use gamma 1.0 on importing normal map.
Thank you! That worked! Was struggling with that all day.
у меня полный факап….как у автора не вышло( прочла все предыдущие комменты….накручивала и одно и другое, и всякие способы пробовала. и даже с текстурой представленной пробовала. в оригинальной статье тоже нет ответа на вопрос. видимо автор что-то утаил от публики. и как у Милославского тоже не вышло, даже не смотря на то что brute force кол-во семплов аж 48 (!)
Покажите, что у вас получилось.
Юрий, ответила вам по почте, если поможете то огромное вам спасибо!
Я посмотрел вашу сцену.
Первое что я заметил — это то, что у вас фиолетовый цвет на карте царапин scratchmap.jpg получился RGB [129:128:255]. Я не знаю почему так произошло, но фиолетовый цвет должен быть ЧИСТЫМ — 128:128:255
Возможно это из-за метода, которым вы сохраняли эту текстуру (старайтесь не использовать форматы сжимающие с потерей качества, такие как JPG) или вы что-то в настройках напутали…
Из-за этой ошибки могут появляться вторичные отражения.
Микроцарапины как раз и имеют такое свойство, что их видно ТОЛЬКО возле ярких источников света. Это не баг — это фича 😉
Шумность — это из-за недостатка порога цветности между соседними пикселями (Color threshold). У вас он стоит 0.1 — это очень много. Если грубо, то это означает, что разница между цветом двух соседних пикселей может быть 10% и поэтому царапины кажутся шумом, а не сплошными линиями.
Поставьте Color threshold = 0.003
Также на шумность влияет количество семплов на пиксель. В вашем случае за это отвечает параметр Max. Rate в свитке Adaptive Subdivision image sampler (поскольку в качестве сэмплера вы выбрали Adaptive Subdivision). Я бы его поставил 8 (у вас там 2).
Также я бы убрал фильтрацию картинки (снять галку Image filter), чтобы картинка не замыливалась (тогда царапины будут еще чётче). Image filter — это постэффект. Т.е. его вы сможете и самостоятельно ПОТОМ добавить в Фотошопе.
Также можно еще уменьшить текстуру царапин с помощью увеличения количества тайлов (Tiling = 13, к примеру. У вас там сейчас 5).
Если вам позволяет ваша версия VRay, то я бы вместо Blinn указал бы тип блика GGX (это в настройках материала, на свитке BRDF). Он более реалистично просчитывает блики.
По-поводу оптимизации вашей сцены. Вы очень сильно накрутили глобальное освещение (GI) и сабдивы в свойстве отражений материала (у вас Reflect Subdivs 32), но эти параметры никак не влияют на качество отрисовки царапин, поэтому я бы значительно снизил их.
P.S. Извините за поздний ответ. Только сейчас нашлось свободное время глянуть вашу сцену.
P.P.S. Шикарного вам настроения! 🙂
Путем неимоверных усилий смог добиться только появления царапин в местах ярких направленных бликов которые имеют очень резкие границы.Подскажите в чем может быть дело?
Покажите результат.
я не знаю как сюда фото добавлять (
Залейте не любой файлообменник, или на хостинг картинок, а сюда ссылку бросьте. Или можете мне сразу на мыло 3dyuriki@gmail.com
Где взять этот плагин для фотошоп?
В статье ссылка на него.
Ради справедливости — на полгода раньше чем VisCorbel (который известен своими заимствованиями) — обсуждение и решение этой проблемы
http://3dcenter.ru/forum/index.php?showtopic=115694
Большое спасибо за урок и текстуру
Здравствуйте. никак не получается получить царапины, от слова совсем. Повторяю все идентично шаг за шагом, а царапин нет. Не подскажете что делать?