Chaos Physics in Unreal Engine 5

Overview of Chaos Physics in Unreal Engine 5

Windows
MacOS
Linux

Overview

Chaos Physics is a light-weight physics simulation solution available in Unreal Engine 5, built from the ground up to meet the needs of next-generation games. The system includes the following major features:

  • Rigid Body Dynamics

  • Rigid Body Animation Nodes and Cloth Physics

  • Destruction

  • Ragdoll Physics

  • Vehicles

  • Physics Fields

  • Fluid Simulation

  • Hair Simulation

The Chaos Physics system replaces the legacy physics system, and comes with significant improvements in performance. In addition, Chaos Physics comes with major new features, such as Asynchronous Physics simulation and networking, a robust destruction system, and Physics Fields.

This overview goes over the differences between the major features of Chaos and PhysX.

Rigid Body Dynamics

Chaos Physics provides feature-level parity with the legacy physics system for rigid-body dynamics. This includes collision responses, physics constraints, and damping and friction.

It also adds a number of features, including the experimental async physics ticking.

Rigid Body Animation Nodes and Physical Animation

Chaos_Debug-Commands.png

Chaos Physics comes with a Rigid Body Animation Node (RBAN) simulation system that expands on the features of the legacy system by adding improvements to the workflow, increased performance, and stability.

Similar Workflow

Chaos RBAN uses the same Physical Editor as before, providing a seamless transition to users already familiar with the legacy workflow. In addition, the Physical Editor's Simulate and Editor modes now use the same solver; the legacy implementation had different results between the two modes.

More Control and Stability

Physics Constraint positions can now be set explicitly (both numbers and handles) in the Physics Editor, providing more control over the simulation. Chaos RBAN also provides more stability at lower iteration counts compared to our previous implementation, and better joint stability for longer chains.

Improved Debugging

There are also improvements to debugging, such as an updated Debug Draw mode and several new debug commands.

Chaos RBAN Debug Draw commands

The following console commands can be used to debug Chaos RBAN:

Command

Description

p.Chaos.DebugDraw.Enabled 0/1

Display the Chaos Physics debug commands.

p.Chaos.Immphys.DebugDrawShapes 0/1

Draw the Chaos Solver rigid shapes being simulated.

p.Chaos.Immphys.DebugDrawJoints 0/1

Draw the Chaos Physics bodies' joints.

p.Chaos.Immphys.DebugDrawParticles 0/1

Draw the particle transforms.

Cloth Physics

Chaos_Cloth_Debug-Commands.png

Chaos Physics comes with a cloth simulation solver that expands on the legacy system by improving the simulation accuracy and performance. Chaos Cloth empowers its users by providing even greater control over the simulation results, and a suite of debugging tools.

Chaos Cloth has a different implementation compared to the legacy system, and differs significantly in setup and available parameters.

More Accurate Simulations

Chaos Cloth provides more accurate simulations by removing any hard limits for collision primitives per cloth mesh, up from a maximum of 32 primitives in the legacy system. This enables the user to determine the best setup for quality vs. performance.

Physical reactions to wind forces are also significantly improved to provide a more natural simulation. The wind simulation is more accurate than the legacy model, as it takes into consideration the affected surface area of the cloth mesh. Using this model allows the cloth mesh to continue interacting with its surroundings along with the effects of the wind.

Increased Control for Users

Chaos Cloth provides increased control over the simulation results by exposing cloth parameters in an easy-to-use interface. The cloth Backstop Radius implementation is now more intuitive, allowing users to more easily author the mesh backstop to prevent clipping between the cloth mesh and mesh collision. This results in increased artistic control.

The Animation Drive system is more powerful and easier to set up than the legacy system. This system deforms a cloth mesh to match its parent animated skeletal mesh. In this system, values are normalized between 0 and 1, allowing for more intuitive controls. A damping algorithm has been added to provide a way to reduce the springiness between the animated cloth and the skeletal mesh.

Chaos Cloth parameters are now exposed to Blueprints for unprecedented control over the cloth simulation at runtime. Users can now modify simulation parameters based on gameplay conditions for specific use cases. For example, a character's clothing can react differently when under water.

Improved Debugging

Chaos Cloth provides better debugging tools than those in the legacy system. Visualization tools and debug console commands provide easier debugging and improved iteration times. Users can now visualize active cloth simulations, kinematic and dynamic particles, and even simulation time.

Apex legacy cloth is not directly supported in Chaos Cloth. Therefore, cloth assets imported from Unreal Engine 4.25 or earlier will import as a "map" that will need adjustments to work as expected.

Chaos Cloth Debug Draw commands

The following console commands can be used to debug Chaos Cloth:

Command

Description

p.Chaos.DebugDraw.Enabled 0/1

Display the Chaos Physics debug commands.

p.ChaosCloth.DebugDrawWindForces 0/1

Draw the Chaos Cloth wind forces.

p.ChaosCloth.DebugDrawPhysMeshWired 0/1

Draw the Chaos Cloth wireframe meshes.

p.ChaosCloth.DebugDrawCollision 0/1

Draw the Chaos Cloth collisions.

p.ChaosCloth.DebugDrawBounds 0/1

Draw the Chaos Cloth bounds.

