для чего нужен substance designer

Делаем бетон в Substance Designer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Adobe Substance Designer. Процедурное текстурирование

Алексей Баукин, инструктор Substance Designer в Realtime School

В метафизической философии Субстанция — неизменная сущность вещей

Давайте поговорим о текстурировании. Качество и вау-эффект любой 3D-картинки, от простого рендера до киношных спецэффектов или виртуальных игровых миров, напрямую зависит от того, насколько хорошо сделаны, подобраны и наложены текстуры. С текстурами — как с ремонтом: хороший отделочник сделает конфетку из самого убитого помещения, плохой маляр с ведром зеленой или серой краски превратит любой шедевр архитектуры в унылое ничто — вспомните окружающий нас ЖКХ-арт. Поэтому говорить о важности текстурирования бессмысленно, а вот о методах и приемах — очень даже полезно.

для чего нужен substance designer

Компания Adobe с недавних пор предлагает целый комплект дополняющих друг друга инструментов для текстурирования 3D-моделей под общим названием Adobe Substance. Substance? Да-да, где-то мы это слышали раньше… Oh wait! Это же известный еще с 2003 года Allegorithmic, в 2019 году влившийся в плеяду творческих инструментов компании Adobe.

Основная особенность всего этого инструментария — процедурность, делающая процесс текстурирования максимально гибким. В состав Adobe Substance входит:

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

Как работает Substance Designer?

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

для чего нужен substance designer
Узнаете Levels из фотошопа?

Ноды — это схематичное отображение всей последовательности действий для генерации текстуры. Каждая нода совершает какое-либо действие над проходящими через нее данными. Результат на выходе одной ноды подается на вход другой (или нескольких), и мы формируем логическую последовательность действий, приводящую нас к готовому результату. Система нод вовсе не такая жуткая, как может показаться на первый взгляд:

для чего нужен substance designer

Главное качество нодовой системы — недеструктивное редактирование: текстура генерируется в реальном времени, и при изменении любого параметра любой ноды все последующие немедленно перестраиваются, исходя из изменившихся данных на входе. Таким образом, мы управляем процессом в real time, делая его невероятно гибким.

Ноды делятся на несколько видов:

Много нод — это хорошо, но как это поможет сделать материал?

Зная разновидность и «поведение» нод, можно вывести группы, из которых состоит наша структура:

С чего начать?

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

для чего нужен substance designer
Источник: www.substance3d.com/books/pbr-guide

Какие ноды понадобятся?

Первая в нашем списке — уже упомянутая нода Levels. Она дает контроль над контрастом.

для чего нужен substance designer

Нода Transformation 2D позволяет передвигать узор/паттерн/текстуру.

для чего нужен substance designer

Ноды Blur и Blur HQ Grayscale/Color позволяют «замылить» изображение, что очень полезно для создания фасок (blur+curve). Различия видны из названия: если достаточно банального «расфокуса», используйте обычный Blur, если же нужна тонкая настройка — без Blur HQ Grayscale/Color не обойтись. Нода Grayscale не работает с цветом! Для работы с полноцветными данными используйте Blur HQ Сolor.

для чего нужен substance designer

Ноды Gradient и Uniform color. Первая позволяет красить карту высот в несколько цветов градиентами, а вторая создает сплошную заливку.

для чего нужен substance designer

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

для чего нужен substance designer

Создание материала в Substance Designer

В первую очередь нужно определиться, какой метод генерации материала будет использоваться. В нашем случае мы выберем шаблон PBR (Metallic/Roughness):

для чего нужен substance designer

После выбора шаблона в окне Graph появились ноды, которые отвечают за итоговый вид текстуры:

для чего нужен substance designer

Наведя курсор на окно Graph и нажав TAB или «пробел», вы получите меню с инструментами и строкой поиска. Поищем в ней ноду Mesh 1: вводим имя и нажимаем Enter.

для чего нужен substance designer

Выделив ноду Mesh 1 одинарным кликом, мы увидим ее параметры. Если щелкнуть дважды, нода отобразится в левой колонке в окне 2D-просмотра. Редактируем параметры: на вкладке instance parameters изменим tiling на 6 и rotate 45 degrees на true:

для чего нужен substance designer

Добавим ноду Levels, чтобы сделать наш узор менее рельефным. Параметры ее настройки — на картинке ниже.

для чего нужен substance designer

Мы получили паттерн текстурированного стального листа — новенького, как с завода. Стоит добавить немного ржавчины. Для этого понадобится маска, которая будет определять области коррозии. Сделаем ее с помощью нод Normal, Curvature smooth и Histogram scan.

