Главная » Хабрахабр » [Перевод] Создание атмосферного викторианского города из модулей

[Перевод] Создание атмосферного викторианского города из модулей

Майкл Эндрюс рассказал, как он использовал модульный подход при создании красивого фрагмента выдуманного города; интересная работа с освещением и архитектурой.

Введение

Привет, меня зовут Майкл Эндрюс. Мне двадцать лет, я студент из северного Нью-Джерси. Сейчас я учусь на третьем курсе колледжа Чемплейн по специальности «игровая графика и анимация». Я специализируюсь на моделировании твердотельных пропсов, текстурировании и графике окружений. До недавнего времени я работал только над учебными проектами, создавал различные пропсы и окружения для развития моих художественных и технических навыков. Программа колледжа дала мне инструменты, необходимые для успешной работы после выпуска. Я только что окончил семестр в Монреале, где учился у Винсента Джойала (Vincent Joyal), который помог мне понять графику окружений и научил создавать достойные работы.

Проект

В начале каждого проекта я в первую очередь смотрю на общую картину и решаю, какие основные аспекты я хочу передать. Нынешняя моя работа основывается на концепте Джиорджио Греку (Giorgio Grecu). С самого начала я знал, что хочу передать масштаб и атмосферу картины. Я осознавал, что для меня этот концепт выделился на фоне остальных своим освещением, архитектурой и дымом/туманом. Передача этих аспектов стала основной сложностью проекта. Ещё одной существенной сложностью была компоновка переднего плана. Я решил не использовать в этой работе людей, потому что они сильно отвлекали бы зрителя от композиции. Эта проблема решилась добавлением новых уровней на плоскости земли в виде лестниц. Также я добавил скамейки, фонтан, ещё одну арку, мелкие листья и другие детали, которые сделали пространство более заполненным. Кроме переднего плана, серьёзной задачей было создание большого количества модулей и масштабность самой архитектуры. Потребовались считанные часы, чтобы сделать моделирование интересным и в то же время по-прежнему правдоподобным.

image

Концепт Giorgio Grecu

Архитектура

Одной из причин, по которой меня так заинтересовала реализация этого проекта, была архитектура. Я обожаю моделирование и мысль о создании затейливой викторианской архитектуры была очень заманчивой. В концепте, который я взял за основу, отсутствовали некоторые детали, поэтому я воспользовался художественной свободой, добавив детали и конструкции в этих местах. Чтобы начать процесс работы, я перенёс изображение в Photoshop и измерил приблизительную высоту зданий. Я убедился, что это очень полезная техника, она позволяет сохранять масштаб объектов друг относительно друга. Иногда я «округлял в большую сторону» размеры, чтобы преувеличить некоторые аспекты и сделать сцену больше. На этом этапе я работал с большими кубами, набрасывая общую композицию. Добившись нужного мне масштаба и перспективы, я приступил к моделированию. БОльшая часть модулей сама по себе довольно проста, но некоторые из них остаются сложными, и при сборке частей они дополняют друг друга, создавая интересную архитектуру.

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

Самой сложной частью модульного рабочего процесса было соединение всех частей, чтобы они идеально стыковались в сетке движка Unreal. Все эти модули должны быть совместимы друг с другом, иначе бы мне не удалось использовать их в других частях сцены. Этот процесс в равной степени зависит и от планирования, и от проб и ошибок. При работе на этом этапе Винсент Джойал научил меня одной полезной фразе: «Наш бог — сетка». Сетка определяет всё в сцене.

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

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

Детали

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

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

Процесс создания каждой детали был очень разным. Например, скамейки, фонарные столбы, флюгеры и фонтан полностью смоделированы и затекстурированы. Деревья, птицы и облака — это плоские прямоугольники. Я находил изображение или силуэт, создавал материал с ним и карту прозрачности, а потом применял всё это к плоскости. Для проводов я использовал актор кабелей из Unreal Engine 4. Я стремился осознанно располагать детали, чтобы помочь взгляду зрителя скользить по сцене, а не выхватывать случайным образом мелкие детали.

