Chaos Scene Queries and Rigid Body Engine in UE5

Michael Lentine, Director, Physics Engineering |
4 mai 2022

Goal

With Unreal Engine 5.0, our internal physics engine Chaos ships as the default physics engine. This enables us to evolve physics technology within Epic and the game industry as a whole, and build high-impact systems such as networked physics, large world coordinates, vehicles, and destruction. We also aim to fully support all previous use cases of rigid body physics at performance parity with Unreal Engine 4. 

We have done quite a bit of testing leading up to the release of UE5, and have been working on improving the performance as our highest priority. In some cases, we have achieved significant improvements while in others, there is still work to be done in order to make up for the added cost of features such as large world coordinate support, which uses double-precision floats. This document will cover the current state of UE 5.0 physics and touch on the ongoing work that will be done for 5.1. In order to assess our progress, we compared test builds of a pre-released version of Unreal Engine 5.0 prior to LWC (large world coordinate) support using PhysX 3, the default physics engine in UE4 (Teal Configuration) and the Unreal Engine 5.0 release using Chaos (Blue Configuration).

We tested three different examples. The first is a tumbler test where we placed 512 dynamically simulated convex objects into a spinning convex object. The second is a ragdoll test where we dropped 64 ragdolls onto a flat convex plane. The third is a test with complex terrain, 100k static objects placed in the world, and 512 dynamic convex objects dropped onto the heightfield terrain. During each of these tests, we measure performance of the solver as well as of each type of scene query performed against the world.

Please note that this document only covers rigid bodies and scene queries. Physics in UE 5.0 also includes systems for cloth dynamics, hair dynamics, and fluid dynamics; you can find out more information about those systems in the UE 5.0 documentation.

Scene Queries

Scene Queries cover sweeps, overlaps, and raycasts.

Sweeps

Tumbler Test (Average Times: Teal Configuration - 11.64ms, Blue Configuration - 4.42ms)
Chaos Scene Queries Unreal Engine 5 Scene Queries Tumbler Test
Ragdoll Test (Average Times: Teal Configuration - 0.05ms, Blue Configuration - 0.07ms)
Chaos Scene Queries Unreal Engine 5 Sweeps Ragdoll Test
Landscape Test (Average Times: Teal Configuration - 0.55ms, Blue Configuration - 0.13ms)​​​​​​​
Chaos Scene Queries Unreal Engine 5 Sweeps Landscape Test

Overlaps

Tumbler Test (Average Times: Teal Configuration - 2.09ms, Blue Configuration - 2.58ms)​​​​​​​
Chaos Scene Queries Unreal Engine 5 Overlap Tumbler Test
Ragdoll Test (Average Times: Teal Configuration - 0.03ms, Blue Configuration - 0.04ms)​​​​​​​
Chaos Scene Queries Unreal Engine 5 Overlap Ragdoll Test
Landscape Test (Average Times: Teal Configuration - 1.76ms, Blue Configuration - 2.76ms)​​​​​​​
Chaos Scene Queries Unreal Engine 5 Overlap Landscape Test

Raycasts

Tumbler Test (Average Times: Teal Configuration - 0.21ms, Blue Configuration - 0.18ms)Chaos Scene Queries Unreal Engine 5 Raycast Tumbler Test
Ragdoll Test (Average Times: Teal Configuration - 0.04ms, Blue Configuration - 0.06ms)Chaos Scene Queries Unreal Engine 5 Raycast Ragdoll Test
Landscape Test (Average Times: Teal Configuration - 0.34ms, Blue Configuration - 0.67ms)
Chaos Scene Queries Unreal Engine 5 Raycast Landscape Test

Rigid Body Simulation

Performance

Tumbler Test (Average Time: Teal Configuration - 3.17ms, Blue Configuration - 4.76ms)
Chaos Scene Queries Unreal Engine 5 Rigid Body Tumbler Test
Ragdoll Test (Average Times: Teal Configuration - 5.30ms, Blue Configuration - 8.18ms)​​​​​​​
Chaos Scene Queries Unreal Engine 5 Rigid Body Ragdoll Test
Landscape Test (Average Time: Teal Configuration - 10.82ms, Blue Configuration - 5.34ms)
Chaos Scene Queries Unreal Engine 5 Rigid Body Landscape Test

