Геймдев
#статьи

Всё о Substance 3D Designer: что это за программа и для чего она нужна

Обзор приложения и краткая инструкция.

Иллюстрация: Galina Nelyubova / Unsplash / Substance 3D Designer / Adobe / Annie для Skillbox Media

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

Содержание

Что такое Substance 3D Designer и для чего она нужна

Substance 3D Designer — это программа для создания материалов (в том числе и PBR), основанная на процедурном подходе. Вместо привычного редактора для отрисовки текстурных карт вручную, приложение формирует сеть из нодов, представленных параметрическими битмапами. Их можно изменять в реальном времени, внося различные значения в пункты настроек.

Все ноды со свойствами будущего материала (к примеру, деформация, размытие, размножение рисунка и так далее) выстраиваются в графе слева направо и объединяются в сеть для передачи информации от одного компонента к другому. Каждый нод, подключённый в связку, влияет на конечное отображение материала.

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

Промовидео с краткой демонстрацией рабочего процесса в Substance 3D Designer

Substance 3D Designer разработала французская студия Allegorithmic, задолго до появления более известной в кругах художников Substance 3D Painter. Её предшественники — программа ProFX (для оптимизации размера текстур) и плагин Imagesynth (для создания бесшовных текстур путём перестраивания и смешивания элементов изображений) — появились ещё в середине нулевых и значительно упрощали подход к текстурированию в видеоиграх.

Первая версия Substance 3D Designer вышла в 2010 году. Общая концепция мало чем отличалась от нынешней, но, несмотря на гибкий подход к тайловому текстурированию, программа поначалу не вызвала ажиотажа в индустрии. Технологии 3D-графики времён PlayStation 3 и Xbox 360 ещё не могли похвастаться фотореалистичной детализацией в отношении текстур, не говоря уже о PBR-материалах. Многие художники всё ещё рисовали и обрабатывали исходные изображения в Photoshop, и этого было достаточно.

Позднее софт Allegoritmic стал набирать популярность благодаря сотрудничеству с основателями Unity и последующей интеграцией инструментов Substance Designer в движок для оптимизации текстур. Уже в 2013 году компания подписала контракты с известными AAA-студиями, включая Naughty Dog, Treyarch и Ubisoft. В результате множества итераций и консультаций с техническими художниками, задействованных в актуальных на то время проектах, в октябре того же года вышла четвёртая версия Substance 3D Designer с поддержкой PBR-свойств. А релиз программы в Steam существенно расширил круг пользователей Substance 3D.

В начале 2019 года компанию Allegoritmic приобрела Adobe, и все программы из линейки Substance 3D стали частью экосистемы Adobe Creative Cloud. На сегодняшний день Substance 3D Designer задействована в производстве более 95% AAA-игр на рынке. Также программу используют ведущие студии по производству анимации и визуальных эффектов.

Шоурил, демонстрирующий возможности серии Substance 3D, в том числе и Substance 3D Designer в области моушн-дизайна

Substance 3D Designer входит в экосистему Adobe, поэтому тарифы на лицензию ничем не отличаются от Substance 3D Painter. Также можно приобрести бессрочную лицензию в Steam примерно за 200 долларов (конечная цена зависит от региона) с возможностью загружать обновления в течение года. Но, чтобы воспользоваться обновлениями в следующем году, придётся купить новую лицензию. Предложение недоступно для владельцев учётных записей из РФ.

Ключевые особенности Substance 3D Designer

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

Создание уникальных материалов (в том числе по технологии Material Definition Language от NVIDIA). Множество настроек, интегрированных в программу, позволяют добиться сложных фактур — от винтажных тканей с узорами до каменного ландшафта или ржавой металлической решётки. При этом результат зависит от поставленной художнику задачи: можно сделать фотореалистичный материал или придать ему более стилизованный вид.

Удобная интеграция контента в рамках локальной экосистемы. Материал можно сохранить в формат Substance Archive (.sbsar) и загрузить в другие программы Substance 3D — Modeller (моделирование), Sampler (фотограмметрия), Stager (визуализации) и Assets (библиотека ассетов).

Наличие плагинов для интеграции контента в стороннее ПО для 3D-моделирования, системы рендеринга и игровые движки.

Плагин Substance 3D for Unreal Engine, поддерживающий файлы с расширением .sbsar
Источник: unrealengine.com

Большая библиотека нодов с фильтрами, генераторами текстур, масками, и готовыми PBR-материалами.

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

На момент написания материала самая актуальная версия Substance 3D Designer — 13.1.

Substance 3D Designer и Substance 3D Painter — в чём различие

У пользователя, незнакомого со спецификой линейки Substance 3D, может возникнуть закономерный вопрос: зачем нужна Substance 3D Designer, если в Substance 3D Painter тоже можно работать с текстурами и материалами? У обеих программ действительно есть сходство, тем не менее их применяют для разных задач.

