Физика в Unreal Engine 5

Отвлечемся от просмотра миллионов статичных треугольников и посмотрим, а что в пятой версии Unreal Engine с физикой и интерактивностью, сделал ли движок хоть какой-то прогресс в этом направлении.

Начал я свое ознакомление с движком с того, что создал новый проект на базе Advanced Locomotion System.

Не касаясь физики, сходу фпс в проекте значительно меньше, чем в UE4. Lumen (и в целом GI или RTX) отключен. По сути, я открыл старый проект и уже получил не тот результат, что ожидал. Уже придется копаться в настройках и смотреть, что там включено.

Ragdoll

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

Если посмотреть на дорожную карту UE, то Chaos Ragdoll в 2020 году находился в бете. Видимо, пока что он так там и остался. Но, возможно, надо что-то переделывать в блюпринтах. Документацию по Chaos Ragdoll я не нашел.

Unreal Engine Public Roadmap
Unreal Engine Public Roadmap

К слову, подобный результат дает PhysX и в UE4, если использовать Substepping с экстремальными значениями параметров max substeps и delta time при низких значениях фпс.

Симуляция физики

Для этого теста я удалил со сцены все лишнее. Создал новый блюпринт на основе модели ящика. Включил для него симуляцию физики. Добавил простейший скрипт для спавна ящиков. Опять таки, один и тот же проект, ue5 выдает на 30 фпс меньше. Но! Освещение в ue5 выглядит лучше (явно что-то переделали в рендере). В сцене 12 динамических поинт лайтов без теней.

Chaos Physics в Unreal Engine 5
PhysX в Unreal Engine 4

Что имеем в итоге. В Unreal Engine 5 после спавна 100 коробок, фпс в сцене падает с 200 до 170. По всей видимости, это действительно связано с наличием большого количества динамических объектов (В настройках Chaos я увеличил количество итераций с 8 до 16, теперь фпс падает с 200 до 100, но физика выглядит немного лучше). В UE4 стартуем с 230 фпс, в конце имеем примерно 220. Просадка значительно меньше, качество - лучше.

В целом, как решает динамику PhysX в UE4 мне нравится больше. В UE5 коробки по динамике больше похожи на картонные. Ощущение, что импульс передается между объектами как-то упрощенно. Наверняка все можно подкрутить, но напоминаю, что и там и там я открываю один и тот же проект.

По всей видимости, Epic Games все-таки отказались от PhysX, теперь движок из коробки использует собственную физику Chaos.

Система разрушений

В четвертой версии движка для разрушения объектов используется Apex Destruction от nvidia.

Включаю апекс в UE5, перезапускаю проект - пока все нормально. Создаю новый Destructible Mesh и... Первый критикал эррор. Странно, если теперь нет PhysX, то почему эти хвосты в виде Apex не убрали - не особо понятно.

А вот так работает Chaos Destruction в UE5 со стоковыми настройками.

Chaos Destruction в Unreal Engine 5

Минус 130 фпс и это всего один объект из 150 чанков. Плюс из того, что я пока вижу, если сделать в любом пакете, например, модель стекла. Далее с помощью cell fracture, houdini или rayfire разрезать модель, то полученный fbx с осколками нельзя загрузить в chaos, как это было в apex. Опять же - минус дополнительный контроль и качество разрушаемых объектов в целом.

Да, это ранний билд, поэтому претензий к Эпикам пока нет. Надеюсь, все приведут в порядок, прикрутят PhysX 3 и 4, ну или хотя бы появится возможность без танцев с бубном включать в проект физический движок от nvidia.

1212 показов
7.4K7.4K открытий
22 репоста
23 комментария

Спасибо за краткий обзор, самому было интересно узнать разницу по физике между 4 и 5-ой версиями. Пока выглядит не очень. Также до сих пор не понятно, в каком состоянии находится их система Chaos. В их демках все выглядит супер, а по факту дикие тормоза даже с простыми объектами.

Ответить

Над рендером они, конечно, поработали хорошо, но про интерактивность, походу, вообще забыли. Что их побудило отказаться от нормального физического движка и начать пилить свое решение. Хотя, возможно, что нвидиа сама отказалась поддерживать движок и выпускать для него обновления плагинов.

Ответить

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

Я кажется знаю почему это сделано . Ибо в обычном УЕ4 на многих проектах есть большая проблемма с ... улетающими телами. После смерти юнит при получение импульса от пуль мог пролететь через пол карты. 

Ответить

Мог улететь, а мог и не улететь) Все зависит от силы импульса. Тут скорее просто недоделано, либо как-то хитро настраивается (инфы как - нет).

Ответить

Просад ФПС в одинаковых проектах, конечно, огорчает. Но, говорят, полноценную UE5 мы аж до следующего года не увидим - значит, доделывать его еще будут много и по-всякому. Поэтому, вероятность, что произодительность будет не хуже, чем в UE4, многообещающая.

Ответить

Я так и не понял, что дропает фпс. Проверил все: AO, GI, RTX - все выключено. Но картинка в разных версиях - разная, в UE5 свет лучше.

Ответить

Если физика переехала с GPU на CPU, то просадки не удивительны.

Ответить