для чего нужен substance designer

Генерируем текстуру ржавчины, используя BnW Spots 2 и Directional Warp:

для чего нужен substance designer

Маска почти готова. Осталось смешать ржавчину с окантовкой и увеличить контрастность. Добавляем ноды Blend и Histogram scan:

для чего нужен substance designer

Разумеется, параметры расположения маски можно менять, перемещая пятна ржавчины по металлу.

Теперь раскрасим нашу маску, используя ноды Gradient Map и PBR Metal Reflectance (вместо нее можно использовать и обычный Uniform Color). В Gradient Color нажимаем Gradient editor — откроется окно с настройками. Цвет ржавчины, конечно, можно подобрать и вручную, но это медленно и нецелесообразно. Вместо этого найдите любую картинку с ржавым куском железа и, удерживая левую кнопку мыши, проведите инструментом Pick gradient по картинке — вы получите идеальный градиент ржавчины, на создание которого руками ушли бы часы.

Далее смешиваем окраску ржавчины с текстурой с помощью ноды Blend (режим смешивания Copy) и выводим результат в ноду Base color.

для чего нужен substance designer

Остается лишь добавить несколько деталей, чтобы наш металл смотрелся реалистичнее. Карту Roughness не трогаем, а вот Metallic немного подкорректируем: инвертируем нашу маску и втянем ее в Metallic, чтобы определить, где и как поверхность будет отражать свет. Теперь осталось лишь добавить немного теней. Для этого к ноде Levels добавляем HBAO и редактируем параметры:

для чего нужен substance designer

Результирующая процедурная текстура — на картинке ниже. В любой момент мы можем изменить любой параметр текстуры и сразу увидеть, как изменится внешний вид. Готовый материал можно использовать как в Substance Painter, так и в других программах, поддерживающих форматы текстур Substance Designer.

для чего нужен substance designer

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

Об авторе: Алексей Баукин – инструктор курса «Основы Substance Designer» в школе компьютерной графики Realtime.

Источник

Создание материалов для Unity в Substance Designer

для чего нужен substance designer

Ужасные мучения

Текстурирование и создание игровых материалов всегда были интересной… и мучительной работой одновременно. До перехода на Substance Designer я использовал для создания всех нужных карт Photoshop и xNormal. Приходилось много раз переключаться между двумя этими приложениями, и это надоедало. Теперь я избавился от этой проблемы.

Substance Designer (SD) — это программное обеспечение, позволяющее создавать материалы и текстуры «на лету». В нём используется удивительно простая система узлов. Я художник, и обычно меня очень пугала работа с узлами (и вообще всем, кроме кисти). Честно говоря, когда я впервые увидел SD, то слегка вздрогнул. К счастью, у авторов программы есть видео, демонстрирующие её возможности. Они дают такого мотивирующего «пинка», что вам приходится совершить «прыжок веры».

Почему SD?

Сначала определимся, почему мы остановились именно на Substance Designer? Первая причина — Unity перешёл на новую систему материалов под названием PBS, Physically Based Shading («физически обоснованный шейдинг»), хорошо описанную в этом потрясающем посте. Мы хотели использовать эту новую технологию по максимуму.

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

Последняя причина в том, что рабочий процесс переноса материалов в Unity просто безупречен. Можно экспортировать весь материал в Unity, изменять его уже там… и всё работает без проблем!

Примеры

Вот примеры материалов, созданных нами в Substance Designer.

для чего нужен substance designer

Процесс обучения SD никогда не заканчивается. Есть очень много способов достичь одинакового результата, и некоторые из них лучше или быстрее других.

Ищем золото!

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

Если вы знаете Substance Designer в совершенстве, вы, наверно, увидите способ сделать материал гораздо лучше. Если это так, то расскажите нам! С другой стороны, если вы полный новичок в этом ПО, я предлагаю вам сначала посмотреть очень полезные обучающие видео компании Allegorithmic.

Материал «золото» на самом деле довольно просто создать, но он всё равно требует множества настроек. Вот как выглядит окончательный граф в Substance Designer.

для чего нужен substance designer

Я обычно начинаю с настройки Specular/Glossiness (отражения/глянцевости). В основном потому, что я больше к ним привык, чем к Metallic/Roughness (металл/шероховатость). Это уже может быть странно, потому что настройка Metallic/Roughness — стандарт в Unity.

Во-вторых, мне нужна была красивая металлическая или каменная структура с трещинами и вмятинами.

для чего нужен substance designer