Stability

While there is more work to be done on performance to make up for some of the extra computation we pay for various features, we do not only get the benefits of those features, but also a number of improvements related to stability.

UE5 Release:
Chaos Scene Queries Unreal Engine 5 Chaos

UE4 Release:
Chaos Scene Queries Unreal Engine 5 Physx
 

Future Work

The major areas of improvement that we are focusing on are raycasts and overlaps with large landscape heavy scenes, and convex rigid body simulation with highly dynamic scenes. With both raycasts and overlaps, much of the cost comes down to the quality of the acceleration structure and the extra cost that is taken with double precision. As an example, here is a comparison of the landscape test using direct traces without the acceleration structure search both in Teal Configuration (0.22ms) and Blue Configuration (0.15ms).​​​​​​​
Chaos Scene Queries Unreal Engine 5 Future Work
While this means that the result can vary a lot depending on the quality of the structure, our current focus is to accelerate the use of the acceleration structure regardless of what the map looks like. With highly dynamic convex scenes, the two biggest costs are in searching the acceleration structure and gathering data in a cache-coherent format. For the data transfer, we are focusing on optimizing how quickly that data transfer can happen. Additionally, while it’s a lower priority than those two efforts, we have not spent much time on optimizing the multi-threaded version of our algorithms and while the two solvers scale similarly on multi-threaded platforms, we plan on focusing more on better parallelization in 5.1.

    Get Unreal Engine today!

    Get the world’s most open and advanced creation tool.
    With every feature and full source code access included, Unreal Engine comes fully loaded out of the box.
    L'Unreal Editor pour Fortnite est maintenant disponible en version bêta ouverte au public !
    Actualité
    22 mars

    L'Unreal Editor pour Fortnite est maintenant disponible en version bêta ouverte au public !

    L'Unreal Editor pour Fortnite (UEFN) apporte toutes les possibilités de l'Unreal Engine à l'univers Fortnite. Utilisez les outils de développement pour créer des jeux et des expériences totalement nouvelles et les mettre à la disposition des millions de joueurs de Fortnite
    L'Unreal Editor pour Fortnite est maintenant disponible en version bêta ouverte au public !
    Actualité

    L'Unreal Editor pour Fortnite est maintenant disponible en version bêta ouverte au public !

    L'Unreal Editor pour Fortnite (UEFN) apporte toutes les possibilités de l'Unreal Engine à l'univers Fortnite. Utilisez les outils de développement pour créer des jeux et des expériences totalement nouvelles et les mettre à la disposition des millions de joueurs de Fortnite
    Mise à jour de Medieval Game Environment pour l'UE5
    Blog technologie
    26 septembre

    Mise à jour de Medieval Game Environment pour l'UE5

    Découvrez la mise à jour de Medieval Game Environment pour la prise en charge des dernières fonctionnalités de l'Unreal Engine. Disponible dès maintenant sur le Marché de l'Unreal Engine.
    Mise à jour de Medieval Game Environment pour l'UE5
    Blog technologie

    Mise à jour de Medieval Game Environment pour l'UE5

    Découvrez la mise à jour de Medieval Game Environment pour la prise en charge des dernières fonctionnalités de l'Unreal Engine. Disponible dès maintenant sur le Marché de l'Unreal Engine.
    <em>Racing Master</em>, des courses intenses et visuellement impressionnantes sur mobile et autres plateformes
    Entretien
    21 septembre

    Racing Master, des courses intenses et visuellement impressionnantes sur mobile et autres plateformes

    L'équipe à l'origine de Racing Master nous parle de sa volonté de retranscrire les sensations de pilotage de sportives prestigieuses et de l'optimisation de l'Unreal Engine pour les jeux multiplateformes sur mobile et les simulateurs de jeu sur PC. 
    <em>Racing Master</em>, des courses intenses et visuellement impressionnantes sur mobile et autres plateformes
    Entretien

    Racing Master, des courses intenses et visuellement impressionnantes sur mobile et autres plateformes

    L'équipe à l'origine de Racing Master nous parle de sa volonté de retranscrire les sensations de pilotage de sportives prestigieuses et de l'optimisation de l'Unreal Engine pour les jeux multiplateformes sur mobile et les simulateurs de jeu sur PC.