Как уже упоминалось ранее, Substance 3D Designer предназначена для создания основных тайловых материалов, то есть не привязанных к конкретной UV-развёртке, и готовый контент можно применить абсолютно на любой объект, независимо от строения полигональной сетки.

Что касается Substance 3D Painter, то эта программа, наоборот, тесно взаимодействует с UV-развёрткой. Используя её инструменты, можно нанести материал на определённые участки меша, а также манипулировать со слоями текстур, формирующих структуру материалов, и точечно рисовать альфа-кистями по поверхности объекта в реальном времени.

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

Интерфейс Substance 3D Designer

Рассмотрим основные принципы работы в Substance 3D Designer. И для начала разберём интерфейс программы.

Чтобы начать свой первый проект в Substance 3D Designer, переходим в главное меню, открываем вкладку File, далее — New Substance graph. Сразу же откроется окно с выбором шаблонов.

Скриншот: Substance 3D Designer / Adobe

В этих шаблонах уже заложены определённые ноды для формирования поверхности, соответствующей определённым PBR-характеристикам. Если навести курсор на название любого из образцов, появится всплывающее окно с кратким описанием. Что касается шаблона Empty (выделен на скриншоте выше), то его выбирают в том случае, когда необходимо создать материал с нуля, без предустановок.

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

Для наглядности на скриншоте ниже открыт шаблон Metallic Roughness, и к нему подключён готовый PBR-нод Metal 002 из библиотеки.

Скриншот: Substance 3D Designer / Adobe

Редактор графов (Graph view) (на скриншоте — №1) — самое главное рабочее пространство Substance 3D Designer. Здесь происходит построение структуры будущего материала. Сам граф читается слева направо. Это значит, что самые крайние компоненты слева всегда будут исходными (в данном случае — нод с PBR-свойствами металлической поверхности), а самые крайние справа — отображают конечный результат (ноды вывода карт с разными свойствами). Колёсиком мыши можно масштабировать граф, а удержанием ПКМ — перемещаться по всей области.

Ниже расположено два окна предпросмотра будущего материала в 3D и 2D (на скриншоте — №2 и №3 соответственно). В 3D-вьюпорте (3D view) текущий материал по умолчанию применён на модель куба с закруглёнными углами (Rounded Cube), также здесь осуществляется рендеринг в реальном времени с учётом всех свойств поверхности. Объект в можно рассматривать во вьюпорте со всех сторон:

  • удержание ЛКМ — вращение;
  • удержание СКМ — перемещение;
  • удержание ПКМ — масштабирование.

В левой части окна 3D-вьюпорта находится панель быстрого доступа для отображения различных деталей сцены: освещения, фона, полигональной сетки, сетки координат, и других деталей. В верхней части 3D view расположено меню с настройками 3D-сцены. Ниже приведён список вкладок и краткое описание их функций.

  • Scene — замена куба с закруглёнными гранями (Rounded Cube), выставленного по умолчанию, на другой меш. Вариантов много — от стандартного куба с острыми гранями (Cube) или плоскости (Plane) до отрезка ткани (Cloth) или бублика (Torus). Также во вкладке есть опции с загрузкой и сохранением сцены, отображением UV-развёртки (в окне для 2D-просмотра) и другие функции.
  • Materials — вкладка настроек материалов для операций, выходящих за рамки манипуляций с текстурами. Например, можно выбрать подходящий шаблон и настроить уровень карты высот в панели настроек справа (о ней чуть ниже).
  • Lights — настройка освещения в сцене.
  • Camera — здесь настраивается виртуальная камера и перспектива, также можно сделать скриншот сцены или рендер.
  • Environment — настройки фона.
  • Display — отображение различных элементов сцены.
  • Renderer — выбор движка для рендеринга.

Что касается окна для предпросмотра в 2D (2D View), то оно тесно связано с редактором графов. Например, двойной клик ЛКМ по любому из нодов в графе отобразит выбранную карту в 2D. На скриншоте выше можно увидеть, что в 2D View отображён нод Basecolor, то есть основная карта, определяющая цвет поверхности.

Слева от редактора графов (на скриншоте — №4) расположен менеджер файлов (Explorer). В нём показана структура проекта и ярлыки для основных операций (сохранение и загрузка SBSAR-файлов). В аутлайнере можно увидеть все доступные в настоящий момент графы и содержащийся в них контент.

К слову, в одном проекте может существовать сразу несколько графов. Например, если создать ещё один граф (File — New — Substance graph…), он появится в Explorer чуть ниже предыдущего. И новый граф из него можно перенести в предыдущий набор методом перетаскивания.

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