Cracks & Grain (трещины и зернистость) — это очень малозаметная структура, которая в основном видна на карте нормалей (Normal), и совсем немного — на карте диффузности (Diffuse). Я начал с мозаичного шаблона и соединил его с узлами Clouds (облака) для получения здесь малозаметной структуры.

для чего нужен substance designer

Я хотел, чтобы трещины проявлялись больше в Normal, чем в Diffuse, поэтому поместил узел прямо перед выходом, чтобы он находился в части с картами нормалей.

для чего нужен substance designer

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

для чего нужен substance designer

Добавив к карте Cracks & Grain простую градиентную карту (Gradient map), я могу быстро создать карту Diffuse.

Но нам кое-чего не хватает. В Substance Designer удобно то, что можно работать с ранее созданными картами. Здесь я взял карту нормалей, превратил её в карту Curvature, увеличил значения и превратил всё это в цветовую карту (color map). (Карты Grayscale и Color не смешиваются.)

для чего нужен substance designer

Смешав их поверх уже сущестующей карты Diffuse, мы получим немного более интересную текстуру.

для чего нужен substance designer

И, наконец, для отражения (Specular) я использовал простой узел Clouds. С помощью градиентной карты я нанёс немного более тёмные цвета, чем в диффузной карте, а поверх добавил детали с помощью curvature с увеличенными значениями.

Для глянцевости (Glossiness) я использовал тот же узел Clouds, осветлил результат (чем ярче, тем больше блеска), добавил увеличенные детали Curvature, и на этом всё!

для чего нужен substance designer

для чего нужен substance designer

для чего нужен substance designer

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

Также тут есть кнопка Randomize. При её нажатии материал изменяет все сгенерированные значения. Сейчас моё золото выглядит не самым лучшим образом, потому что в нём всегда используются небольшие значения для облаков (clouds) и трещин (cracks). Однако если немного поднять значение cracks и нажать кнопку Randomize, то произойдёт следующее:

для чего нужен substance designer

Это уже близко к нужной нам процедурной генерации. Каждый раз материал будет выглядеть немного иначе.

Но SD способен на большее: можно раскрывать нужные узлы и функции. После этого они становятся видимыми в Unity, и их можно настраивать. В моём примере я раскрыл две функции: количество трещин по осям X и Y. В редакторе можно перетаскивать ползунки, настраивая материал на свой вкус.

для чего нужен substance designer

Рекомендуем!

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

А на прощание вот несколько графов, которые мы создали, осваивая программу. Успехов в работе!

Источник

Оптимизация графика в Substance Designer

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

Но если мы работаем в команде, делаем материалы для стока или используем связку Designer-Painter, то оптимизация приобретает огромное значение. Никому не понравится, если относительно простой материал будет прогружаться очень тяжело и медленно, до предела нагружая компьютер. В этой статье Василина Сиротина, ментор курса «Процедурный трип», расскажет, как сделать материал более быстрым и лёгким.

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

Техническая оптимизация графика сводится к ускорению вычислений. В верхней части графа есть полка с функциями настройки вида графика. Если нажать на иконку «i» (infomation), то появится всплывающее окно, в котором можно выбрать, какую информацию отображать в графе, — в том числе и тайминг, который позволяет отслеживать, сколько времени требуется на просчёт каждой ноды.

С помощью тайминга легко определить, на что требуется больше вычислений. Чем меньше миллисекунд занимает вычисление какой-либо ноды, тем легче и быстрее материал. Но это не значит, что нельзя использовать «тяжёлые» ноды. Наоборот: можно и нужно, если это требуется. Просто не стоит забывать о «чистке» графика от лишних действий, которые его нагружают.

Далее опишем способы, при помощи которых можно сделать материал более лёгким.

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

Поэтому имеет смысл в ноде Uniform Color переключить output size с Relative to Parent на Absolute и выставить значения 16 на 16 пикселей, — но не ниже. Значения ниже 16х16 только замедлят рендеринг, — о чём предупреждают разработчики.

Градиенты типа Gradient Linear можно сжать до 16 пикселей по оси, по которой их значения не меняются.

Ноды типа Perlin Noise, Gaussian Noise и Clouds2 имеют мягкие градиенты и мало шума. Они часто становятся драйверами для нод, которые деформируют изображение: Slope Blur Grayscale, Warp, Directional Warp, Mosaic Grayscale и других.

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

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

Если бленд меняет разрешение, внутри него нужно поменять Output Size с Relative to Input на Relative to Parent. В таком случае разрешение урезанной ноды не поменяет разрешение последующей цепочки нод.

В Substance Designer достаточно инструментов для создания тайлов. Tile Sampler — самый популярный, потому что в нём больше всего настроек и гибкости. Это очень полезная нода, но и очень дорогая.

