Использование POM декалей в Unreal Engine на примере проекта Hydroponics Lab

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Художник Энди Бэйджент рассказал изданию 80 Level о своей новой работе в sci-fi стиле «Лаборатория гидропоники». Он затронул такие темы как работа с декалями типа Parallax Occlusion Map, моделирование в 3ds Max, композиция, освещение, пост-обработка сцены и многое другое.

Вступление

Привет, меня зовут Энди Бейджент (Andy Baigent) и я художник по окружению в студии Creative Assembly которая находится Великобритании. В данный момент я работаю над новым IP в жанре FPS, в составе консольной команды.

Я всегда был очарован 3D, будь то фильмы или игры. Я по-прежнему, очень люблю смотреть различные разборы и making of'ы про создание игр и фильмов. Именно это, а также любовь к играм привело меня к изучению игрового арта в Университете Дерби.

С того момента как я закончил университет в 2012 году, я успел поработать в нескольких студиях. Evolution Studios, где я был художником по пропсам на проекте Driveclub. Cloud Imperium Games, где я был художником по окружению на проектах Star Citizen/Squadron 42. Electric Square, где я был художником по окружению/художником по текстурам на различных проектах, о которых мне не разрешено говорить (некоторые из них были отменены, либо ещё не выпущены).

Основные цели проекта Hydroponics Lab

На момент начала данного проекта, прошло уже около двух лет с тех пор, как я работал над Star Citizen, и я очень соскучился по созданию различных научно-фантастических вещей. Именно поэтому, моей основной целью было создание небольшого окружения в Unreal Engine 4, используя тот же самый подход, который использовался в Star Citizen. Как ни странно, использование UE4 было для меня немного пугающей концепцией, поскольку я толком не использовал этот движок с тех пор, как попал в индустрию. Тем не менее, я воспользовался этим как возможностью заново изучить всё то, что я позабыл и узнать что-то новое.

Держа всё это в голове, я как следует покопался в Google Images, Pinterest и Artstation, просматривая всё, что связано с научной фантастикой, чтобы найти какие-нибудь интересные идеи. В конце концов я нашёл этот концепт от Оливера Гини (Oliver Guiney). Помимо самого концепта Гини опубликовал свой собственный, подробный разбор и идеи касательно создания данного концепта. Это очень помогло мне!

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Первые шаги

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

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab
Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Процесс моделирования

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

Вы можете сделать всё это вручную, но это займет некоторое время, а конечный результат может быть не идеальным. К счастью, у Бена Бошера (Ben Boscher) есть действительно классный плагин Custom Normals Tool для 3ds Max, который делает всё это за вас.

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Хорошим и быстрым способом размещения декалей на объекте в 3Ds Max является выбор ваших декалей и их рисование с помощью свитка Object Paint:

  • Шаг 1 – Создайте набор декалей из вашей модели и присвойте им корректные имена. Кроме того, выберите грань декали (не всего объекта целиком) и приподнимите её от поверхности — это уменьшит шансы возникновения артефактов типа (Z-fighting) при рисовании декалей на объекте.
  • Шаг 2 – Выберите Edit Object List и добавьте меши ваших декалей в появившееся окно. Держите это окно открытым.
  • Шаг 3 – Выберите меш на который вы хотите нанести декаль и затем выберите Paint With Object(s) in list. Выберите декаль из списка который вы сделали в предыдущем шаге, и начинайте рисовать на своём меше.
Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Создание «POM линий» более трудоёмкий, но всё же достаточно простой процесс. Поскольку мы собираемся преобразовывать рёбра в Shape или Spline, полезно иметь рёбра в том месте, где вы хотите, разместить вашу POM линию (возможно, вам придется их смоделировать).

После выбора нужных рёбер преобразуйте выделение в линейную форму (linear shape), а затем выберите только что сгенерированную форму и убедитесь, что установлен флажок Enabled in Viewport. Настройки довольно субъективны, они просто зависят от того, насколько толстой вы хотите, получить свою POM линию, но я бы рекомендовал вам использовать очень маленькую ширину, чтобы грани располагались как можно ближе к вашему исходному мешу.

Когда вы будете довольны, преобразуйте фигуру (Shape) в полигон и удалите ненужные полигоны, примените материал и сделайте развертку меша под вашу POM линию!

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

Когда дело дошло до создания конструктивных элементов комнаты (пол, стены и потолок) и рабочей станции, я смоделировал и разместил все элементы прямо в 3ds Max, а затем экспортировал их в UE4. Подобный подход означает, практически полное отсутствие простора для гибкости и модульности, но, учитывая, что у нас тут достаточно уникальная комната, я не считаю, что это является какой-то проблемой. Кроме того, это значит, что мне не нужно беспокоиться о идеальном позиционировании объектов в UE4.

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

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

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

Материалы

Еще одной чрезвычайно важной частью этой сцены являются декали Parallax Occlusion Map (POM). Parallax Occlusion Map работают аналогично Bump Offset, создавая иллюзию глубины на плоской поверхности. Использование такого рода шейдеров вместе с декалями является ключевым элементом — это помогает разбить тайловые материалы с помощью мелких деталей, таких как болты, линии панелей и кнопки, которые расположены по всей сцене.

