Epic Games провела 26 мая презентацию Unreal Engine 5, на которой показала новые возможности движка, включая системы по работе с ассетами, светом, анимациями и звуком. Старые системы и инструменты тоже получили множество улучшений.
Уже можно скачать альфу UE5 и семпл проект Valley of the Ancient.
![](https://habrastorage.org/getpro/habr/upload_files/e4d/bae/1b5/e4dbae1b5652d803e6a8855ba5d6cd53.jpg)
Рекомендуемые системные требования для демки: 12-ядерный процессор с частотой 3,4 ГГц, видеокарта NVIDIA RTX 2080 или AMD Radeon 5700+ XT, оперативная память от 64 ГБ.
Можно уже начинать изучать доки. Подробно описаны все ключевые моменты.
Наконец-то обновили интерфейс редактора.
![](https://habrastorage.org/getpro/habr/upload_files/985/a63/c2a/985a63c2a0974026c6b85bda1cf7a48e.png)
Nanite
Виртуальная геометрия позволяет использовать больше полигонов и должна заменить привычные LOD’ы, делая прозрачным весь процесс замены высококачественных ассетов на более простые. Становится возможным отображать миллионы трианглов без проблем.
![](https://habrastorage.org/getpro/habr/upload_files/9e8/f96/51d/9e8f9651dab95830d68842a531bb0e97.png)
Работает с новым внутренним форматом мешей, который сильно сжат и поддерживает потоковую передачу с автоматическим уровнем детализации. LOD’ы самим больше делать не надо.
Контент для Nanite ничем не отличается от обычных статичных мешей, но Nanite может обрабатывать на порядки больше треугольников и инстансов, чем при рендеринге обычной геометрии. Рекомендуется использовать виртуальные текстуры.
Во время импорта меши разбиваются на иерархические кластеры групп треугольников. А уже во время рендеринга кластеры меняются местами на лету с разными уровнями детализации в зависимости от обзора камеры и без разрывов соединяются с соседними кластерами в одном объекте. В памяти находятся только видимые детали. Как следствие, чтобы это всё нормально стримилось, нужен SSD.
Для прокси-мешей можно настроить уровень детализации.
![](https://habrastorage.org/getpro/habr/upload_files/8d2/55e/2d6/8d255e2d6d0d1ba599e9c564b507b888.jpeg)
Прокси-меши используются для коллизий на уровне полигонов, трассировки лучей, запекания света и другого. При этом по умолчанию используются авто-генерируемый LOD0, что весьма странно.
По крайней мере, есть возможность выбрать кастомный прокси и настроить традиционные LOD’ы.
Независимо от геометрической сложности исходных данных в сцене, количество треугольников в целом пропорционально количеству пикселей, т. к. нет смысла рисовать больше треугольников, чем пикселей на экране.
Могут быть проблемы с occlusion culling. Если есть сложнная геометрия близко друг к другу около самой верхней поверхности, Nanite не сможет определить, какая из них находится сверху или снизу, что приведет к отрисовке обоих. Вблизи Nanite нормально разделяет слои, но при удалении разница в расстоянии между геометрией может быть меньше пикселя, что приводит к лишней отрисовке.
![](https://habrastorage.org/getpro/habr/upload_files/602/f90/342/602f90342baea1d6b0de411efe798db6.gif)
Если верить доке, то у Nanite меша и качество лучше, и размер меньше.
![](https://habrastorage.org/getpro/habr/upload_files/cea/928/c63/cea928c630b341c9be6eb9d70c70fa79.png)
Антиалиасинг система Temporal super resolution позволяет при меньших затратах по ресурсам получить почти нативные 4K по цене 1080p.
Системы для работы со светом и атмосферой
Новая система для глобального освещения Lumen позволяет настроить реалистичный реалтайм свет. Если ещё совмещать с фотореалистичными ассетами из Мегасканс, то картинка просто на новый уровень выходит.
![](https://habrastorage.org/getpro/habr/upload_files/2d6/ba3/cee/2d6ba3cee4c060964a4625cbc51d98e4.gif)
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 и отслеживает это поле высот, чтобы уловить один отскок непрямого освещения солнца. В проде пока не рекомендуется использовать.
![](https://habrastorage.org/getpro/habr/upload_files/1f4/794/3aa/1f47943aabcce9d9ab0184cef4873006.jpeg)
При трассировке сначала прогоняется Screen Tracing, т. к. он меньше жрёт ресурсов.
![](https://habrastorage.org/getpro/habr/upload_files/60a/2cf/1ad/60a2cf1ada94d6b57d7a83b52fa8fef8.gif)
Потом уже 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 и выше.
Система для атмосферы позволяет легко всё настраивать, в том числе и объёмные облака. На уровне настроек куча модификаторов и параметров, которые позволяют твикнуть всё.
![](https://habrastorage.org/getpro/habr/upload_files/dd0/688/18a/dd068818a27405940c83f84f5c2bc8a5.gif)
Работа с фотореалистичными ассетами
Quixel Bridge теперь полностью интегрирован в движок.
![](https://habrastorage.org/getpro/habr/upload_files/d5d/04a/d73/d5d04ad73540e7ac00d80ac435530499.png)
Можно просто перетаскивать ассеты мышкой из браузера ассетов и сразу приступать к работе.
Добавили новый тип ассетов Mega Assemblies. Это что-то типа сборки из существующих ассетов.
![](https://habrastorage.org/getpro/habr/upload_files/d59/268/fff/d59268fff63ad85e58afbd5d2673d9f6.gif)
Главная цель состояла в том, чтобы художникам было проще совместно работать и обмениваться ассетами.
Работа с миром и уровнями
Новый инструмент World Partition позволяет дизайнерам работать с миром не как с набором стриминг уровней, а как с одним большим миром, который автоматически разбивается на более мелкие ячейки.
![](https://habrastorage.org/getpro/habr/upload_files/6d3/a83/0dd/6d3a830ddf2ba28fec20aa0d90c770fb.gif)
Их можно загружать/выгружать в редакторе кусками, что кучу времени и ресурсов при работе в редакторе экономит.
Сами изменения (добавить кустик, например) происходят на уровне акторов, а не карты. В итоге можно работать с одной картой одновременно нескольким людям и не будет головной боли при мёрдже.
![](https://habrastorage.org/getpro/habr/upload_files/22b/6ac/0b9/22b6ac0b942c1fcbd0c07bf5b904a221.png)
World Partition позволяет стримить из коробки. Ассеты вне установленного радиуса выгружаются и заменяются другими с меньшим разрешением.
![](https://habrastorage.org/getpro/habr/upload_files/920/abe/55c/920abe55c19e5673190148eee0b1b5a3.gif)
Это всё на уровне конфигов вынесено. Можно настроить под свой проект.
Система Data layers позволят художникам работать вместе над одной сценой и переосмыслить её, создавая различные её вариации.
![](https://habrastorage.org/getpro/habr/upload_files/2ab/919/9e9/2ab9199e9349785eea344e9fb82a0f0a.gif)
Эти слои можно переключать в рантайме, что позволяет загружать/выгружать тысячи ассетов на лету.
Как пример, переход в другой мир через портал. Правда, тут, всё же, есть переходный момент с подзагрузкой. Но, всё равно, довольно резво.
![](https://habrastorage.org/getpro/habr/upload_files/904/f19/c93/904f19c939bac3ca0d533cdb59341217.gif)
Анимация
Добавили для анимаций Full body IK solver. Может автоматически подстраиваться под тип пола/земли и высоту. «Детерминированный надёжный и в 10 раз быстрее, чем раньше».
![](https://habrastorage.org/getpro/habr/upload_files/a78/a26/e2b/a78a26e2b04fe0c35f8fd230a3188439.gif)
Появился новый фреймворк Game Feature Plugins, который позволяет разбить контент на модули. Может связать экшены, анимации, другие системы.
![](https://habrastorage.org/getpro/habr/upload_files/d24/264/629/d24264629747a7a21e2fcc2e38349195.png)
К примеру, в другом измерении у ГГ меняется абилка. Это всё задаётся на уровне конфига.
![](https://habrastorage.org/getpro/habr/upload_files/e20/8f4/df2/e208f4df24e25541a61a8f9b07b80ad0.png)
Все vfx, звуки, анимации, инпуты, блюпринты, относящиеся к абилке, в виде одного плагина в проекте, что позволяет отделять фичи и сделать проект более модульным и конфигурируемым.
Animation Motion Warping позволяют адаптировать рут анимации под мир. Можно переиспользовать одни и те же элементы.
Позволяет настроить нотификации для реакции на трансформы из блюпринтов.
![](https://habrastorage.org/getpro/habr/upload_files/c25/f9b/486/c25f9b4860a84e679a8daf9a648934b7.png)
Система реагирует на высоту препятствий, поворот персонажа и прочее.
![](https://habrastorage.org/getpro/habr/upload_files/086/7c3/5d9/0867c35d9131c2473d9ac3f5237f8103.gif)
Control Rig позволяет редактировать анимации прям в движке.
![](https://habrastorage.org/getpro/habr/upload_files/f18/f8d/bb8/f18f8dbb8393b9e6998b13aca5a89667.gif)
Full body IK даёт возможность настроить анимацию в ответ на какие-то внешние факторы: позиция противника и т. п. Всё на уровне конфига.
Например, настроить направление и дальность атаки в зависимости от положения ГГ.
![](https://habrastorage.org/getpro/habr/upload_files/f79/0b9/658/f790b96580abcfa08b511406dd279653.png)
С помощью новой системы Meta sounds можно теперь использовать всю мощь редактора материалов для создания сложного процедурного звука.
![](https://habrastorage.org/getpro/habr/upload_files/5c3/92e/6ca/5c392e6ca7819324ac849f6bd725c9eb.png)
Хорошо забытое старое
Но это не только про новые фичи. Всё, что вам нравилось в UE4, тоже проапгрейдили. Niagara particles, visual effects, chaos physics, блюпринты получили множество улучшений.
В плане физики, теперь можно, например, влиять на симуляцию Chaos Physics в отдельных регионах. В таких областях можно, например, прикладывать силы к телам, разрушать кластеры геометрии и т. д.
Новые инструмента для отладки появились: Memory Insights для поиска утечек, Unreal Turnkey, который позволяет настроить проект под различные платформы, чтобы потом любой участник проекта одним нажатием мог поднять у себя нужное окружение.
И, как заверяют Эпики, миграция с UE4 должна пройти без проблем, т. к. полная обратная совместимость между версиями движка.
Уже можно скачать альфу UE5 и семпл проект Valley of the Ancient.
![](https://habrastorage.org/getpro/habr/upload_files/b66/72d/04a/b6672d04afd9048bad27cdb603af877d.png)
Саму презентацию можно посмотрел на канале Unreal Engine.