Иногда без неё не обойтись, но, чаще всего, ее легко можно заменить более дешевыми аналогами: Splatter, Tile Generator и Tile Random. Они отлично справляются с несложными тайлами, будь то кирпичи, плитка, деревянные доски или черепица.

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

В ноде Flood Fill есть параметр, в котором можно выбрать режим просчёта градиентов. По умолчанию всегда стоит режим Complex or big shapes, и он почти всегда работает корректно, но часто его меняют на No failure mode, чтобы избежать ошибок. Этот режим — более «дорогостоящий». Если в ноду Flood Fill подключена жёсткая чёрно-белая маска, то ошибок возникнуть не должно: следовательно, режима No failure mode в таком случае нужно избегать ради оптимизации.

С помощью цепочки нод из Flood Fill часто получают разные варианты тайла в градациях серого (нода Flood Fill to Random Grayscale), чтобы получить разнообразные маски.

В этом случае дублирование одной и той же ноды с разными настройками можно заменить на Flood Fill to Random Color + RGBA Split. Таким образом, из RGBA Split мы получим четыре вариации градаций серого, что очень упрощает работу.

В работе с материалом бывают такие моменты, когда нужно разные тайлы и формы прогнать через одну и ту же цепочку действий. А каждая повторяющаяся цепочка с одинаковыми данными уводит нас от оптимизации. Есть прекрасный способ избежать дублирования и облегчить себе работу: это нода RGBA Merge.

Суть метода в следующем: в ноду RGBA Merge подключаются нужные тайлы или формы, в три канала по цветам. После чего результат этой ноды можно подключить в цепь действий, где все три формы будут изменяться. После чего цветную ноду можно снова разделить по каналам с помощью RGBA Split и получить исходные чёрно-белые карты, но уже в измененном виде. Так несколько одинаковых цепочек действий можно заменить всего лишь одной, сократив при этом количество нод.

Важно: для ноды RGBA Merge как цветной нужно использовать соответствующие ноды с припиской «Color»: Slope Blur Color, Blur HQ Color и тд.

В нодах типа AO, Slope Blur, Mosaic Grayscale, Blur HQ и некоторых других, есть возможность настраивать сэмплы. Чем выше сэмплы, тем качественнее результат и, соответственно, больше тайминг. Поэтому можно смело урезать сэмплы с 32 до 16 или меньше, в зависимости от результата. В большинстве случаев это практически не повлияет на результат, но заметно уменьшит тайминг.

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

Некоторые шумы сильно увеличивают затраты на вычисления в зависимости от масштаба рисунка. Чем выше scale, тем медленнее нода. Это относится к таким нодам, как BnW Spots, Directional Noise, Cells, Dirt, а также к другим, в которых можно увеличить scale. Поэтому, когда требуется добавить в текстуру мелкий шум, лучше заменить его более дешевым и быстрыми аналогами: White Noise, Fractal Sum Base, Blue Fast Noise и Anisotropic Noise.

Нода Blur HQ размывает более качественно, чем простой Blur, но и весит она, соответственно, больше. Поэтому в случаях, когда можно ограничиться обычным Blur, лучше его и использовать. Таким же образом можно заменить Anisotropic Blur на Directional Blur.

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

Для оптимизации этого процесса придумали Blending mode Switch в ноде Blend, который заменяет один паттерн на другой. А на основе Blending mode Switch сделали ноду Switch, более удобный в использовании аналог этого режима. Переключение между паттернами происходит только в целых значениях: 0 или 1 в ноде Blend и False/True в ноде Switch.

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

В сложных составных материалах приходится дорабатывать Normal Map, чтобы сделать его более сбалансированным. Для этого обычно используют ноду Normal Blend, в которой смешивают различные элементы, — часто с разной настройкой интенсивности. Нода Normal Blend безукоризненно справляется с этой задачей, но, используя обычный бленд с блендинг модом Copy можно добиться абсолютно идентичного и более дешёвого результата.

Конечно, Normal Blend математически даст более корректный результат: но и тут будет проще после обычного бленда добавить ноду Normal Normalize, которая также не требует больших вычислительных затрат и при этом корректирует карту нормалей, — если вдруг в ней есть незаметные артефакты.

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

Используемый нойз можно видоизменить с помощью таких нод, как Transform или Safe Transform — если нужно просто подвигать или повернуть рисунок, либо исказить его с помощью различных блюров, а также смешать с другим нойзом через ноду Blend, получив тем самым свой уникальный рисунок.

