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

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

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

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

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

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

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

cb240a8b6fbf4eeab427a78d598c62b6.png
Золото, серебро, GreebleCity и лес.

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

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

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

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

ae87d06ce4c54da2a8b7c55fb1cb205a.png

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

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

6b568b894cf34f3a8a5a90c568931fda.png

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

55b118a39158478d9a883f8342e71490.png

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

65888d4bafdf42f8b0372c7e4d2b7242.png

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

e12cb9e150a34e44a8a36c5c8207edcc.png

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

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

ec552635557b42dcb6f583dd21efd0f9.png

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

e73843f7183c432fb33fe37981e8e36b.gif

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

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

c1414f38b3b442a7897d0161dec79e51.png

90dc836710274779a1b6e3c48d1e70a7.gif

Осталось экспортировать материал, просто нажав на Export. SD экспортирует файл .sbsar в Unity, и он работает в точности как материал. Он автоматически располагает карты в нужных местах, после чего позволяет выполнить настройку. Должен сказать, что материалы в Unity выглядят немного иначе, чем в самом Substance Designer, но, возможно, создатели ПО исправили это в последнем обновлении.

a1f85218487a4d95955ee8d17b925124.png

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

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

1698b6908e804648bfc6ad23cef8fbb6.gif

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

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

bed84e4d206445fcadf4af2c6877f16f.gif

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

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

3a286b92b215404ea2ba8c7ae40677ad.png

a5647e0378fb4bb9abb748f277e90480.png

1f08265f0ea341fea515568ff1f67496.png

Игра Antegods поддерживается Dutch Cultural Media Fund (Голландским культурным медиафондом), Cultural Industries Fund NL (Голландским фондом индустрии культуры) и Программой Европейского Союза MEDIA.

Комментарии (0)

© Habrahabr.ru