Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Художник Эмиль Слегерс поделился своим рабочим процессом, лежащим в основе проекта «Заброшенный Тоннель». Он рассказал о процессе создания ассетов и объяснил, почему для этого проекта был выбран Unreal Engine 5.

Введение

Привет! Меня зовут Эмиль Слегерс (Emiel Sleegers). Я старший художник по окружению (Senior 3D Environment Artist) и владелец FastTrackTutorials. Я работаю в игровой индустрии чуть больше семи лет. В течение этого времени, я работал в Playground Games (Forza Horizon 3) и Ubisoft (The Division + DLC, и ещё один не анонсированный проект). В настоящее время я работаю внештатным художником в своей собственной компании FastTrackTutorials. Мы специализируемся на разработке высококачественных обучающих курсов, о том, как создавать 3D графику для игр.

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Проект «Заброшенный Тоннель»

Из-за того, что у меня довольно мало свободного времени, я могу позволить себе только один крупный проект в год. Я очень большой поклонник творчества Naughty Dog и в частности The Last Of Us. Так что, в случае с этим окружением я хотел посмотреть, смогу ли я приблизиться к качеству Naughty Dog, изучив при этом кучу новых вещей, и конечно же, получив массу удовольствия.

Когда я решил, что хочу создать пост-апокалиптическое окружение, я включил свою PS4, загрузил The Last Of Us и пересмотрел все те потрясающие концепт-арты, которые были включены разработчиками в игру. Через некоторое время я нашёл нижеследующий концепт и решил, что он станет моим основным референсным изображением.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

После того, как я нашёл основное референсное изображение, я перешёл к классическому процессу сбора референсов. Поиску множества референсных изображений туннелей, разрушенных зданий и потолков, а также поиску ссылок на отдельные объекты и материалы. Совет от профессионала: если вам нужны ссылки на материалы и объекты, загляните на artreference.org.

Композиция

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

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

Например, вот так выглядит то же самое окружение, но с другого ракурса:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

И в-третьих, я постарался сэкономить время, не тратя его на объекты, к которым камера никогда не приблизится, таким как автобус, автомобили и небольшие отверстия в потолке на заднем фоне.

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

Архитектура

Для данного окружения я использовал следующие инструменты:

  • Maya+ZBrush для моделирования
  • SpeedTree для создания всего что связано с растительностью
  • Unreal Engine 5 для сборки окружения
  • Substance Painter+Designer для создания текстур и материалов

Давайте рассмотрим строение окружения и разделим его на три части:

1. Структурные элементы

2. Разрушенные элементы

3. Дополнительные ассеты

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

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

Здесь вы можете увидеть модель потолка в виде отдельного элемента:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Я разделил потолок на 3 части, а затем использовал плагин Maya под названием PullDownIt, чтобы разбить меш на более реалистичные части. Разделение его на 3 части, упрощает выполнение последующих шагов.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Следующим шагом был его перенос в ZBrush. Я использовал DynaMesh и заскульптил края, чтобы они выглядели более органичными. После этого я использовал комбинацию Surface Tool и маскирования, чтобы придать краям дополнительное ощущение раздробленности.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

На этом этапе я немного поленился и использовал для оптимизации своих моделей Decimation Master. Если бы я стал переделывать их топологию вручную, это заняло бы несколько рабочих дней. Наконец, когда у нас есть высоко-полигональная версия и низко-полигональная версия, всё что нам нужно сделать, это добавить UV развертку для Low Poly объекта и запечь меш. Для запекания я использовал Marmoset Toolbag 4.

Теперь, самая интересная часть: я создал шейдер в Unreal Engine, который позволяет мне выбирать места, где я хочу разместить текстуру чистого бетона, повреждённого бетона, вариативные текстуры с трещинами и даже то, где я хочу иметь грязь. Эти маски рисуются в Substance Painter и добавляются в RGBA каналы текстуры.

Я могу показать вам, как именно это всё выглядит, довольно нелепый вид:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Как вы могли заметить, само изображение не имеет смысла, но по существу, красный цвет означает чистый бетон, розовый означает бетон с трещинами, а остальное — это поврежденный бетон (в глобальном UV пространстве).

