Havok Physics Particles Technical Overview (Unreal)
Havok Physics Particles are light weight rigid bodies with a low performance cost. Allowing you to have more bodies simulating on screen without sacrificing performance.
Havok Physics Particles are integrated into the Unreal Engine through Havok Physics for Unreal and the Niagara plugin.
If you are interested in a custom integration, or in integrating Havok Physics Particles into your own engine, find out more about how Havok Physics Particles function in the Havok C++ SDK here:https://www.havok.com/blog/havok-physics-particles-sdk/
Technical Details
Havok Physics Particles empower you to create large numbers of small solid objects with similar properties to create various game effects. This feature provides lightweight physics simulation at a fraction of the cost of gameplay-critical rigid bodies. You get high performance simulation, with some limitations on quality, while keeping visual artifacts to a minimum.
Havok Physics Particles are accessed through the Havok Niagara plugin which adds new collision modules to the Niagara system. These modules allow the particles to react to physics simulation without impacting game performance.
Functionality includes:
- Full 6DOF simulation
- Convex collision geometry
- Continuous collision detection against the environment
- Sphere collision between particles, particles can pile up
- Stable settling and sleeping
- Setup and modules
Setup and Modules
Havok provides three CPU-based Particle update modules in the. These split the Havok Physics Particles for Unreal into three categories.
Module: Havok Mesh Particle Collide and Solve
This module provides 6DOF particles that are used to create solid objects in the game. These objects can move along the x, y and z axes as well as yaw, pitch and roll, and have convex hulls ā and therefore convex hull collisions.
Since Havok Physics Particles focus on performance and visual quality, they are most suitable for elements related to gameplay experience, amplifying environmental effects, and enhancing game feel.
Such as: debris from explosions, crashes or destruction, decorative pieces, ornaments, bottles, trash cans, garbage, fallen leaves, bullet casings.
Module: Havok Particle Collide and Solve
This module provides 3DOF particles that are used to create large numbers of point or sphere particles. These can move along the x, y, and z axes, they have sphere collisions and cannot rotate. 3DOF objects can be used to create special effects and more interactive environments.
Such as: sparks, smoke, fire, mist, rain, snow fall, fog, swarms of small animals or insects.
Module: Havok Particle Collide Only
This module will detect and report sphere collisions with Havok but it will not make any changes to the particles themselves. This module must be combined with the Solve Force and Velocity module in Niagara to update particle behaviour.
Havok Particle Collide Only can be used to create secondary particle systems such as a bigger particle colliding with the ground which causes smaller particles to spawn.
Properties of a Havok Physics Particle
When created, Physics Particles are stored in a buffer (an array for a static number of particles, or a chunked array if the number of particles will change) and are assigned some basic properties:
Particle Mesh
Each particle can be assigned its own shape, or all particles can use the same shape. It is important to note that increased complexity in particle shapes and sizes will increase the memory used.
Collision Settings
All Havok Physics Particles collide with static bodies. You can choose to toggle collisions with dynamic bodies and collisions to other particles within the same system to achieve the desired experience. Modifying collision settings has an impact on performance and can be used to lower the impact of Physics Particle simulation even further.
All collisions between particles are calculated as a simple sphere for increased performance. Conversely collisions between particles and rigid bodies do a full collision calculation to make sure particles can accurately interact with the gameplay critical world.
Materials
Particles are assigned friction and restitution values to modify their interactions and behaviour.
Complex Systems
Havok collision modules usually work without manual tweaking. But your game likely has unique use cases which might need further intervention. We have exposed various properties throughout the Havok Niagara plugin to empower you to create these more complex systems independently.
For example, creating systems with multiple Mesh Renderers or modifications to enable per-particle scale collisions.
Havok Physics Particles are simple to implement and have immediate benefits for differentiating your game. Their versatility and low impact on simulation budget empower you to use them throughout your game, increasing interactivity and immersion while maintaining great performance across different platforms.
To find out more about Havok Physics Particles, see the following resources:
Play the free Havok Balloons Tech Showcase available on Steam
GDC Vault – Visual Effects Summit: Redefining Physical VFX SystemsĀ (GDC Vault access required)
GDC Vault – Advanced Physics in ‘ASTRO BOT’ (GDC Vault access required)








