HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-07
1 <p>Привет, это Антон Агеев, - преподаватель курса по процедурным текстурам "<a>Процедурный трип</a>". Подробнее о нём можно прочитать<a>в анонсе</a>. На курсе я учу работать в Substance Painter и Designer и рассказываю, как создавать реалистичные процедурные текстуры на уровне профессионалов игровой индустрии.</p>
1 <p>Привет, это Антон Агеев, - преподаватель курса по процедурным текстурам "<a>Процедурный трип</a>". Подробнее о нём можно прочитать<a>в анонсе</a>. На курсе я учу работать в Substance Painter и Designer и рассказываю, как создавать реалистичные процедурные текстуры на уровне профессионалов игровой индустрии.</p>
2 <p>Это - обучающий текст по созданию процедурной текстуры бетона в Substance Designer. Бетон - материал на первый взгляд тривиальный, но грамотное его использование поможет выстроить стилистику целой игры. Как, например, в прошлогодней Control.</p>
2 <p>Это - обучающий текст по созданию процедурной текстуры бетона в Substance Designer. Бетон - материал на первый взгляд тривиальный, но грамотное его использование поможет выстроить стилистику целой игры. Как, например, в прошлогодней Control.</p>
3 <p>Я подробно распишу процесс для новичков - если хочешь на курс, но не уверен, подойдёт ли он тебе, попробуй повторить все шаги в статье. Начинать можно с нуля, в<a>пробной версии Designer на месяц</a>, - если не уверен, хочешь ли сразу тратиться на профессиональные программы.</p>
3 <p>Я подробно распишу процесс для новичков - если хочешь на курс, но не уверен, подойдёт ли он тебе, попробуй повторить все шаги в статье. Начинать можно с нуля, в<a>пробной версии Designer на месяц</a>, - если не уверен, хочешь ли сразу тратиться на профессиональные программы.</p>
4 <p>В каждом шаге я буду указывать точные значения параметров, которые использовал я, но это не значит, что тебе нужно повторять всё за мной - экспериментируй!</p>
4 <p>В каждом шаге я буду указывать точные значения параметров, которые использовал я, но это не значит, что тебе нужно повторять всё за мной - экспериментируй!</p>
5 <p>Повторяй за мной, создай собственную текстуру и выложи её в комментарии под этой статьёй. Автор работы, которая соберёт больше всего лайков, получит приз от XYZ - любой артбук стоимостью до 2 тысяч рублей.</p>
5 <p>Повторяй за мной, создай собственную текстуру и выложи её в комментарии под этой статьёй. Автор работы, которая соберёт больше всего лайков, получит приз от XYZ - любой артбук стоимостью до 2 тысяч рублей.</p>
6 <p>Поехали!</p>
6 <p>Поехали!</p>
7 <p><strong>Собираем референсы</strong>Заходим на Artstation, Behance, Google и ищем подходящие образы.</p>
7 <p><strong>Собираем референсы</strong>Заходим на Artstation, Behance, Google и ищем подходящие образы.</p>
8 <ul></ul><ul></ul><p>Вот три картинки, которые понравились</p>
8 <ul></ul><ul></ul><p>Вот три картинки, которые понравились</p>
9 <p>Вот три картинки, которые понравились</p>
9 <p>Вот три картинки, которые понравились</p>
10 <p>Вот три картинки, которые понравились</p>
10 <p>Вот три картинки, которые понравились</p>
11 <p>Первая приглянулась мне трещинами, со второй я взял цвет и поры. В третьей понравился общий шум: штукатурка, светотень, и микродетализация.</p>
11 <p>Первая приглянулась мне трещинами, со второй я взял цвет и поры. В третьей понравился общий шум: штукатурка, светотень, и микродетализация.</p>
12 <p><strong>Настраиваем программу</strong>Интерфейс Substance Designer выглядит так:</p>
12 <p><strong>Настраиваем программу</strong>Интерфейс Substance Designer выглядит так:</p>
13 <p>Выглядит пугающе, но быстро привыкаешь</p>
13 <p>Выглядит пугающе, но быстро привыкаешь</p>
14 <p>Интерфейс делится на несколько рабочих областей: панель эффектов справа, 3D вьюпорт - отображение материала на 3D модели, 2D вьюпорт - показывает содержимое выбранной ноды. Снизу - рабочее место, которое называется Graph View, в котором мы создаем материал с помощью нод.</p>
14 <p>Интерфейс делится на несколько рабочих областей: панель эффектов справа, 3D вьюпорт - отображение материала на 3D модели, 2D вьюпорт - показывает содержимое выбранной ноды. Снизу - рабочее место, которое называется Graph View, в котором мы создаем материал с помощью нод.</p>
15 <p><strong>Нода - это блок кода или операция, которая создаёт или обрабатывает изображение</strong></p>
15 <p><strong>Нода - это блок кода или операция, которая создаёт или обрабатывает изображение</strong></p>
16 <p>У нод есть исходящие порты - аутпуты, а у некоторых ещё и входящие - инпуты. Информация подаётся в инпуты, обрабатывается нодой и выходит из аутпута в следующую ноду.</p>
16 <p>У нод есть исходящие порты - аутпуты, а у некоторых ещё и входящие - инпуты. Информация подаётся в инпуты, обрабатывается нодой и выходит из аутпута в следующую ноду.</p>
17 <p>Ноды связываются в цепочку действий, которая приводит к результату - текстуре или её отдельному элементу.</p>
17 <p>Ноды связываются в цепочку действий, которая приводит к результату - текстуре или её отдельному элементу.</p>
18 <p>Например, нода Blur принимает на вход изображение, а на выходе отдаёт его более размытым:</p>
18 <p>Например, нода Blur принимает на вход изображение, а на выходе отдаёт его более размытым:</p>
19 <p>Инпут слева, аутпут справа</p>
19 <p>Инпут слева, аутпут справа</p>
20 <p>Такой подход к созданию текстур и материалов называют процедурным.</p>
20 <p>Такой подход к созданию текстур и материалов называют процедурным.</p>
21 <p>Одна из его особенностей - недеструктивный пайплайн. Это значит, что на любом этапе создания материала можно вернуться к любому действию и внести в него изменения и повлиять на результат.</p>
21 <p>Одна из его особенностей - недеструктивный пайплайн. Это значит, что на любом этапе создания материала можно вернуться к любому действию и внести в него изменения и повлиять на результат.</p>
22 <p>К примеру, я могу вернуться к ноде Blur через полчаса работы и настроить её заново, скорректировав степень размытия. В Photoshop для той же операции пришлось бы откатывать все действия назад до нужного изменения.</p>
22 <p>К примеру, я могу вернуться к ноде Blur через полчаса работы и настроить её заново, скорректировав степень размытия. В Photoshop для той же операции пришлось бы откатывать все действия назад до нужного изменения.</p>
23 <p>В библиотеке Designer более двухсот нод. Они делятся на группы по задачам.</p>
23 <p>В библиотеке Designer более двухсот нод. Они делятся на группы по задачам.</p>
24 <p>К примеру, группа Noises содержит процедурные текстуры, которые используют для создания шума. У них нет инпутов, только аутпуты и параметры, с помощью которых можно настроить внешний вид этих текстур.</p>
24 <p>К примеру, группа Noises содержит процедурные текстуры, которые используют для создания шума. У них нет инпутов, только аутпуты и параметры, с помощью которых можно настроить внешний вид этих текстур.</p>
25 <p>Существуют и другие группы: паттерны, операции и эффекты.</p>
25 <p>Существуют и другие группы: паттерны, операции и эффекты.</p>
26 <p><a>Вот, как выглядит исходная схема</a>в Graph View. Я оставлю её в хорошем качестве на гугл-диске, чтобы ты мог обращаться к итоговому варианту, если запутаетесь.</p>
26 <p><a>Вот, как выглядит исходная схема</a>в Graph View. Я оставлю её в хорошем качестве на гугл-диске, чтобы ты мог обращаться к итоговому варианту, если запутаетесь.</p>
27 <p>В каждом шаге разберём по кусочку схемы</p>
27 <p>В каждом шаге разберём по кусочку схемы</p>
28 <p><strong>Новый проект</strong>Первым делом создаём и настраиваем новый проект.</p>
28 <p><strong>Новый проект</strong>Первым делом создаём и настраиваем новый проект.</p>
29 <p>В окне нового проекта даём название будущему графику, устанавливаем разрешение - 2048х2048 точек, разрядность документа - 16 бит и в качестве шаблона из левого списка выбираем PBR(Metallic\Roughness).</p>
29 <p>В окне нового проекта даём название будущему графику, устанавливаем разрешение - 2048х2048 точек, разрядность документа - 16 бит и в качестве шаблона из левого списка выбираем PBR(Metallic\Roughness).</p>
30 <p>Благодаря шаблонам можно быстро создать и настроить специальные ноды - аутпуты. Эти точки выхода информации из графика, и к ним подключаются текстуры, которые мы будем создавать в процессе работы над материалом.</p>
30 <p>Благодаря шаблонам можно быстро создать и настроить специальные ноды - аутпуты. Эти точки выхода информации из графика, и к ним подключаются текстуры, которые мы будем создавать в процессе работы над материалом.</p>
31 <p>Если забыли выбрать нужный шаблон или случайно удалили аутпуты в процессе работы, - не переживайте, их можно создать и настроить вручную.</p>
31 <p>Если забыли выбрать нужный шаблон или случайно удалили аутпуты в процессе работы, - не переживайте, их можно создать и настроить вручную.</p>
32 <p><strong>Карта высот</strong>Наша задача - грамотно построить карту высот (Height).</p>
32 <p><strong>Карта высот</strong>Наша задача - грамотно построить карту высот (Height).</p>
33 <p>Height это чёрно-белая текстура, в которой яркость пикселя задаёт высоту точки в 2D пространстве.</p>
33 <p>Height это чёрно-белая текстура, в которой яркость пикселя задаёт высоту точки в 2D пространстве.</p>
34 <p>Чем темнее пиксель, тем глубже. А чем ярче, тем, наоборот, выше точка относительно плоскости, на которой находится текстура.</p>
34 <p>Чем темнее пиксель, тем глубже. А чем ярче, тем, наоборот, выше точка относительно плоскости, на которой находится текстура.</p>
35 <p>Таким образом, работая над картой высот мы создаём рельеф будущего материала, но только в одном измерении.</p>
35 <p>Таким образом, работая над картой высот мы создаём рельеф будущего материала, но только в одном измерении.</p>
36 <p>Карта высот занимает 80% работы.</p>
36 <p>Карта высот занимает 80% работы.</p>
37 <p>Она также оказывает влияние на все остальные текстуры материала - цвет, микрорельеф (roughness), затенения (AO) и так далее.</p>
37 <p>Она также оказывает влияние на все остальные текстуры материала - цвет, микрорельеф (roughness), затенения (AO) и так далее.</p>
38 <p><strong>Анализ референсов</strong>Когда я начинаю работу над картой высот, я сначала анализирую референс и подмечаю схожие элементы материала. Думаю, как это можно реализовать в Designer.</p>
38 <p><strong>Анализ референсов</strong>Когда я начинаю работу над картой высот, я сначала анализирую референс и подмечаю схожие элементы материала. Думаю, как это можно реализовать в Designer.</p>
39 <p>К примеру трещины на первом референсе имеют схожую форму и характер. Бетон на второй фотографии покрыт мелкими глубокими порами.</p>
39 <p>К примеру трещины на первом референсе имеют схожую форму и характер. Бетон на второй фотографии покрыт мелкими глубокими порами.</p>
40 <p>Элементы которые мне приглянулись я создаю по отдельности, а затем смешиваю вместе, создавая сложную структуру комплексного материала.</p>
40 <p>Элементы которые мне приглянулись я создаю по отдельности, а затем смешиваю вместе, создавая сложную структуру комплексного материала.</p>
41 <p><strong>Фактура</strong>Первый элемент - текстура, которую я сделал на основе процедурного шума Fractal Sum Base.</p>
41 <p><strong>Фактура</strong>Первый элемент - текстура, которую я сделал на основе процедурного шума Fractal Sum Base.</p>
42 <p>Её задача - добавить небольшие неровности и фактуру бетона, для того чтобы материала не был идеально ровным.</p>
42 <p>Её задача - добавить небольшие неровности и фактуру бетона, для того чтобы материала не был идеально ровным.</p>
43 <p>Я собрал эту текстуру из четырёх нод, начал с процедурного шума Fractal Sum Base.</p>
43 <p>Я собрал эту текстуру из четырёх нод, начал с процедурного шума Fractal Sum Base.</p>
44 <p>Я подписал все параметры, для того чтобы было удобнее ориентироваться на мой результат.</p>
44 <p>Я подписал все параметры, для того чтобы было удобнее ориентироваться на мой результат.</p>
45 <p>Дальше экспериментируем. Я не знаю, как сделать элемент, поэтому прорабатываю несколько идей, пока не достигну результата.</p>
45 <p>Дальше экспериментируем. Я не знаю, как сделать элемент, поэтому прорабатываю несколько идей, пока не достигну результата.</p>
46 <p>Попробую объяснить ход мыслей в процессе создания текстуры.</p>
46 <p>Попробую объяснить ход мыслей в процессе создания текстуры.</p>
47 <p>Я начал с Fractal Sum Base потому что мне показалось что она похожа на однородную поверхность камня. Но в дефолтном состоянии она слишком сильно "шумит".</p>
47 <p>Я начал с Fractal Sum Base потому что мне показалось что она похожа на однородную поверхность камня. Но в дефолтном состоянии она слишком сильно "шумит".</p>
48 <p>Поэтому добавилась нода Slope Blur для понижения детализации.</p>
48 <p>Поэтому добавилась нода Slope Blur для понижения детализации.</p>
49 <p>Slope Blur одновременно размывает и искажает текстуру, что привело меня к результату:</p>
49 <p>Slope Blur одновременно размывает и искажает текстуру, что привело меня к результату:</p>
50 <p>Тут я показываю результат с цветом для наглядности. До создания текстуры цвета мы ещё дойдём</p>
50 <p>Тут я показываю результат с цветом для наглядности. До создания текстуры цвета мы ещё дойдём</p>
51 <p>Следующий шаг - нода Blur HQ с помощью которой я смягчаю получившуюся фактуру.</p>
51 <p>Следующий шаг - нода Blur HQ с помощью которой я смягчаю получившуюся фактуру.</p>
52 <p>Последняя нода - Histogram Range. В ней с помощью параметра Range я управляю интенсивностью элемента:</p>
52 <p>Последняя нода - Histogram Range. В ней с помощью параметра Range я управляю интенсивностью элемента:</p>
53 <p><strong>Поры</strong>Структура бетона неоднородна - в ней, помимо трещин, есть много мелких отверстий, разбросанных по всей поверхности, которые образуются из-за испарения воды изнутри материала.</p>
53 <p><strong>Поры</strong>Структура бетона неоднородна - в ней, помимо трещин, есть много мелких отверстий, разбросанных по всей поверхности, которые образуются из-за испарения воды изнутри материала.</p>
54 <p>Я создал поры из процедурной текстуры текстуры Dirt 1.</p>
54 <p>Я создал поры из процедурной текстуры текстуры Dirt 1.</p>
55 <p>Для того, чтобы сделать глубину пор разнообразнее, я продублировал Dirt 1 и настроил их по-разному с помощью параметра Position в нодах Histogram Scan.</p>
55 <p>Для того, чтобы сделать глубину пор разнообразнее, я продублировал Dirt 1 и настроил их по-разному с помощью параметра Position в нодах Histogram Scan.</p>
56 <p>Регулируя этот параметр я управляю яркостью, поэтому в двух вариантах получается разное количество отверстий:</p>
56 <p>Регулируя этот параметр я управляю яркостью, поэтому в двух вариантах получается разное количество отверстий:</p>
57 <p>После этого я применяю Slope Blur к обеим текстурам, чтобы упростить форму пор и сделать их похожими на отверстия в камне:</p>
57 <p>После этого я применяю Slope Blur к обеим текстурам, чтобы упростить форму пор и сделать их похожими на отверстия в камне:</p>
58 <p><strong>Процедурные шумы и эффекты</strong>Slope Blur управляется другой текстурой. В нашем примере чёрно-белая текстура управляет интенсивностью эффекта. Чем ярче пиксель, тем сильнее в этом месте действует Slope Blur.</p>
58 <p><strong>Процедурные шумы и эффекты</strong>Slope Blur управляется другой текстурой. В нашем примере чёрно-белая текстура управляет интенсивностью эффекта. Чем ярче пиксель, тем сильнее в этом месте действует Slope Blur.</p>
59 <p>Чаще всего другими эффектами управляют процедурные шумы - дальше я буду называть их драйверами.</p>
59 <p>Чаще всего другими эффектами управляют процедурные шумы - дальше я буду называть их драйверами.</p>
60 <p>У Slope Blur для пор, драйвером является BnW Spots 2</p>
60 <p>У Slope Blur для пор, драйвером является BnW Spots 2</p>
61 <p>Результат эффекта зависит от текстуры-драйвера, поэтому не бойтесь экспериментировать. Это быстрее приведёт к результату и научит работе с разными эффектами и текстурами.<strong>Трещины</strong>Это сложная деталь, которая состоит из нескольких нод и эффектов.</p>
61 <p>Результат эффекта зависит от текстуры-драйвера, поэтому не бойтесь экспериментировать. Это быстрее приведёт к результату и научит работе с разными эффектами и текстурами.<strong>Трещины</strong>Это сложная деталь, которая состоит из нескольких нод и эффектов.</p>
62 <ul><li>Я начинаю с простых форм, создаю текстуру Cells 1. В её основе лежат прямые линии, которые образуют узор, похожий на трещины.</li>
62 <ul><li>Я начинаю с простых форм, создаю текстуру Cells 1. В её основе лежат прямые линии, которые образуют узор, похожий на трещины.</li>
63 </ul><ul><li>С помощью эффекта Directional Warp я немного искажаю текстуру Cells 1, потому что на камне трещины не такие прямые.</li>
63 </ul><ul><li>С помощью эффекта Directional Warp я немного искажаю текстуру Cells 1, потому что на камне трещины не такие прямые.</li>
64 </ul><ul><li>Создаю драйвер для эффекта Directional Warp из текстуры Gaussian Noise. Она делает изгибы трещины мягкими и плавными. Результат настраиваю одновременно с помощью параметра Scale в драйвере и Intensity в ноде DW.</li>
64 </ul><ul><li>Создаю драйвер для эффекта Directional Warp из текстуры Gaussian Noise. Она делает изгибы трещины мягкими и плавными. Результат настраиваю одновременно с помощью параметра Scale в драйвере и Intensity в ноде DW.</li>
65 </ul><ul><li>Продолжаю работу над формой трещин, создав ещё один Directional Warp.</li>
65 </ul><ul><li>Продолжаю работу над формой трещин, создав ещё один Directional Warp.</li>
66 </ul><ul><li>На этот раз в качестве драйвера использую текстуру Crystal 1. Она состоит из градиентов, в основе которых линии ломаной формы. В результате эффект DW добавляет на плавные линии трещин изломы.</li>
66 </ul><ul><li>На этот раз в качестве драйвера использую текстуру Crystal 1. Она состоит из градиентов, в основе которых линии ломаной формы. В результате эффект DW добавляет на плавные линии трещин изломы.</li>
67 </ul><ul><li>Я создаю ноду Blend, в которой смешиваю трещины с текстурой Gaussian Noise. Чтобы паттерн не читался явно, местами их лучше стереть.</li>
67 </ul><ul><li>Я создаю ноду Blend, в которой смешиваю трещины с текстурой Gaussian Noise. Чтобы паттерн не читался явно, местами их лучше стереть.</li>
68 </ul><ul><li>Перед этим добавляю Gaussian Noise в ноду Levels, с помощью которой можно настроить радиус маски.</li>
68 </ul><ul><li>Перед этим добавляю Gaussian Noise в ноду Levels, с помощью которой можно настроить радиус маски.</li>
69 </ul><ul><li>Последняя операция - уже знакомый Slope Blur. С помощью него я добавляю сколы и фактуру камня на грани трещин.</li>
69 </ul><ul><li>Последняя операция - уже знакомый Slope Blur. С помощью него я добавляю сколы и фактуру камня на грани трещин.</li>
70 </ul><ul><li>Для этого использую драйвер Clouds2.</li>
70 </ul><ul><li>Для этого использую драйвер Clouds2.</li>
71 </ul><ul><li>Последнюю ноду - Histogram Scan, - создаю, чтобы контролировать интенсивность трещин.</li>
71 </ul><ul><li>Последнюю ноду - Histogram Scan, - создаю, чтобы контролировать интенсивность трещин.</li>
72 </ul><p><strong>Повреждения</strong>От стен иногда отпадают целые куски цемента - они обнажают внутренности материала с более крупной и пористой фактурой. Эти тёмные пятна мы сейчас и создадим.</p>
72 </ul><p><strong>Повреждения</strong>От стен иногда отпадают целые куски цемента - они обнажают внутренности материала с более крупной и пористой фактурой. Эти тёмные пятна мы сейчас и создадим.</p>
73 <p>1. Создаю фактуру грубого и пористого цемента, затем подмешиваю его к материалу с помощью маски, сделанной из процедурного шума - BnW Spots 1.</p>
73 <p>1. Создаю фактуру грубого и пористого цемента, затем подмешиваю его к материалу с помощью маски, сделанной из процедурного шума - BnW Spots 1.</p>
74 <p>2. Маску делаю с помощью ноды Histogram Scan, увеличив контрастность текстуры. С помощью Position настраиваю площадь повреждения.</p>
74 <p>2. Маску делаю с помощью ноды Histogram Scan, увеличив контрастность текстуры. С помощью Position настраиваю площадь повреждения.</p>
75 <p>3. Применяю к маске Slope Blur, в качестве драйвера использую BnW Spots 3, который уже есть в графике - участвует в создании пор.</p>
75 <p>3. Применяю к маске Slope Blur, в качестве драйвера использую BnW Spots 3, который уже есть в графике - участвует в создании пор.</p>
76 <p>4. Перед тем, как смешать фактуру из BnW Spots 1, смещаю текстуру в сторону и поворачиваю её нодой Transform 2D, чтобы рисунок текстуры не совпадал с рисунком маски.</p>
76 <p>4. Перед тем, как смешать фактуру из BnW Spots 1, смещаю текстуру в сторону и поворачиваю её нодой Transform 2D, чтобы рисунок текстуры не совпадал с рисунком маски.</p>
77 <p><strong>Смешиваем</strong>Для смешивания создам 4 последовательных ноды Blend, к каждой подключу свой элемент, регулируя степень прозрачности и тип смешивания:</p>
77 <p><strong>Смешиваем</strong>Для смешивания создам 4 последовательных ноды Blend, к каждой подключу свой элемент, регулируя степень прозрачности и тип смешивания:</p>
78 <p>Трещины и повреждения смешиваются с остальным материалом по маскам. Это инвертированный вариант одной и той же маски. Маска в трещинах не даёт им залезать на повреждённые области, будто треснул только верхний слой.</p>
78 <p>Трещины и повреждения смешиваются с остальным материалом по маскам. Это инвертированный вариант одной и той же маски. Маска в трещинах не даёт им залезать на повреждённые области, будто треснул только верхний слой.</p>
79 <p>Карта высот готова. Осталось создать дополнительные текстуры, которые понадобятся в работе с цветом и Roughness.</p>
79 <p>Карта высот готова. Осталось создать дополнительные текстуры, которые понадобятся в работе с цветом и Roughness.</p>
80 <p><strong>Карта нормалей</strong>Карта нормалей создаётся из карты высот. Делается это в один шаг: создаём ноду Normal и подключаем к ней карту высот из ноды Levels.</p>
80 <p><strong>Карта нормалей</strong>Карта нормалей создаётся из карты высот. Делается это в один шаг: создаём ноду Normal и подключаем к ней карту высот из ноды Levels.</p>
81 <p>Внутри одна крутилка интенсивности</p>
81 <p>Внутри одна крутилка интенсивности</p>
82 <p>Я увеличил значение до 1,4х, чтобы детали были объёмнее.</p>
82 <p>Я увеличил значение до 1,4х, чтобы детали были объёмнее.</p>
83 <p><strong>Затенения (Ambient Occlusion)</strong>AO это текстура затенений, возникающих при рассеянном освещении. Чем труднее свету добраться до поверхности, тем интенсивнее в этом месте будет затенение. В местах, до которых тяжело добраться свету, скапливается пыль и грязь.</p>
83 <p><strong>Затенения (Ambient Occlusion)</strong>AO это текстура затенений, возникающих при рассеянном освещении. Чем труднее свету добраться до поверхности, тем интенсивнее в этом месте будет затенение. В местах, до которых тяжело добраться свету, скапливается пыль и грязь.</p>
84 <p>Из текстуры затенения создают маски для эффектов загрязнения.</p>
84 <p>Из текстуры затенения создают маски для эффектов загрязнения.</p>
85 <p>В Designer есть нода которая генерирует текстуру AO из карты высот. Она понадобится нам в дальнейшем при создании текстур цвета и Roughness.</p>
85 <p>В Designer есть нода которая генерирует текстуру AO из карты высот. Она понадобится нам в дальнейшем при создании текстур цвета и Roughness.</p>
86 <p><strong>Карта кривизны (Curvature)</strong>Карта кривизны - это чёрно-белая текстура, которая создаётся на основе Normal Map. Серым цветом в ней обозначены плоскости, белым - внешние углы, чёрным - внутренние.</p>
86 <p><strong>Карта кривизны (Curvature)</strong>Карта кривизны - это чёрно-белая текстура, которая создаётся на основе Normal Map. Серым цветом в ней обозначены плоскости, белым - внешние углы, чёрным - внутренние.</p>
87 <p><strong>Гранж</strong>Отдельным графиком я смешаю несколько гранж-текстур бетона, взятых из библиотеки Substance Painter.</p>
87 <p><strong>Гранж</strong>Отдельным графиком я смешаю несколько гранж-текстур бетона, взятых из библиотеки Substance Painter.</p>
88 <p>Чтобы добавить их в график, находим их , кликаем правой кнопкой мыши, в контекстном меню выбираем Show in Explorer.</p>
88 <p>Чтобы добавить их в график, находим их , кликаем правой кнопкой мыши, в контекстном меню выбираем Show in Explorer.</p>
89 <p>Библиотека Substance Painter</p>
89 <p>Библиотека Substance Painter</p>
90 <p>Текстуры лежат а папке библиотеки в формате .sbsar, их можно импортировать в график материала, перетащив файл из папки в окно Graph View.</p>
90 <p>Текстуры лежат а папке библиотеки в формате .sbsar, их можно импортировать в график материала, перетащив файл из папки в окно Graph View.</p>
91 <p>Текстура понадобится для добавления деталей, которые не влияют на рельеф, но будут быть видны в цвете и текстуре Roughness.</p>
91 <p>Текстура понадобится для добавления деталей, которые не влияют на рельеф, но будут быть видны в цвете и текстуре Roughness.</p>
92 <p><strong>Шероховатость (Roughness)</strong>Текстура микроповерхности (Roughness) отвечает за рассеивание света материалом.</p>
92 <p><strong>Шероховатость (Roughness)</strong>Текстура микроповерхности (Roughness) отвечает за рассеивание света материалом.</p>
93 <p>Гладкие поверхности отражают лучи света, не рассеивая их, под углами их падения на поверхность. В результате отражения на материале становятся чёткими, а блики резкими.</p>
93 <p>Гладкие поверхности отражают лучи света, не рассеивая их, под углами их падения на поверхность. В результате отражения на материале становятся чёткими, а блики резкими.</p>
94 <p>Шероховатые поверхности рассеивают свет, поэтому отражения размываются, а блики становятся тусклыми и широкими.</p>
94 <p>Шероховатые поверхности рассеивают свет, поэтому отражения размываются, а блики становятся тусклыми и широкими.</p>
95 <p>В моём графике Roughness сделан так</p>
95 <p>В моём графике Roughness сделан так</p>
96 <p>Частый приём для начала работы с Roughness - взять в качестве основы текстуру кривизны (Curvature). В оригинальной Curvature углубления, поры и трещины темнее чем углы и плоскости.</p>
96 <p>Частый приём для начала работы с Roughness - взять в качестве основы текстуру кривизны (Curvature). В оригинальной Curvature углубления, поры и трещины темнее чем углы и плоскости.</p>
97 <p>Однако в текстуре Roughness чем темнее поверхность, тем она более глянцевая. Поэтому первым делом Curvature необходимо инвертировать - трещины и углубления станут матовыми. Для этого используем ноду Grayscale Invert.</p>
97 <p>Однако в текстуре Roughness чем темнее поверхность, тем она более глянцевая. Поэтому первым делом Curvature необходимо инвертировать - трещины и углубления станут матовыми. Для этого используем ноду Grayscale Invert.</p>
98 <p>Получившийся результат смешиваю с гранж-текстурой, которую сделал ранее, чтобы добавить больше деталей и глубину в Roughness.</p>
98 <p>Получившийся результат смешиваю с гранж-текстурой, которую сделал ранее, чтобы добавить больше деталей и глубину в Roughness.</p>
99 <p>Последняя нода - Histogram Range. В ней с помощью параметра Position я настраиваю общий уровень гладкости:</p>
99 <p>Последняя нода - Histogram Range. В ней с помощью параметра Position я настраиваю общий уровень гладкости:</p>
100 <p><strong>Цвет</strong>Наш бетон получается простым, поэтому цвет для него делаю при помощи одной ноды - Gradient Map, с помощью которой раскрашиваю чёрно-белую Height Map.</p>
100 <p><strong>Цвет</strong>Наш бетон получается простым, поэтому цвет для него делаю при помощи одной ноды - Gradient Map, с помощью которой раскрашиваю чёрно-белую Height Map.</p>
101 <ul><li>Перед этим смешиваю с гранж-текстурой, чтобы в цвете было больше деталей. Если использовать в Gradient Map только Height Map, результат будет выглядеть плоским и неинтересным.</li>
101 <ul><li>Перед этим смешиваю с гранж-текстурой, чтобы в цвете было больше деталей. Если использовать в Gradient Map только Height Map, результат будет выглядеть плоским и неинтересным.</li>
102 </ul><ul><li>Перед тем, как подключить текстуру к Gradient Map, повышаю её контрастность с помощью Levels.</li>
102 </ul><ul><li>Перед тем, как подключить текстуру к Gradient Map, повышаю её контрастность с помощью Levels.</li>
103 </ul><ul><li>Gradient Map. Нода преобразует серые тона в цвет с помощью настраиваемого градиента.</li>
103 </ul><ul><li>Gradient Map. Нода преобразует серые тона в цвет с помощью настраиваемого градиента.</li>
104 </ul><p>Редактор настройки, открывается по клику на "Gradient Editor" в свойствах ноды</p>
104 </ul><p>Редактор настройки, открывается по клику на "Gradient Editor" в свойствах ноды</p>
105 <p>Цвета можно добавлять и редактировать вручную, или ли захватить прямо с референса с помощью инструмента Pick Gradient.</p>
105 <p>Цвета можно добавлять и редактировать вручную, или ли захватить прямо с референса с помощью инструмента Pick Gradient.</p>
106 <p>"Захват" градиента всегда дает разный результат</p>
106 <p>"Захват" градиента всегда дает разный результат</p>
107 <p><strong>Финишные детали</strong>Напоследок создаю маски из двух генераторов - Dirt и Mask Builder.</p>
107 <p><strong>Финишные детали</strong>Напоследок создаю маски из двух генераторов - Dirt и Mask Builder.</p>
108 <p>Первый создаёт маску грязи, а второй настраивает маску небольших потертостей на углах.</p>
108 <p>Первый создаёт маску грязи, а второй настраивает маску небольших потертостей на углах.</p>
109 <p>Для того чтобы генератор заработал, в него подключаются карты AO и Curvature.</p>
109 <p>Для того чтобы генератор заработал, в него подключаются карты AO и Curvature.</p>
110 <p>После этого с помощью параметров в свойствах ноды настраиваю маску. Я покажу свои параметры, но попробуй поэкспериментировать сам.</p>
110 <p>После этого с помощью параметров в свойствах ноды настраиваю маску. Я покажу свои параметры, но попробуй поэкспериментировать сам.</p>
111 <p>Получившиеся маски использую, чтобы добавить деталей в текстуры цвета и Roughness.</p>
111 <p>Получившиеся маски использую, чтобы добавить деталей в текстуры цвета и Roughness.</p>
112 <p>Когда нужно добавить деталь по одной маске в две текстуры сразу, удобнее использовать Material Color Blend, - это упрощает график и делает его понятнее.</p>
112 <p>Когда нужно добавить деталь по одной маске в две текстуры сразу, удобнее использовать Material Color Blend, - это упрощает график и делает его понятнее.</p>
113 <p>В каждой ноде Material Color Blend (4, 6) текстура цвета и Roughness (1, 2) смешиваются по маске (3, 5) с другим цветом или значением яркости.</p>
113 <p>В каждой ноде Material Color Blend (4, 6) текстура цвета и Roughness (1, 2) смешиваются по маске (3, 5) с другим цветом или значением яркости.</p>
114 <p>Настройки второго цвета и тип смешивания выбираем в свойствах самой ноды.</p>
114 <p>Настройки второго цвета и тип смешивания выбираем в свойствах самой ноды.</p>
115 <p>Вот так текстура выглядит после всех шагов</p>
115 <p>Вот так текстура выглядит после всех шагов</p>
116 <p>Если вдруг пропустил одну из нод или хочешь что-то изменить, - редактируй готовый график, добавляй или убирай детали, меняй цвета. В общем, экспериментируй!</p>
116 <p>Если вдруг пропустил одну из нод или хочешь что-то изменить, - редактируй готовый график, добавляй или убирай детали, меняй цвета. В общем, экспериментируй!</p>
117 <p>Если получилось повторить мою текстуру или даже придумать что-то своё - подумай над тем, чтобы записаться на курс по Процедурным текстурам. Он стартует 1 ноября, забронировать место можно<a>на сайте</a>.</p>
117 <p>Если получилось повторить мою текстуру или даже придумать что-то своё - подумай над тем, чтобы записаться на курс по Процедурным текстурам. Он стартует 1 ноября, забронировать место можно<a>на сайте</a>.</p>
118 <p>Хочешь получать лучшие статьиот XyZ раз в неделю?</p>
118 <p>Хочешь получать лучшие статьиот XyZ раз в неделю?</p>
119 <p>Подпишись на рассылку XyZ</p>
119 <p>Подпишись на рассылку XyZ</p>
120 <p>Нажимая на кнопку, вы соглашаетесь с условиями обработки данных</p>
120 <p>Нажимая на кнопку, вы соглашаетесь с условиями обработки данных</p>
121  
121