Поскольку шейдер полагается на карту высот, я начал работать над некоторыми высокополигональными мешами для декалей, чтобы потом запечь их в Substance Designer. Некоторые из них были новыми, а некоторые я взял из старых наборов декалей и тримшитов, которые я сделал ранее. Как только меня стал устраивать, полученный набор декалей, в 3ds Max я присвоил разным мешам разные материалы, чтобы иметь возможность запечь карту цвета (color map) в Substance, которая используется для маскирования и смешивания различных материалов в текстурах. Это чрезвычайно полезно, если вы хотите получить металлический болт на пластиковой поверхности (например).

Здесь вы можете увидеть разные материалы, которые я назначил мешам, саму Color Map и конечный результат:

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

Самой сложной частью материала для декалей была непрозрачность. В качестве отправной точки я инвертировал карту Ambient Occlusion, которая была получена путём запекания с высоко-полигональных мешей. Это дало мне хорошую основу. Но я обнаружил, что некоторые области были не такими выпуклыми, как другие, поэтому я использовал множество узлов Histogram Scan для управления уровнями АО, а затем объединил их с помощью масок, которые я создал с помощью узла Transform 2D и узла Shape.

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Поскольку некоторые декали, нужно было сделать непрозрачными (например, болты), я использовал узел Color to Mask для генерации масок на основе Color map, и смешал их с моей Opacity map для получения непрозрачных декалей.

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

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

Сборка сцены

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

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

Планета

Планета была, пожалуй, самой легкой частью всего проекта! Найдя несколько текстур Марса в Интернете, я перенес их в UE4, а затем настроил материал, который в итоге оказался очень простым; Так как она была довольно коричневой и тусклой, я добавил темно-красный цвет к текстуре Albedo, чтобы сделать её более яркой. Кроме того, обработал её с помощью Френеля (Fresnel), чтобы создать ощущение атмосферы, как если бы она находилась на ранних стадиях терраформирования.

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Освещение

Первоначально моей целью для освещения сцены было использование сетапа работающего в реальном времени с динамическим GI и объемами распространения (propagation volumes), которые отлично работали в новой тестовой сцене которую я собрал, но, к сожалению, я не смог заставить работать всё это в лаборатории. Итак, в конце концов, примерно на 2/3 пути, я полностью отказался от идеи использовать освещение в реальном времени и решил, что когда я закончу с окружением, я начну всё с нуля, но уже с запеченным освещением. Несмотря на то, что запуск с нуля отнял у меня кучу времени, в конечном счёте это дало мне возможность заново изучить те многие вещи, которые я забыл об освещении в UE4.

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

Для каждого из основных источников света я в действительности использовал два источника света; один точечный источник света (spot light), чтобы наполнить комнату светом, и дополнительный точечный источник света (point light), чтобы придать окружающему пространству немного свечения. Мне пришлось увеличить Soft Source Radius, иначе отражения источников света были бы слишком резкими.

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

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

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

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Пост-обработка

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

Большинство настроек, которые я редактировал, находятся в разделе Colour Grading. Здесь я увеличил Global Contrast, чтобы придать сцене больше глубины, поскольку она казалась мне довольно плоской. Это сделало цвета действительно яркими, и мне пришлось обесцветить (desaturated) сцену примерно на 25%. Затем я увеличил Green Saturation Channel в Midtones, чтобы вернуть растениям их цвета, поскольку (по понятным причинам) я потерял много информации о зелёном, когда уменьшил Global Saturation (что очень плохо, если внешний вид вашего окружения сильно зависит от листвы/растений).

Также я уменьшил красный и синий каналы в Scene Colour Tint, чтобы придать всему окружению зеленоватый оттенок, и, наконец, я использовал LUT-текстуру из пакета Amplify LUT, чтобы придать сцене кинематографичный тон.

Проблемы

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

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

Довольно часто, если меня что-то беспокоит или выглядит неправильно, я не могу оставить это в покое, пока не решу проблему. Несколько раз это случалось и в данном проекте — что резко меняло весь внешний вид и ощущение от окружения. Основной проблемой оказался потолок. Я хотел, чтобы он был как можно ближе к первоначальному концепту, но я обнаружил, что там слишком много пустого места. Чтобы исправить это, я просто добавил тонны ненужных деталей, и в результате он стал очень перегруженным. Именно поэтому я решил полностью переделать его, увеличив окно. Это помогло разнести источники света и другие детали чуть дальше от центра. В конечном итоге, это принесло огромную пользу всему окружению: мне не только удалось уменьшить визуальный шум на потолке, но и оказать огромное влияние на освещение и общую композицию сцены.

Использование POM декалей в Unreal Engine на примере проекта  Hydroponics Lab

Больше скринов вы можете найти на Artstation.

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

15K15K показов
3.9K3.9K открытий
22 репоста
Начать дискуссию