Делаем бетон в Substance Designer. Часть 1

Привет, это Антон Агеев, — я учу работать в Substance Painter и Designer и рассказываю, как создавать реалистичные процедурные текстуры на уровне профессионалов игровой индустрии.


Это — обучающий текст по созданию процедурной текстуры бетона в Substance Designer. Бетон — материал на первый взгляд тривиальный, но грамотное его использование поможет выстроить стилистику целой игры. Как, например, в прошлогодней Control.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Текстуры для неё, кстати, тоже делали в Substance Designer


Я подробно распишу процесс для новичков — попробуй повторить все шаги в статье. Начинать можно с нуля, в пробной версии Designer на месяц, — если не уверен, хочешь ли сразу тратиться на профессиональные программы.


В каждом шаге я буду указывать точные значения параметров, которые использовал я, но это не значит, что тебе нужно повторять всё за мной — экспериментируй!


Повторяй за мной, создай собственную текстуру и выложи её в комментарии под этой статьёй. Автор работы, которая соберёт больше всего лайков, получит приз от XYZ — любой артбук стоимостью до 2 тысяч рублей.


Поехали!


Собираем референсы

Заходим на Artstation, Behance, Google и ищем подходящие образы.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост
Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост
Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Вот три картинки, которые понравились


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


Настраиваем программу

Интерфейс Substance Designer выглядит так:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Выглядит пугающе, но быстро привыкаешь


Интерфейс делится на несколько рабочих областей: панель эффектов справа, 3D вьюпорт — отображение материала на 3D модели, 2D вьюпорт — показывает содержимое выбранной ноды. Снизу — рабочее место, которое называется Graph View, в котором мы создаем материал с помощью нод.

Нода — это блок кода или операция, которая создаёт или обрабатывает изображение

У нод есть исходящие порты — аутпуты, а у некоторых ещё и входящие — инпуты. Информация подаётся в инпуты, обрабатывается нодой и выходит из аутпута в следующую ноду.


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


Например, нода Blur принимает на вход изображение, а на выходе отдаёт его более размытым:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Инпут слева, аутпут справа


Такой подход к созданию текстур и материалов называют процедурным.


Одна из его особенностей — недеструктивный пайплайн. Это значит, что на любом этапе создания материала можно вернуться к любому действию и внести в него изменения и повлиять на результат.


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


В библиотеке Designer более двухсот нод. Они делятся на группы по задачам.


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


Существуют и другие группы: паттерны, операции и эффекты.


Вот, как выглядит исходная схема в Graph View. Я оставлю её в хорошем качестве на гугл-диске, чтобы ты мог обращаться к итоговому варианту, если запутаетесь.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

В каждом шаге разберём по кусочку схемы


Новый проект

Первым делом создаём и настраиваем новый проект.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

В окне нового проекта даём название будущему графику, устанавливаем разрешение — 2048х2048 точек, разрядность документа — 16 бит и в качестве шаблона из левого списка выбираем PBR(Metallic\Roughness).


Благодаря шаблонам можно быстро создать и настроить специальные ноды — аутпуты. Эти точки выхода информации из графика, и к ним подключаются текстуры, которые мы будем создавать в процессе работы над материалом.


Если забыли выбрать нужный шаблон или случайно удалили аутпуты в процессе работы, — не переживайте, их можно создать и настроить вручную.


Карта высот

Наша задача — грамотно построить карту высот (Height).


Height это чёрно-белая текстура, в которой яркость пикселя задаёт высоту точки в 2D пространстве.


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

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Таким образом, работая над картой высот мы создаём рельеф будущего материала, но только в одном измерении.


Карта высот занимает 80% работы.


Она также оказывает влияние на все остальные текстуры материала — цвет, микрорельеф (roughness), затенения (AO) и так далее.


Анализ референсов

Когда я начинаю работу над картой высот, я сначала анализирую референс и подмечаю схожие элементы материала. Думаю, как это можно реализовать в Designer.


К примеру трещины на первом референсе имеют схожую форму и характер. Бетон на второй фотографии покрыт мелкими глубокими порами.


Элементы которые мне приглянулись я создаю по отдельности, а затем смешиваю вместе, создавая сложную структуру комплексного материала.


Фактура

Первый элемент — текстура, которую я сделал на основе процедурного шума Fractal Sum Base.


Её задача — добавить небольшие неровности и фактуру бетона, для того чтобы материала не был идеально ровным.


Я собрал эту текстуру из четырёх нод, начал с процедурного шума Fractal Sum Base.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

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


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