Затем, нужно добавить несколько плоскостей с текстурой арматуры (с соответствующей маской прозрачности).

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

И как только вы соберёте всё это вместе, вы получите нечто подобное, в качестве конечно результата:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Дополнительные ассеты. Уникальные ассеты, в основном, были сделаны посредством запекания деталей с высоко-полигональной геометрии на низко-полигональную, а затем затекстурированы в Substance Painter. У меня почти нет опыта в создании автомобилей, поэтому я относился к ним как к далеким объектам. Это значит, что их качество немного ниже чем у других объектов.

Растительность

Для растительности я в основном использовал SpeedTree, за исключением водяных лилий (кувшинок), которые представляют собой простые плоскости с текстурой на них.

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Вот пример одного из растений, сделанных «на заказ». Для этого я использовал подход, который разработал сам. Сначала я создаю ствол, а вместе с ним и несколько веток. Затем, я поворачиваю ствол на 90 градусов и помещаю его в нужное мне место. Наконец, я добавляю несколько более мелких ветвей, а к большим и малым ветвям я добавляю «силу магнита» (Magnet Force) вместе с силой притяжения (Gravity), чтобы вытянуть их вниз.

Здесь вы можете посмотреть, как это должно выглядеть:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

Вот ещё один пример, где я сделал это, для общего варианта плюща:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Разместите свой ствол и большие ветви, добавьте Magnet и маленькие ветви. Поиграйте с настройками и гравитацией, добавьте листья с включенными коллизиями. Перед экспортом, скройте свой ствол (trunk) и первый уровень веток (branches).

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

Что касается травы и других растений, все они используют базовые подходы SpeedTree, в которых вы сразу добавляете ноду листьев (leaves node) в основное дерево (core tree), а затем, вместе с текстурой манипулируете им, чтобы получить желаемый результат:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Конечно, мне легко говорить всё это, но SpeedTree — это программа с огромным количеством настроек. Несмотря на то, что FastTrackTutorials ещё не имеет специализированных уроков по растительности, у меня есть руководство, в котором я объясняю, как использовать SpeedTree для создания травы, кустов, деревьев и других наземных растений.

Текстурирование

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

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

Если быть честным, в Substance Designer я не сделал ничего особенного. Поэтому, всё что я могу, это сделать ещё одну бесстыдную саморекламу и сказать вам: если вы ознакомитесь с данным руководством, вы сможете изучить все те методы, которые я использовал для создания этих материалов, с точно таким же уровнем качества.

Дорожные знаки, конусы и автомобили — все они, используют уникальные текстуры, которые я создал в Substance Painter. Я расскажу только об одной из них, поскольку процесс текстурирования всех остальных моделей практически не отличается. Давайте взглянем на наш дорожный знак. Как вы могли заметить, у меня были как высоко-полигональные, так и низко-полигональные версии этого знака, которые я использовал для запекания в Marmoset Toolbag.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Как только с этим было покончено, я сразу перешёл в Substance Painter и приступил к определению и настройке базовых материалов. Далее, я просто использовал несколько заполняющих слоёв (fill layers), чтобы нарисовать грязь и добавить дополнительную информацию о шероховатости.

Вот как был собран этот материал:

Сборка сцены

Собрать сцену внутри Unreal Engine было не так уж сложно. Как и всегда, я начал с блокаута — это просто вопрос неспешного размещения пропсов. Что касается композиции, мне действительно помогло то, что я следовал ключевому концепту. Это давало мне чёткое понимание того, какой тип композиции я должен получить.

Что касается растительности, я разместил всё вручную, за исключением травы. Для неё я использовал функцию рисования растительности в Unreal Engine (Foliage Paint). Причина, по которой я разместил так много элементов вручную, заключается в том, что я хотел иметь 100% контроль над всем что добавляю в сцену.

Вода — это просто блюпринт, который я взял в Unreal Marketplace. Я отключил практически все настройки, кроме базовой воды и карты нормалей (Normal Map) отвечающей за детализацию волн. Декали были добавлены с помощью встроенной системы декалей, а для дорог я использовал цвета вершин (инструмент Vertex Painting) для создания перехода между материалами чистого и повреждённого асфальта.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

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

