ПРОЦЕДУРНЫЙ МАТЕРИАЛ ДЕРЕВА | SUBSTANCE DESIGNER

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

И так, для начала давайте посмотрим, что у нас получится в итоге:


А теперь давайте приступим к разбору самого материала.

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


Данный материал можно разделить на 5 основных частей: генерирование волокон древесины, создание маски для состаривания лакокрасочного покрытия, окраска в цвет на основе сгенерированных волокон и нормали с картой шереховатости.


Волокна дерева


Всё начинается с раскидывания обычного линейного градиента по холсту с небольшим рандомом поворота и высокой плотностью при помощи ноды Splatter. Далее, результат искажается крупным мягким шумом, проходя через ноду Warp. Это основа для волокон дерева. Следующий этап самый важный, здесь можно поэкспериментировать с нодой Gradient (Dynamic), используя в качестве Gradient Input плотно затайленный линейный градиент, чтобы создать изгибающийся рисунок волокон древесины и далее смешать это с основой из предыдущего этапа.
После того, как результат вас устроит, можно добавить более выраженные завихрения сучков, прогнав волокна через ноду Directional Warp, используя маску с крупными мягкими пятнами в качестве Intensity Input. Здесь можно закончить, подмешав к результату обычный Directional Noise для придания дополнительной детализации.


Маска для эффекта состаривания


В этой части за основу берутся созданный ранее волокна древесины и смешиваются с шумом, трещинками, царапинами и т.д.. Здесь самое важное - подобрать подходящий шум и/или преобразовать его в нужную маску для "отшелушивания/протирания" лакокрасочного покрытия. Второй немаловажный момент - нужно выдержать баланс яркости и контрастности между волокнами и шумом, чтобы в итоге не были слишком много волокон или шума на финальной маске состаривания.
И последним шагом в создании этой маски является нода Histogram Scan, которая позволяется очень легко контролировать степень "износа". Если пропустить сгенерированную ранее маску через эту ноду, установить свойство Contrast близко к максимуму, то можно получить отличный результат. В итоге, просто меняя Position, вы будете менять уровень износа поверхности.


Цвета и выбор типа покрытия


Здесь всё крайне просто: подключаем к ноде Gradient Map всё те же волокна, открываем редактор градиента, нажимаем Pick Gradient и берем ключи для градиента с любого понравившегося изображения. Конечно, лучше брать в качестве референсного изображения именно деревянные поверхности в желаемой цветовой гамме. Далее корректируем результат по вкусу с помощью Levels и HSL и делаем разветвление на две ноды Blend. К обоим нодам можно подключить один и тот же цвет в качестве верхнего слоя, но указав разные режимы смешивания: у одной - Copy - это будет плотная краска, у другой - Overlay или Softlight - это будет полупрозрачный лак, который "вскрывает" волокна древесины и делает их более насыщенными и контрастными, а в качестве Opacity для нод Blend использовать маску состаривания из предыдущей части. Последним шагом будет нода Switch, название которой говорит само за себя.


Нормали и шереховатость


Этот этап самый простой, здесь нужно всего лишь пропустить, созданную в первой части, текстуру волокон через ноду Normal. А для шереховатости - откорректировать яркость и контрастность этих волокон и подмешать их же верхним слоем в режиме Multiply, используя маску состаривания в качестве Opacity.


На этом базовый материал дерева готов.
Ниже вы можете увидеть пример, как он выглядит на объекте:


Пишите свои мысли и вопросы по поводу этого материала в комментариях :)