Создание реалистичного окружения на Unreal Engine 4
Как создавать материалы, растительность и настраивать освещение. Автор ресурса 80.lvl взял интервью у Андрея Александрова, художника по окружению в Bluehole. Андрей рассказал, как проходил процесс создания сцены «Весна в горах». DTF c разрешения главного редактора 80.lv Кирилла Токарева публикует перевод материала. Обычно я работаю над предметами окружения, интерьерами и внешним видом помещений, но в этот раз я хотел научиться создавать огромные ландшафты, как в «Ведьмаке 3» с помощью World Machine и Unreal Engine 4. Я опирался на виды природы Шотландии. Я не пытался воспроизвести настоящее место, но оно должно было выглядеть естественно. Так что я создал карту высот в WM и экспортировал несколько масок, чтобы обозначить участки со снегом, скалами и землёй. После этого я загрузил карту высот в Landscape Editor в Unreal Engine 4 и создал материал ландшафта. Он довольно простой — всего три разных материала, соединённых с помощью масок. Кое-где я вручную добавил снег. После того, как я закончил ландшафт, я подумал, что стоит добавить ещё что-нибудь. Например, небольшой домик в низине. Работа над такой сценой всегда начинается с поиска референсов и создания заготовки. Вот референс для дома Я сделал сетку с шагом в сто сантиметров, на некоторых участках она меньше, чтобы можно было использовать вертексную краску. Если вы не пользуетесь вертексной краской, то можете соединить материалы масками и получить то же качество, пусть и с меньшим контролем. Я выбрал плотность текселей в 1024 на 100 сантиметров, чтобы текстуры вблизи выглядели хорошо. После этого я использовал плагин TexTools для 3ds Max. Он быстрый, качественный и бесплатный. И в нём есть много классных фич вроде копирования коэффициента текселей с других объектов, автоматической установки групп сглаживания с UV-оболочек и так далее. Материал для крыши я сделал в Substance Designer, затем добавил на неё рёбра. Я создал четыре разных деформированных участка, импортировал их в UE4 и распределил по крыше для лучшей производительности. Одной из моих задач было обойтись без запечённых текстур. В этой сцене запечены только текстуры стекла и двери. Для всех объектов я создал три простых основных материала: один для обычных предметов, второй для вертексной краски, третий для растений. На окнах используются два материала — цельное дерево и запечённое стекло (излучение и карта шероховатости/металлического отлива). В этой сцене было важно создать реалистичную растительность. Для этого я воспользовался Quixel Megascans. Вот процесс создания травы. Создайте плоскость и поместите на неё непрозрачную текстуру травы. Я использовал плоскость 200×200 сантиметров с сегментами 10×10. Затем отделите каждую часть атласа. Нужно держаться как можно ближе к границе травы, иначе она будет негативно сказываться на производительности. Чтобы двигать вершины, я использовал опцию Preserve UVs. Когда я закончил, я создал разные кластеры травы с помощью каждого куска атласа. Вот основной материал для растений. Так что не забывайте разрабатывать уровни детализации. Для травы я сделал два уровня детализации, уменьшил их в Simplygon на 15%. Для распределения травы я пользовался инструментом Foliage. Он довольно простой. Материалы я сделал в Substance Designer. Люблю эту программу. Вот схема материала скалы. На землю я нанёс цельную текстуру мёртвой травы от Megascans. Карта высот штукатурки была сделана в ZBrush. Потом я смешал карты высот в Substance Designer и получил разные текстуры для использования в UE4. Освещение очень важно: хороший моделлинг можно испортить плохим светом, но хороший свет может вытянуть плохой моделлинг. В этой сцене я использовал полностью динамический свет и тени, и он работает в Full HD при 60 кадрах в секунду на моей GTX 970. Свет из окон — точечный. Для естественного света я использовал Exponential height fog и карту HDRi. Это позволило создать желаемую атмосферу. Вот как это влияет на сцену. Также я добавил направленный свет на небесную сферу с помощью Blueprint. Это позволяет мне создать солнечный свет. Вот несколько полезных настроек света. И не стоит забывать о постобработке. Вот как она влияет на сцену. Я делаю скриншоты в UE4 с помощью CineCamera, потому что у неё есть много настроек вроде фокусного расстояния, глубины резкости и апертуры — прямо как у настоящей камеры. Я хотел научиться создавать большие игровые ландшафты с реалистичным динамическим освещением и хорошей производительностью. Теперь я понимаю, как это делается. Иногда для заполнения больших пространств можно пользоваться автоматическим созданием материалов. В Unreal Engine 4 есть такая функция: помогает расставить траву, деревья и камни в зависимости от поверхности. В моей сцене этого не потребовалось. Каждый раз, начиная проект, я задумываюсь, какие навыки я хочу улучшить. Думаю, очень важно не терять концентрации и не останавливаться, пока не достигнешь цели. Работайте увлечённо и не останавливайтесь. Становитесь лучше с каждым новым проектом. Закончив одну работу, принимайтесь за другую, потому что нет предела совершенству. И не забывайте об освещении. #опыт #unreal