Хабрахабр

[Перевод] Сложное модульное архитектурное окружение в UE4

Тайлер Анлауф подготовил подробный анализ модульного окружения ROME: Church of Sant’Ivo созданного им в UE4 и 3ds Max. В статье он рассказывает о предварительном черновом плане (blockout), модульной сборке, освещении, постобработке и многом другом.

ROME: Church of Sant’Ivo

В данном анализе я поделюсь с вами своим процессом работы над ROME: Church of Sant’Ivo, хитростями, которым научился, трудностями, с которыми столкнулся во время работы, а также планами под дальнейшему усовершенствованию сцены, потому что она пока ещё не завершена.

Цели проекта

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

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

Хорошие референсы решают проблемы визуально

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

Вот пример нескольких референсов из моей коллекции.

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

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

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

Планирование проекта

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

Здесь уже мы начинаем видеть, насколько огромно пространство в реальности. Заметьте, что женщина в правом нижнем углу ростом примерно с основание окна.

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

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

Черновой план

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

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

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

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

Черновой план:

Готовый модульный набор:

Благодаря свойствам BSP на этом этапе можно вносить любые серьёзные изменения. После тестирования и подгонки метрик в UE4 я разобрался с тем, как модульный набор будет работать с готовой геометрией ещё до того, как начал создавать детальные модели в 3ds Max или других пакетах.

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

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

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

Модульная конструкция

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

Поэтому я преобразовал мой BSP-черновик в статичные меши, а затем импортировал их 3ds Max для построения финальной геометрии. В большинстве случаев BSP в UE4 не так эффективны, как статичные меши.

В UE4 преобразовать BSP в статичный меш очень просто:

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

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

Выполняйте тестирование с самого начала проекта и делайте это часто!

Так как я активно использовал бесшовные повторяющиеся текстуры, было чрезвычайно важно сохранять одинаковую плотность текселов для всех ресурсов. Этого я достиг с помощью скрипта для 3ds Max под названием TexTools, хотя существует и множество других инструментов и скриптов.

Блюпринты для модульной сборки

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

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

Материалы

Я создал несколько материалов в связке из Substance Designer и Substance Painter. Однако из-за ограниченного времени я также пользовался Substance Source и Quixel Megascans. Это очень сэкономило время.

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

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

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

Освещение

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

Работу над освещением этой сцены я начал с изучения фотографий, фильмов и художников по освещению, чтобы понять, как свет помогает создать композицию и оживить модели и материалы в UE4. Рекомендую вам для начала посмотреть UE4 Lighting Masterclass, Lighting Academy by 51Daedalus, и The Art of Lighting with Boon Cotter в YouTube.

Большую роль в освещении играют материалы, потому что они определяют, как фотоны света отражаются от поверхностей. Тщательно проверяйте основные цвета, чтобы убедиться, что они калиброваны как можно ближе к стандартам PBR. Хорошей идеей будет делать карты основных цветов не темнее 0,02 в линейном пространстве. Более тёмные цвета превращаются в «чёрную дыру» для фотонов, что приводит к странным результатам в освещении.

И в мастер-классе по освещению в UE4, и в видео 51Daedalus об этом говорится.

Освещение в этой сцене организовано достаточно просто. Решать задачу настройки освещения я начал с создания чёткого калиброванного фундаменрта освещения, как рекомендуется в UE4 Lighting Masterclass. После калибровки освещения и получения чёткоё основы можно было отталкиваться от этих параметров, чтобы достичь чего-то более графически приятного.

Параметры нормализованного освещения:

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

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

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

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

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

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

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

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

Композиция

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

Для создания интересного угла камеры я использовал принципы правила третей и золотой спирали.

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

Для получения хорошей композиции было полезно использовать в UE4 вместо стандартного актора камеры Cine Camera Actor, потому что он позволяет изменять дополнительные параметры камеры для создания качественного снимка. В данном случае я использовал настройку 16:9 DSLR filmback, потому что она обеспечивала хорошие результаты в моих кадрах окружения. Эксперименты с параметрами filmback могут дать разные интересные результаты, так что советую с ними поиграться. Изменение фокального расстояния позволяет добиться более кинематографического ощущения. В своих снимках окружения я обычно использую широкоугольный объектив. Однако для персонажей или крупных планов мелких объектов могут подойти портретный объектив или телевик.

Следующие шаги

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

Готовые изображения:

Заключение

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

Самый важный вывод из этого проекта в том, что самое главное — не сама сложность сцены, а первоначальное создание прочного фундамента, над которым можно послойно надстраивать сложность.

Другие мои работы можно посмотреть в моём портфолио.

Об авторе

Меня зовут Тайлер Анлауф, я работаю художником по окружениям в Human Head Studios в Мэдисоне (штат Висконсин). У нас очень талантливая команда, создавшая множество игр. Я имел удовольствие работать над Call of Duty: Online, Rune, The Quiet Man и над пока не объявленной игрой.

Вскоре после этого я самостоятельно научился 3ds Max, CryEngine, Unity, программированию и композитингу видео. До прихода в Human Head Studios я впервые познакомился с цифровым искусством в старшей школе, где изучал фоторедактуру в Photoshop. Также мне удалось получить работу и интернатуру в Gear Learning, Field Day Lab и Scooter Software, где я разрабатывал мобильные игры, игры для PC и UI программного обеспечения. Решив начать карьеру в 3D, я приступил к изучению разработки анимаций и концептов (Animation and Concept Development) в Колледже Мэдисона, где меня обучали такие ветераны отрасли, как Эд Бинкли, Джефф Девитт и Натаниэль Олбрайт.

Они помогли отточить мои навыки, критикуя мои работы и расширили мои знания о графике AAA-игр. Во время учёбы в колледже моими менторами стали Крис Хартманн и Итан Хайли из Raven Software. В конце концов мне повезло сразу после выпуска получить работу в Human Head Studios.

Ниже представлена пара примеров моих работ, созданию которых я научился у Криса и Итана.

Интервью проведено Кириллом Токаревым.

Показать больше

Похожие публикации

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

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

Кнопка «Наверх»