Какие прелести нас ждут в Unreal Engine 5

Epic Games провела 26 мая презентацию Unreal Engine 5, на которой показала новые возможности движка, включая системы по работе с ассетами, светом, анимациями и звуком. Старые системы и инструменты тоже получили множество улучшений.

Уже можно скачать альфу UE5 и семпл проект Valley of the Ancient.

Рекомендуемые системные требования для демки: 12-ядерный процессор с частотой 3,4 ГГц, видеокарта NVIDIA RTX 2080 или AMD Radeon 5700+ XT, оперативная память от 64 ГБ.

Можно уже начинать изучать доки. Подробно описаны все ключевые моменты.

Наконец-то обновили интерфейс редактора.

Nanite

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

Работает с новым внутренним форматом мешей, который сильно сжат и поддерживает потоковую передачу с автоматическим уровнем детализации. LOD’ы самим больше делать не надо.

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

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

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

Прокси-меши используются для коллизий на уровне полигонов, трассировки лучей, запекания света и другого. При этом по умолчанию используются авто-генерируемый LOD0, что весьма странно 🤔

По крайней мере, есть возможность выбрать кастомный прокси и настроить традиционные LOD’ы.

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

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

Если верить доке, то у Nanite меша и качество лучше, и размер меньше.

Антиалиасинг система Temporal super resolution позволяет при меньших затратах по ресурсам получить почти нативные 4K по цене 1080p.

Системы для работы со светом и атмосферой

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

Lumen Global Illumination заменяет Global Illumination Screen Space (SSGI) и Distance Field Ambient Occlusion (DFAO). Lumen Reflections заменяет Screen Space Reflections в Unreal Engine 4.

Lumen генерирует Surface Cache для ближайших поверхностей сцены (где-то 200 метров от камеры). За этим расстоянием работает только screen traces.

Есть экспериментальное представление Distant Scene. Оно как раз было использовано в прошлой демке Unreal Engine 5 «Lumen in the Land of Nanite» для достижения непрямого освещения в каньоне. Покрывает диапазон от 200 метров до 1 километра от камеры. Работает путём рендеринга Reflective Shadowmap с низким разрешением от солнца с использованием Nanite и отслеживает это поле высот, чтобы уловить один отскок непрямого освещения солнца. В проде пока не рекомендуется использовать.

При трассировке сначала прогоняется Screen Tracing, т. к. он меньше жрёт ресурсов.

Потом уже Lumen Ray Tracing, состоящий из двух методов: программная трассировка, работающая на самом широком спектре железа и платформ, и аппаратная трассировка лучей, для работы которой требуются поддерживаемые видеокарты и системы.

По умолчанию работает Signed Distance Fields. Требует поддержка Shader Model 5 у железа. Много ограничений: работает только со статикой, World Position Offset не поддерживается, с прозрачностью проблемы.

Hardware Ray Tracing поддерживает больший спектр доступной геометрии. Проседает, если больше 100 000 инстансов. Динамическая деформация мешей может загнать фпс в 0.

Для работы Lumen нужна карта NVIDIA RTX-2000 серии и выше или AMD RX-6000 и выше.

Система для атмосферы позволяет легко всё настраивать, в том числе и объёмные облака. На уровне настроек куча модификаторов и параметров, которые позволяют твикнуть всё.

Работа с фотореалистичными ассетами

Quixel Bridge теперь полностью интегрирован в движок.

Можно просто перетаскивать ассеты мышкой из браузера ассетов и сразу приступать к работе.

Добавили новый тип ассетов Mega Assemblies. Это что-то типа сборки из существующих ассетов.

Главная цель состояла в том, чтобы художникам было проще совместно работать и обмениваться ассетами.

Работа с миром и уровнями

Новый инструмент World Partition позволяет дизайнерам работать с миром не как с набором стриминг уровней, а как с одним большим миром, который автоматически разбивается на более мелкие ячейки.

Их можно загружать/выгружать в редакторе кусками, что кучу времени и ресурсов при работе в редакторе экономит.

Сами изменения (добавить кустик, например) происходят на уровне акторов, а не карты. В итоге можно работать с одной картой одновременно нескольким людям и не будет головной боли при мёрдже.

World Partition позволяет стримить из коробки. Ассеты вне установленного радиуса выгружаются и заменяются другими с меньшим разрешением.

Это всё на уровне конфигов вынесено. Можно настроить под свой проект.

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

Эти слои можно переключать в рантайме, что позволяет загружать/выгружать тысячи ассетов на лету.

Как пример, переход в другой мир через портал. Правда, тут, всё же, есть переходный момент с подзагрузкой. Но, всё равно, довольно резво.

Анимация

Добавили для анимаций Full body IK solver. Может автоматически подстраиваться под тип пола/земли и высоту. «Детерминированный надёжный и в 10 раз быстрее, чем раньше».

Появился новый фреймворк Game Feature Plugins, который позволяет разбить контент на модули. Может связать экшены, анимации, другие системы.

К примеру, в другом измерении у ГГ меняется абилка. Это всё задаётся на уровне конфига.

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

Animation Motion Warping позволяют адаптировать рут анимации под мир. Можно переиспользовать одни и те же элементы.

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

Система реагирует на высоту препятствий, поворот персонажа и прочее.

Control Rig позволяет редактировать анимации прям в движке.

Full body IK даёт возможность настроить анимацию в ответ на какие-то внешние факторы: позиция противника и т. п. Всё на уровне конфига.

Например, настроить направление и дальность атаки в зависимости от положения ГГ.

С помощью новой системы Meta sounds можно теперь использовать всю мощь редактора материалов для создания сложного процедурного звука.

Хорошо забытое старое

Но это не только про новые фичи. Всё, что вам нравилось в UE4, тоже проапгрейдили. Niagara particles, visual effects, chaos physics, блюпринты получили множество улучшений.

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

Новые инструмента для отладки появились: Memory Insights для поиска утечек, Unreal Turnkey, который позволяет настроить проект под различные платформы, чтобы потом любой участник проекта одним нажатием мог поднять у себя нужное окружение.

И, как заверяют Эпики, миграция с UE4 должна пройти без проблем, т. к. полная обратная совместимость между версиями движка.

Уже можно скачать альфу UE5 и семпл проект Valley of the Ancient.

Саму презентацию можно посмотрел на канале Unreal Engine.