К счастью, я сохранил много изображений своего прогресса. Это дало мне возможность создать GIF’ку, которая в точности демонстрирует, как именно собиралось данное окружение:

Рендеринг и освещение

Я люблю новый Unreal Engine 5! Я решил использовать Unreal Engine 5, в основном, из-за новой системы освещения Lumen. Это делает процесс освещения простым и быстрым. Кроме того, я не хотел возиться с картами освещения, поэтому решение создать это окружение в UE5, с новой, улучшенной системой освещения в реальном времени, выглядит довольно естественным.

Что касается освещения, поскольку я хотел получить очень характерный внешний вид, я использовал в сцене довольно много источников света. Прежде всего, у нас есть обычный направленный свет (Directional Light), который будет управлять большей частью освещения в моей сцене.

К сожалению, новые виртуальные тени в UE5 еще не поддерживают подповерхностное рассеяние, которое я хотел использовать для растительности. Из-за этого мне пришлось использовать старый метод шейдинга. Было немного обидно, но результат всё равно выглядел хорошо. Затем, я использовал источники типа Area Rect Light, чтобы настроить яркость подсветки в некоторых местах, особенно вокруг плюща.

В дополнение к этим источникам света, я использовал плагин Unreal Marketplace для божественных лучей (godrays), который делает процесс их создания таким же простым, как добавление плоскости.

Что касается пост-обработки, то в Unreal Engine 5, вам нужно настраивать пост-эффекты намного меньше, чтобы получить хороший результат — Lumen позаботится о большинстве вещей за вас. Конечно же, я добавил виньетирование и зернистость, а ещё увеличил параметры, отвечающие за GI, но больше всего на конечный результат повлияла цветокоррекция. Я впервые использовал DaVinci Resolve для создания LUT, и это было потрясающе.

Чтобы у вас было представление, вот сцена без цветокоррекции и с цветокоррекцией.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Настройки в DaVinci Resolve:

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Я настоятельно рекомендую вам ознакомиться с DaVinci Resolve, поскольку там намного проще получить желаемый результат, чем к примеру, в Photoshop.

Создание заброшенного тоннеля в Maya, Substance и Unreal Engine 5

Заключение

Я работал над этим окружением время от времени, около 2 месяцев. Поскольку я не работал над ним постоянно, мне сложно сказать, сколько времени занял весь процесс в действительности. Если считать приблизительно, то я бы сказал, что от 100 до 150+ часов.

В общем, я узнал, как лучше обращаться с освещением в UE5, как использовать DaVinci Resolve, и я разработал несколько новых методов создания разрушений и плюща — лучше, чем те, что я использовал раньше.

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

Unreal Engine 5 поистине потрясающий движок, и он работает намного стабильней, чем я ожидал. У меня было всего три сбоя, два из которых произошли во время создания скриншотов, а последний, более серьёзный, когда движок не дал мне сохранять сцену. В результате чего я потерял около 15 минут работы. Но, когда вы получаете Lumen взамен, оно того стоит. Также, в UE5 появилась новая система Nanite, которую я еще не использовал, но я считаю, что она очень полезна.

UE5 очень похож на UE4. Естественно, в нём изменился интерфейс и система освещения, но в остальном он почти такой же и даже более прост в использовании. Всё что я хочу сказать, он всё ещё в раннем доступе, так что вам следует ожидать от него некоторых странностей. Зачастую это связанно с освещением, особенно с виртуальными тенями, которые немного глючат. Так что, если у вас есть проблемы с тенями, обратите на них (виртуальные тени) своё внимание в первую очередь.

Мне очень понравилось работать над этим проектом. Теперь мне пора снова сосредоточиться на создании обучающих материалов, в которых я обязательно расскажу обо всём, что я узнал из этого проекта. Конечно же, я продолжу заниматься небольшими персональными проектами, такими как создание материалов и пропсов.

Если вы хотите оставаться на связи со мной или FastTrackTutorials, вы можете посетить мой YouTube канал или страничку на ArtStation.

Текст перевёл и подготовил: Константин Пономарёв

21K21K показов
3.6K3.6K открытий
55 репостов
Начать дискуссию