Но, если наш компьютер не «вскипает», и перед нами не стоит задачи найти решение для оптимизации нойзов, то об этом можно смело забыть. Этот выбор всегда остается за художником.

Все ноды, в которых идет работа над цветом материала или рафнессом, можно смело урезать с 16bit до 8bit. Это никак не отразится на результате, зато снизит нагрузку на память на несколько процентов.

Важно: изменение формата других карт материала — таких, как Height, AO, и Normal, — на 8bit приведёт к заметным артефактам.

В ноде Blend можно выбрать режим Alpha blending. Он определяет то, как работает смешивание цветных нод, в которых есть альфа-каналы. Это полезно в случаях, когда нужно подмешать какой-либо цвет с альфа-каналом к другому цвету и учесть при этом прозрачные области.

Режимы с учётом альфы более затратны. Поэтому Alpha blending можно отключить, когда он не нужен: это немного уменьшит тайминг.

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

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

Дополнительный плюс в том, что мы можем настроить цвет и прозрачность каждой рамки. А ещё подписи рамок всегда отображаются в одном и том же масштабе, — даже если мы очень сильно удалились от графа.

При желании каждый важный бленд можно выделять рамкой и определённым цветом. Главное, чтобы впоследствии было легко разобраться в собственном графике.

Комментарии и пины — очень полезное дополнение к рамкам графика.

Плюс «комментов» в том, что в них можно уместить довольно много информации — в отличие от рамки, в которой ограничиваешься всего лишь подписью. Однако, большое обилие комментариев заставляет весь график ужасно тормозить. Поэтому здесь нужно искать золотую середину между обилием комментариев и приятной работой без подтормаживаний.

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

Для этого на любой комментарий, ноду или рамку можно добавить и подписать пин. После этого между этими пинами можно будет циклично переключаться при помощи клавиши F2 (Shift+F2 — переключение в обратном порядке).

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

Чтобы немного реорганизовать связи, можно нажать клавишу Alt, навести на связь и кликнуть. На месте клика появится точка, с помощью которой соединению можно придать форму и сделать связи менее запутанными. На одно соединение можно добавить несколько точек.

Если есть несколько связей из одного выхода, то можно зажать alt, создать точку, а затем, также с зажатым alt, перетащить эту точку к другим связям. Они соединятся автоматически.

Промежуточные ноды, у которых один вход и один выход (такие как Levels, Transform, Uniform Color, Invert и другие), которые не несут большой смысловой нагрузки, а лишь выступают в роли вспомогательного этапа, можно свернуть, и затем развернуть, нажав клавишу «D». Таким образом можно немного упростить вид графика.

Sub-graph — это график или цепочка действий, которые были «упакованы» и превращены в многократно используемый автономный ресурс, то есть — в ноду. Такая нода называется Instance.

Sub-graph можно создать непосредственно внутри файла материала как отдельный граф, а можно вывести в sbsar файл, который в дальнейшем будет использоваться при создании новых материалов.

Таким образом, инстансы спасают график материала от нагромождения нод и постоянно повторяющихся действий.

Предположим, однажды у нас получилось создать красивые трещины. Чтобы не повторять алгоритм действий каждый раз, когда нужно добавить в материал трещины, можно просто взять этот граф, настроить управление параметрами (expose) и вывести в sbsar файл. Тем самым мы создадим инстанс, который можно использовать в любом материале.

Также инстанс можно использовать как промежуточную ноду, которая определённым образом меняет рисунок. В sub-graph этой ноды может быть упакована цепочка из нескольких нод Slope Blur — или другие необходимые преобразования. Главное — не забыть, что помимо ноды вывода (output), должна быть и нода ввода (input). Она нужна, чтобы в дальнейшем в инстанс можно было подключить ноду, которую нужно преобразовать.

Благодаря этой ноде цвет и roughness можно дорабатывать одновременно, добавляя детали в обе эти карты.

Удобство ещё и в том, что внутри Material Color blend можно выбрать цвет, который будет добавляться по маске, а также выбрать Blending Mode. Благодаря этому отпадает необходимость добавлять дополнительные ноды Uniform Color и лишние бленды.

Оптимизировать график можно до бесконечности, и на это уходит немало времени. Некоторыми пунктами, описанными в статье, можно пренебречь ради экономии времени и сил.

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

На курсе «Процедурный трип» мы научим тебя создавать процедурные текстуры с нуля.

Записаться на курс и узнать все подробности можно по ссылке.

Материал подготовлен командой XYZ Media.

Наши каналы в Telegram и на YouTube.

Спасибо! Один из самых полезных подсайтов. Дизайнер труднее всего даётся пока из всего софта, который учу в трёхмерке(

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *