26/06/2020

Природное освещение RTX и исследования растительности в UE4

Меня зовут Финн Майнерт Маттисен. Я — 3D художник окружения из Германии, работаю в игровой индустрии уже 11 лет. В данный момент занимаю позицию старшего 3D концептера в Karakter Design Studio и отвечаю за концепты окружения не анонсированного проекта.

До этого я был главным художником окружения в Crytek и успел поработать над разными ААА и АА проектами: Ryse — Son of Rome, Warface, Robinson — The Journey, Crysis, The Climb.

Между работой в Crytek и Karakter Design Studio я работал ведущим художником окружения в различных инди-проектах. К сожалению, эта деятельность была самой тяжелой, разочаровывающей и утомительной частью моей карьеры.

Изучение природного RTX освещения: Мотивация и Мотивы

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

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

Требования к рабочему процессу и Цель

Так как я встречал некоторые сложности в работе с RTX трассировкой лучей и созданием ассетов листвы, то больше фокусировался на создании зимних сцен или сцен с небольшим количеством растительности. Но после выхода новых версий движка и моих собственных исследований в этой области, я смог найти решения для возникших ранее проблем. Для меня это было радостным открытием, учитывая, что я всегда любил работать над растительностью в былые дни в Crytek. Очевидно, что UE4 потребовалось какое-то время, чтобы сравняться с CryEngine в этом вопросе.

Одним из критериев моего исследования была оптимизация рабочей загруженности и фокусировка внимания на картине в целом, а не на детализированных и сложных ассетах. Это связано с тем, что этим я занимался в свободное от работы и семейных дел время. За время работы я замоделил и затекстурировал такое большое количество 3D моделей, что улучшать навыки в этой области не было потребности, но я точно займусь этим в своих будущих исследованиях. Поэтому я использовал много своих ассетов и материалов из других проектов. Также я пользовался ассетами и материалами, скачанными из интернета (разумеется, не нарушая ничьих прав), в частности, ассетами земли с Megascans, парой кустов с UE4 Marketplace и несколькими оптимизированными ассетами с высоким полигонажем с Evermotion. В одной из своих прошлых статей я писал, что, даже используя такую прекрасную программу как Speed Tree, создание больших и качественных наборов растений занимает много времени.

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

Вдохновение и Исполнение

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

 Примеры референсов, которые я использовал для вдохновения.

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

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

Управление сценой и настройка

Обычно, когда сцена все больше наполняется ассетами, это приводит к разнообразным правкам и корректировкам. У меня все было точно также, особенно когда дело касалось таких важных вещей, как освещение и поведение растительности. Во многих статьях и интервью современных художников освещения вы можете услышать, что, хотя UE4 предоставляет множество решений по пост-обработке и настройке освещения, это все равно путь проб и ошибок, требующий подбора подходящих каждой сцене в отдельности решений. Я уверен, что эта ситуация изменится, и процесс станет более автоматизированным и пре настраиваемым с выходом UE5, способном показывать фотореалистичную картинку. Но в данный момент настройка качественного освещения требует поиска уникальных решений. Например, я не смог перенести освещение из своих прошлых проектов в эту сцену — оно не подходило и вело себя неправильно. Так, для своей сцены джунглей я создал настройку на основе запеченного нейтрального HDRi Skylight и совместил 2 направленных освещения. Один — прямой солнечный свет с RTX тенями и усилитель непрямого освещения, чтобы добиться размытого отражения на листьях. С технической точки зрения, настройка общего освещения и постобработка были достаточно консервативными по сравнению с моими предыдущими сценами. Я вообще не использовал многие возможности постобработки, снизил блум и блики до минимума, а полагался только на умеренные значения Unreal SSGI. Даже настройки тумана были тонкими и влияли в основном на задний фон.

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

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

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

Ассеты, текстуры и материалы

Чтобы избежать артефактов в тенях на задних сторонах листьев, работая с RTX и растительностью (foliage), необходимо включить "Evaluate World Position Offset". Кроме того, материалы и текстуры для листьев и стволов деревьев являются основополагающими. Для листвы я использовал классические, двусторонние Unreal шейдеры для растительности с модификаторами, чтобы контролировать подповерхностный цвет и освещение или для усиления и изменения цвета альбедо или параметров зеркальности и шероховатости. Правильные нормали и детализированные модели с правильной информацией о касательной и сглаживании (на этих растениях) были гораздо более важны для общего внешнего вида.

Важным решением было перейти на более дорогие древесные ассеты из классических источников arch viz вместо использования обычных средне-полигональных SpeedTree деревьев с более простыми плейнами листьев. Вдохновляясь Nanite feature approach in Unreal Engine 5, мне было любопытно, как далеко я смогу продвинутся с высокопо-лигональными ассетами, состоящими из отдельных листьев, вместо упрощенных плейнов. Разумеется, SpeedTree предлагает отличные решения в создании оптимизированных ассетов, таких как запекание vertex AO, но я хотел работать с растительностью, которая была бы более реалистичной по своему поведению в пространстве и внешнему виду. Все же я был вынужден постоянно корректировать материалы и текстуры ассетов, в соответствии с постоянно развивающимися настройками освещения.

Для моих старых ассетов, вставленных в сцену, я использовал только Substance, поэтому мне не пришлось изготавливать много новых текстур и материалов. Хотя я потратил много времени на разработку рек, работая над играми в Crytek (например, для The Climb), я не приложил никаких реальных усилий к речному потоку здесь. Я просто поместил туда несколько грубых частиц дыма и движущихся декалей. Достаточно ленивый подход. По крайней мере, я попытался внедрить в нижний уровень воды несколько мхов и оттеночных декалей, чтобы придать ей некоторую глубину, но аккуратно, чтобы не делать эти пространства слишком шумными.

Полировка и будущие сцены

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

Основные подсказки и техники для разработки сцен в реальном времени

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

Также весьма полезно изучать уже существующие качественные сцены, созданные в выбранном вами движке. Большинство популярных движков, таких как Unreal и Unity, предоставляют множество бесплатных сцен в своих магазинах. Стоит изучить эти сцены, поведение и взаимосвязь элементов, освещения и материалов, чтобы иметь представление о том, как это все работает. Я все еще делаю это, когда упираюсь в какую-то проблему. Наблюдение, подражание и адаптация процессов помогут вам достичь успеха.

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

Оригинальный материал на 80.lv

Недавние статьи

Сценарий вертикального среза

16/09/2020
Алексей Савченко на конкретном примере показывает и рассказывает, как сделать очень важный для разработки игры документ. Образец документа — прилагается.

ON AIR: обратная сторона американских отелей

15/09/2020
Один из победителей гран-при всенародного конкурса разработчиков в прошлом году — хоррор от первого лица ON AIR — решил снова испытать удачу уже на UEDC-2020.

Dash? Dash… Dash!

14/09/2020
Программист многопользовательского экшена Flea Madness рассказывает о реализации одной из задуманных фич — даш-атаки. Эволюция подходов, варианты решения, примеры кода — все, как вы любите.