Материалы

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

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

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

Закончив с нормалями, я перехожу к цвету и roughness. Я работаю над этими картами почти одновременно, потому что они во многом влияют друг на друга. Изменение roughness часто означает и изменение цвета в материале, обратное тоже справедливо. Иногда лучше показать изменение в материале через изменение цвета, а иногда — варьированием roughness. Roughness — это невероятно важная карта и её никогда не стоит недооценивать.

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

После завершения текстур я выполнил UV-развёртку каждого модуля на текстуру. На этом этапе рабочий процесс создания пропсов отличается от работы над модулями. Пропсы сначала разворачиваются, а потом текстурируются, а модули разворачиваются на саму текстуру. Перед переносом пропсов моей сцены в Designer я выполнял их развёртку. Такой процесс позволил мне запекать карты с высокополигональной модели. Я запекал карты normal, AO, position и color ID. Все они сильно ускоряют текстурирование (если конечно в конце процесса запекания не встречаются ошибки). Я использовал нормали мирового пространства и карты position для реалистичного генерирования таких деталей, как грязь и ржавчина. Однако при работе над пропсами я всё равно начинал с нормалей, и уже потом переходил к цвету и roughness.

Освещение

БОльшая часть сцены освещена единственным источником освещения, а затем затонирована и подправлена с помощью эффектов постобработки. Для искусственного освещения потребовалось больше внимания. Все окна имеют emissive map, светящуюся оранжевым светом, потому что я хотел, чтобы цвет освещения напоминал свет свечей. Затем я занимался каждым окном по отдельности и вручную располагал точечные источники в каждом окне, чтобы свет распространялся на окружающую окно архитектуру. Я изменил цвет так, чтобы он соответствовал emissive map и подстраивал яркость так, чтобы меня устраивал получившийся эффект. То же самое я сделал с источниками освещения внутри арок и фонарей. Сложно было правильно подобрать яркость так, чтобы освещение из окон по-прежнему оставалось заметным, но атмосферное освещение при этом было доминирующим источником света. Путём проб и ошибок мне удалось получить тот эффект, к которому я стремился. Я собирался сделать шейдер мерцающего света свечей, воспользовавшись помощью другого моего преподавателя, Бруно Афонсека (Bruno Afonseca), но так как конечный рендер должен был стать статичным изображением, я отказался от этой идеи.

Дым

В этом проекте я никак не использовал Photoshop, он полностью создан в UE4. Я создал дым с помощью сочетания нескольких разных техник.

Сначала я добавил туман экспоненциальной высоты из UE4, чтобы получить воздушную перспективу, которой я хотел добиться для зданий глубоко позади. Затем я добавил опцию объёмного тумана, чтобы получить эффект гало/рассеяния вокруг фонарей и источников света внутри арок. С этим пришлось немного повозиться, потому что тогда я впервые использовал эффект объёмного тумана Unreal, но со временем мне удалось добиться нужного результата. Финальными штрихами были облака, которые являются простыми плоскостями с наложенными изображениями облаков и картой прозрачности.

Как бы этот проект мог работать в игре?

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

Michael Andrews, колледж Чемплейн, интервью провёл Кирилл Токарев.


x

Ещё Hi-Tech Интересное!

[Из песочницы] Корпоративная печать, follow me, secure print

Добрый день, уважаемые коллеги. Немного о себе Позвольте представиться, меня зовут Алексей. Работаю в сфере IT вот уже более 15 лет и прошел путь от помощника Админа до менеджера в довольно крупной международной кампании. С недавних пор я осознал, что ...

Дайджест интересных материалов для мобильного разработчика #258 (18 июня — 24 июня)

В новом дайджесте рассказываем про быстрые команды Siri и заработок своим умом, дополненную реальность для музеев и дизайн для финтеха, снова про поиск работы и закат React Native, PWA и даже то, как не застрять в обучении. Подключайтесь! В своих ...