Чуть ниже (на скриншоте — №5) находится библиотека нодов (Library). В ней представлен весь контент, который по умолчанию входит в сборку Substance 3D Designer. Здесь можно найти различные ноды с фильтрами, генераторами, масками и готовыми материалами, которые можно загрузить в граф методом перетаскивания. Более подробно обо всех категориях нодов можно узнать из официальной документации.

В правой части редактора (на скриншоте — №6) находится панель настроек (Properties), где можно редактировать все составляющие проекта. Набор атрибутов, представленный в окне, напрямую зависит от выбранного компонента. Например, на скриншоте выше выделен нод с битмапом вывода Basecolor, поэтому настроек не так много. Но стоит выбрать нод с PBR-материалом — и структура Properties кардинально изменится.

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

И наконец, главное меню (на скриншоте выше — №7) состоит из двух сегментов. Основная панель содержит вкладки File (общие действия с проектом), Edit (общие настройки программы и операции по отмене и возвращении действия), Tools (настройки рендеринга и подключение плагинов), Windows (скрытие и отображение, а также подключение дополнительных окон) и Help (справочная информация). Чуть ниже находится панель с ярлыками быстрого доступа к операциям, которые есть в меню File и Edit.

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

Как сделать материал в Substance 3D Designer

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

  • специфики PBR-материалов, включая общие представления об отражении и преломлении света от поверхности;
  • технических карт и их влияния на итоговый результат.

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

  • Atomic Nodes — базовые компоненты, которые формируют основу материала. По умолчанию они размещены на панели ярлыков в редакторе графов.
  • Library Nodes — используются в сочетании с базовыми нодами для создания уникального текстурного рисунка.

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

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

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

Создаём новый Substance Graph. В качестве шаблона выбираем стандартный Metallic Roughness.

Стрелками отмечены действия
Скриншот: Substance 3D Designer / Adobe

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

Для начала выберем форму будущих трещин. В качестве основы подойдёт любая из четырёх вариаций ячеек (нод Cells). Мы выбрали Cells 4, чтобы в дальнейшем продемонстрировать дополнительную операцию. Выделяем созданный нод и заходим в Instance Parameters. Здесь нас интересует пункт Scale, который может масштабировать ячейки. Регулируем его, пока размер будущих сколов не будет нас устраивать. К слову, ползунок Disorder, расположенный чуть ниже Scale, отвечает за смещение элементов рисунка. И при желании с ним тоже можно поэкспериментировать.

Жёлтым выделены пункты Scale и Disorder
Скриншот: Substance 3D Designer / Adobe

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

Примечание

Связывать ноды легко, но процесс отсоединения неочевидный, так как при правом клике по гнезду этого действия в списке нет. Чтобы разорвать связь между нодами в Substance 3D Designer, зажмите Alt и кликните ЛКМ по выбранному гнезду.

Набираем название нового компонента — Edge Detect. Этот фильтр отобразит только контуры текущего узора. Заходим в Instance Parameters нового битмапа и на своё усмотрение регулируем две настройки — ширину (Edge Width) и округлость (Edge Roundless).

Следующий шаг — добавление в связку нода Non Uniform Dir. Warp. Этот компонент отвечает за искажение контуров (в нашем случае — узора будущих трещин) и содержит несколько дополнительных гнёзд для комбинации с масками. Из левого гнезда Intensity Map выводим нод Clouds. В Substance 3D Designer существует три вида нодов Clouds, и можно выбрать любой из трёх в зависимости от интенсивности эффекта, который нужен в итоге. В данном случае выбран нод Clouds 2. В Instance Parameters можно отрегулировать масштаб (Scale) и его вариативность (Disorder). Этот же нод Clouds 2 связываем с гнездом Warp Angle Map у Non Uniform Dir. Warp, тем самым мы определим угол эффекта деформации. В результате должна получиться следующая схема.

Скриншот: Substance 3D Designer / Adobe

Теперь связываем нод Non Uniform Dir. Warp с нодом Normal, который уже есть в текущем пресете, и с нодом вывода карты высот (Height), чтобы трещины не просто отображались на поверхности, а создавали визуальное углубление. Смотрим результат.

Скриншот: Substance 3D Designer / Adobe

У нас получилась базовая основа. Теперь можно добавить трещинам затенение, за которое отвечает карта Ambient Occlusion. Если сейчас связать c ней нод Non Uniform Dir. Warp, углубления станут неестественно чёрными. Поэтому тёмные участки необходимо осветлить. Для этого потребуется нод Levels. Создав его, заходим в раздел Specific Parameters и в пункте Level Histogram регулируем каналы таким образом, чтобы чёрные участки битмапа стали серыми.

Скриншот: Substance 3D Designer / Adobe

Теперь Levels можно связать с Ambient Occlusion.

Скриншот: Substance 3D Designer / Adobe