Попробую объяснить ход мыслей в процессе создания текстуры.


Я начал с Fractal Sum Base потому что мне показалось что она похожа на однородную поверхность камня. Но в дефолтном состоянии она слишком сильно «шумит».


Поэтому добавилась нода Slope Blur для понижения детализации.


Slope Blur одновременно размывает и искажает текстуру, что привело меня к результату:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Тут я показываю результат с цветом для наглядности. До создания текстуры цвета мы ещё дойдём


Следующий шаг — нода Blur HQ с помощью которой я смягчаю получившуюся фактуру.


Последняя нода — Histogram Range. В ней с помощью параметра Range я управляю интенсивностью элемента:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Поры

Структура бетона неоднородна — в ней, помимо трещин, есть много мелких отверстий, разбросанных по всей поверхности, которые образуются из-за испарения воды изнутри материала.


Я создал поры из процедурной текстуры текстуры Dirt 1.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Для того, чтобы сделать глубину пор разнообразнее, я продублировал Dirt 1 и настроил их по-разному с помощью параметра Position в нодах Histogram Scan.


Регулируя этот параметр я управляю яркостью, поэтому в двух вариантах получается разное количество отверстий:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

После этого я применяю Slope Blur к обеим текстурам, чтобы упростить форму пор и сделать их похожими на отверстия в камне:

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост
Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Поры в материале


Процедурные шумы и эффекты

Slope Blur управляется другой текстурой. В нашем примере чёрно-белая текстура управляет интенсивностью эффекта. Чем ярче пиксель, тем сильнее в этом месте действует Slope Blur.


Чаще всего другими эффектами управляют процедурные шумы — дальше я буду называть их драйверами.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

У Slope Blur для пор, драйвером является BnW Spots 2


Результат эффекта зависит от текстуры-драйвера, поэтому не бойтесь экспериментировать. Это быстрее приведёт к результату и научит работе с разными эффектами и текстурами.


Трещины

Это сложная деталь, которая состоит из нескольких нод и эффектов.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Я начинаю с простых форм, создаю текстуру Cells 1. В её основе лежат прямые линии, которые образуют узор, похожий на трещины.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

С помощью эффекта Directional Warp я немного искажаю текстуру Cells 1, потому что на камне трещины не такие прямые.


Создаю драйвер для эффекта Directional Warp из текстуры Gaussian Noise. Она делает изгибы трещины мягкими и плавными. Результат настраиваю одновременно с помощью параметра Scale в драйвере и Intensity в ноде DW.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Продолжаю работу над формой трещин, создав ещё один Directional Warp.


На этот раз в качестве драйвера использую текстуру Crystal 1. Она состоит из градиентов, в основе которых линии ломаной формы. В результате эффект DW добавляет на плавные линии трещин изломы.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Я создаю ноду Blend, в которой смешиваю трещины с текстурой Gaussian Noise. Чтобы паттерн не читался явно, местами их лучше стереть.


Перед этим добавляю Gaussian Noise в ноду Levels, с помощью которой можно настроить радиус маски.


Последняя операция — уже знакомый Slope Blur. С помощью него я добавляю сколы и фактуру камня на грани трещин.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Для этого использую драйвер Clouds2.


Последнюю ноду — Histogram Scan, — создаю, чтобы контролировать интенсивность трещин.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Повреждения

От стен иногда отпадают целые куски цемента — они обнажают внутренности материала с более крупной и пористой фактурой. Эти тёмные пятна мы сейчас и создадим.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

1. Создаю фактуру грубого и пористого цемента, затем подмешиваю его к материалу с помощью маски, сделанной из процедурного шума — BnW Spots 1.


2. Маску делаю с помощью ноды Histogram Scan, увеличив контрастность текстуры. С помощью Position настраиваю площадь повреждения.


3. Применяю к маске Slope Blur, в качестве драйвера использую BnW Spots 3, который уже есть в графике — участвует в создании пор.


4. Перед тем, как смешать фактуру из BnW Spots 1, смещаю текстуру в сторону и поворачиваю её нодой Transform 2D, чтобы рисунок текстуры не совпадал с рисунком маски.

Делаем бетон в Substance Designer. Часть 1 3D, 3D моделирование, Текстуры, Substance Designer, Textures, Компьютерная графика, Gamedev, Игры, Гифка, Длиннопост

Читай продолжение во 2 части статьи.

CGI Media

3K пост6.5K подписчиков

Правила сообщества

• Посты должны соответствовать тематике cообщества.

• Не допускается спам и нарушение правил сайта pikabu.