p.ChaosCloth.DebugDrawLongRangeConstraint 0/1

Draw the Chaos Cloth long range constraint.

Chaos Destruction

Chaos Destruction

The Chaos Destruction system is a collection of tools within Unreal Engine 5 that can be used to achieve cinematic-quality levels of destruction in real time. In addition to great-looking visuals, the system is optimized for performance, and provides more control for artists and designers over content creation.

Unprecedented Control over Fractures

The Chaos Destruction system utilizes Geometry Collections, a type of asset built from one or more static meshes, including those nested in Blueprints. These Geometry Collections can be fractured to achieve real-time destruction.

The system provides unprecedented control over the fracturing process by using an intuitive non-linear workflow. The user can create multiple levels of fracturing, as well as selective fracturing on parts of the Geometry Collection, for greater artistic control. The user can also create Geometry Clusters that allow for conjoined modular structures.

Physical Simulation Improvements

Chaos Destruction comes with many features not found in the legacy system. Users can configure the physics representation and accuracy of the simulation by changing the collision settings of the Geometry Collection. This allows for increased control between accuracy and performance. Users can also define the Damage Thresholds per cluster that will trigger a fracture.

Connection Graphs can be used to further manipulate how a structure collapses as it takes damage to simulate real-world structure integrity. Chaos Destruction comes with World Support, which allows certain parts of the Geometry Collection to be set to Kinematic, reducing the need to use Anchor Fields.

Chaos Destruction also comes with a Cache System capable of tracking events and transforms. This system captures per-frame transforms and events, and reduces the data for efficient storage and replay capabilities. This system allows for smooth replay of complex destruction at runtime with minimal impact on performance. It's important to note that cached simulations can still be interactive, as certain parts of the simulation can become "live" upon interaction.

Deep Integration with Other Engine Systems

Chaos Destruction has deep integration with the Niagara particle system in Unreal Engine 5. Niagara can read Chaos Destruction Break Events and Collision Events to spawn particles or modify an existing particle system at runtime.

In addition, Chaos Destruction integrates with Physics Fields, a system that users can use to affect Chaos Physics simulations at runtime in a specified region of space. Physics Fields can affect physics simulation in a variety of ways, such as exerting force on rigid bodies, breaking Geometry Collection Clusters, and anchoring or disabling fractured rigid bodies.

Chaos Vehicles

Chaos Vehicles is the Unreal Engine 5 lightweight system for performing vehicle physics simulations.

Similar Set Up

Chaos Vehicles uses a similar set up to the legacy vehicle system, enabling users familiar with the legacy workflow to transition to the new system easily.

A Skeletal Mesh and one or more Wheel Blueprints are used to represent the vehicle inside the engine. A Physics Asset is used to generate the appropriate collision geometry inside the Physics Editor, and an Animation Blueprint is used to automatically generate the steering and rotation animations of the wheels.

Finally, a Wheeled Vehicle Pawn Blueprint is created that contains the Skeletal Mesh, Animation Blueprint, and vehicle controls.

For more information on how to create a Chaos Vehicle, refer to the Chaos Vehicles documentation.

Increased Flexibility

Chaos Vehicles include many improvements over the legacy system, as well as increased performance and flexibility.

Chaos vehicles provide more flexibility to the user by removing the limits on the number of wheels it can simulate per vehicle. Unlike the legacy system, you can now add any number of wheels to a vehicle — from a unicycle to an 8-wheeled transporter. You can now configure any number of forward and reverse gears as well for added customization.

Chaos Vehicles also come with experimental features that provide a more arcade-style simulation. These features include direct controls for individual roll, pitch, and yaw torque.

More Complex Simulations

Use Chaos Vehicles to configure more complex simulations. It is now possible to add any number of aerofoil surfaces that provide downforce or uplift at specific locations in the chassis. These can simulate vehicle spoilers, or even aircraft wings or rudders. Each of these control surfaces can be manipulated via roll, pitch, and yaw.

It is now possible to turn off wheel friction and engine simulation entirely while the simulation is running. Users can also configure any number of thrust forces that can be applied at specific locations to push and steer the vehicle.

Increased Reliability

Chaos Vehicles provide more reliable simulation results. The system supports the Async Tick Physics Overview mode in Unreal Engine 5, which improves the determinism of the simulation and allows for predictable results every time the simulation runs. This feature also serves as the foundation for networked physics, as it allows the server and clients to tick physics at the same rate, making it easier to add replication to vehicle physics.

Physics Fields

Physics Fields

The Physics Field System provides a tool to directly affect Chaos Physics simulations at runtime on a specified region of space. These fields can be configured to influence the physics simulation in a variety of ways, such as exerting force on rigid bodies, breaking Geometry Collection Clusters, and anchoring or disabling fractured rigid bodies.

In addition, the Physics Field System can communicate with other engine systems, such as Niagara and Materials. These systems can sample Physics Fields by using built-in functions that can evaluate a Field at a specific location.

Fields are set up by creating a Field System Component Blueprint and specifying which systems are allowed to query your field. You can configure a field as a World Field to allow Materials and Niagara Systems to sample the Field. You can also configure it as a Chaos Field to allow Geometry Collections and other physics objects to interact with it.

Please refer to the Physics Fields Overview for more details.