Также можно усилить отражение текущего материала (слот Metallic) или добавить шероховатости (слот Roughness). Здесь помогут знания о распределении чёрно-белых тонов на этих картах. Попробуем вывести из нода Levels нод Invert Grayscale, который инвертирует цвета карты. Соединяем его с картой Metallic. Чем светлее оттенок на участках битмапа, тем больше отражения он даст. В результате получится матовая поверхность с трещинами, от которых свет отражается более явно.

Скриншот: Substance 3D Designer / Adobe

Примечание.

Invert Grayscale работает только с картами в чёрно-белых тонах. Для цветных карт используйте Invert Color.

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

При желании можно посмотреть, как текущая фактура будет выглядеть на других объектах. Для этого в меню вьюпорта открываем Scene и выбираем любой интересующий нас меш.

Рендер материала, наложенного на меш бублика (Torus) без фона
Скриншот: Substance 3D Designer / Adobe

Примечание

Чтобы сделать рендер содержимого 3D-вьюпорта, открываем вкладку Renderer и выбираем движок Iray. Далее заходим во вкладку Camera и нажимаем Save Render. Если нужен просто скриншот, его можно сделать не переключаясь на Iray: Camera — Save Screenshot. Но качество отображения поверхности при этом будет хуже.

Важно!

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

Разумеется, это далеко не все манипуляции, которые можно произвести с этим материалом. Можно экспериментировать с отражением поверхности, усилить карту высот, сделать общий рисунок более детальным или добавить больше элементов… Иными словами, возможности процедурного редактирования безграничны.

К слову, по умолчанию проект сохраняется в формате SBS, который используется исключительно в рамках Substance 3D Designer, так как содержит информацию о графах, нодах и заложенных в них свойствах. Для интеграции в другие программы линейки Substance 3D, например Substance 3D Painter, необходимо кликнуть по ярлыку с вертикальной стрелкой (рядом с иконкой дискеты) и выбрать Publish .sbsar file. Если нужно сохранить только финальные битмапы для последующего импорта в другую программу или движок — кликаем ПКМ по графу, выбираем Export Outputs… и в открывшемся диалоговом окне отмечаем галочкой карты, которые необходимо сохранить.

Резюмируя, можно сказать, что Substance 3D Designer — универсальная программа, в которой создание материалов ограничено лишь фантазией пользователя. И, как и у любого другого софта, у неё есть свои плюсы и минусы.

Преимущества Substance 3D Designer

Удобный рабочий процесс. Не нужно беспокоиться, о том, что придётся начинать всё с нуля, если материал отображается некорректно из-за одного неправильно настроенного компонента.

Стандарт индустрии. За счёт возможности создавать уникальные материалы высокого качества, программу (особенно в связке с Substance 3D Painter) активно используют художники ведущих студий.

Изображение: Oday Abuzaeed / ArtStation

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

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

Большое количество справочных материалов от разработчиков и профильных специалистов. Помимо официальной документации, на сайте Adobe можно найти большую коллекцию видеоуроков и статей по изучению тех или иных функций программы. Обучающий контент можно сортировать по сложности и продолжительности. Отдельного внимания заслуживают видео с «рецептами‎» тех или иных материалов, где, помимо пошаговой инструкции, можно скачать приложенные к ним SBS и SBSAR-файлы и рассмотреть структуру нодов наглядно в программе. Также доступен плейлист видеоуроков для начинающих пользователей на официальном канале Adobe Substance 3D в YouTube.

Недостатки Substance 3D Designer

Требует понимания логики процедурного подхода. Даже в обучающих материалах можно встретить сложные графы, состоящие из десятков нодов, просмотр которых может оттолкнуть начинающего пользователя ещё на старте знакомства с программой. Не говоря уже о том, Substance 3D Designer содержит огромное количество разных компонентов, и потребуется время, чтобы разобраться в их функциях и применении на практике.

Так выглядит граф шерстяного вязаного материала из видеоурока Designer Quicktip 27 Wool
Скриншот: Substance 3D Designer / Adobe

Высокая цена. Ежемесячные расходы на подписку или ежегодный апгрейд в Steam подразумевают, что использование программы должно окупаться. Поэтому опытным 3D-художникам и студиям работать в ней гораздо рациональней, чем начинающим.

Итог

Substance 3D Designer — мощный и универсальный инструмент для создания уникальных тайловых текстур и материалов высокого качества. И хотя программа требует определённых теоретических знаний и вдумчивого подхода, в настоящий момент у неё нет аналогов в плане вариативности настроек и контроля рабочего процесса.

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

Попробуйте новую профессию в геймдеве — бесплатно

Доступ к курсам за 0 р.

Я не знаю, с чего начать
Кто вы в мире геймдева? Узнайте на бесплатном курсе ➞
Вы на практике попробуете 3 профессии: геймдизайнера, 2D-художника и разработчика на Unity. Создадите свою первую игру в стиле Mario. Подробности — по клику.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована