From PhysX Wiki
|Authoring application(s):||Particle Effect Tool (PET)|
|Capabilities:||High-fidelity smoke simulation|
|GPU acceleration:||Turbulence grid|
APEX Turbulence (APEX T) is a part of the APEX toolset, that can be used to simulate smoke, dust and partices with fluid-like turbulent behaviour.
Turbulence module is currently supporting PC (GPU only) platform.
First public release - APEX Turbulence 1.2 as part of APEX SDK 1.2.
In comparison to more common SPH-like simulation systems, mostly used in GPU PhysX games, APEX Turbulence is using grid-based eulerian fluid solver to simulate high-resolution smoke and particle effects, affected by turbulent forces.
In order to overcome traditional issue with eulerian fluid systems (simulation is confined to a finite domain), APEX Turbulence is combining moving simulation grids with fluid advected particles which are free to flow in and out of the Eulerian grid boundaries.
In APEX 1.3, Effects Package entities were added. Single Effect Package can combine a collection of related Particle / Turbulence actors (a number of emitters, turbulence grids, forcefields, heat sources, field samplers, etc), which can be instantiated as a single actor and manipulated in real time.
Particle Effect Tool (PET), introduced in APEX 1.3, can be utilized for Turbulence effects authoring (if those effects are inluded in a Effect Package).
APEX Turbulence does not have its own particle emitters of any kind, instead, it only simulates Turbulence Grid and velocity fields, while resulting forces are applied to particles, provided by APEX Particles module.
The forces themselves are known as a Basic Field Sampler objects, that can be authored using the APEX BasicFS submodule. BasicFS field sampler acts like a jet force inside the turbulence grid and as a torroidal force directly affecting the particles outside the grid. Both the force direction and amount can be specified and these variables can be animated/oscillated over time.
To perturb the movements of particles within the Turbulence Grid more than the Basic Field Samplers alone can do, the Turbulence module provides supplementary APEX Shapes (sphere, box, capsule, plane, convex), that can impart angular and linear velocity onto the grid.
As any other APEX modules, Turbulence supports LOD (Level of Details) feature. “Simulation updates per frame” value can be used to change simulation quality at runtime, while scalable parameter is exposed as resolution of the simulation grid.
- Thermodynamics (heat sources can be added to the simulation and the temperature will be advected through the grid, affecting particle behavior).
- Collisions with rigid body objects.
- Ability to apply a single direction velocity to a grid.
- Scale grid velocity variable.
- Debug visualization.
- CUDA-Graphics interoperability
- Volumetric smoke rendering with support for Particle Shadow Mapping (PSM)
|APEX Turbulence 1.3||Dec 11, 2013||Several new features, such as support for Effect Packages.|
|APEX Turbulence 1.2||Aug 6, 2012||First public release.|
|APEX Turbulence 0.9 - 1.1||N/A||Internal release.|
Latest APEX Turbulence 1.3 module is included in public build of APEX SDK 1.3
For info on Turbulence module licensing options, please refer to APEX SDK description.
Games and game engine integrations
APEX Turbulence module was used in following games:
- Assasin's Creed IV: Black Flag (GPU, on top of Havok physics engine)
- Call of Duty: Ghosts (GPU, on top of non-PhysX SDK physics engine)
- The Bureau: XCOM Declassified (GPU)
- Warframe (GPU)
- PlanetSide 2 (GPU)
- Hawken (GPU)
- Dark Void (GPU)
APEX Turbulence module is integrated into following engines:
- Evolution Engine 2 (Digital Extremes)
- Forgelight (SOE)
- Unreal Engine 3 (Epic Games)
- Taking Fluid Simulation Out of the Box: Particle Effects in Dark Void - GDC 2010 presentation.
- Scalable Fluid Simulation using Anisotropic Turbulence Particles
- APEX - DevZone Forums
- APEX Turbulence in UE3 (official from NVIDIA)