From PhysX Wiki
|Authoring application(s):||PhysXLab, Authoring .dll|
APEX Particles (APEX P) is a toolset, that can be used by developers to create various types of dynamic particle effects - from simple debris to smoke and fluids. Particles module is a part of the NVIDIA APEX Framework.
Particles module is supporting PC (CPU and GPU), Xbox 360 and PS3 platforms.
First public release - APEX Particles 1.0 as part of APEX 1.0 Beta.
Distinctive feature of APEX Particles module are fully physically simulated particle systems - they collide with static environments, interact with dynamic objects like rigid bodies or character controller, and can be afected by various forces like wind or explosions.
In addition, APEX P includes several force-field based sub-modules, to simulate various types of forces that can affect particles or other APEX objects:
(only for PhysX SDK 2.8.4)
- APEX Explosion library can be used to simulate various types of explosions, shockwaves or implosions.
- APEX Wind library can be used to simulate realistic wind with four components - the prevailing wind, wind gusts, drag and flutter.
- APEX Field Boundary library creates areas that either cause force fields such as APEX Explosion either to be included or excluded from the area.
For PhysX SDK 3.x based builds, force field functionality is provided by APEX ForceField module.
PhysXLab contains a simple particle editor and previewer for authoring of APEX Particles assets. As an alternative, Particle Authoring DLL is also provided, which is more functional and can be integrated into any game engine.
Particle pipeline in APEX P module is designed to produce a wide range of scalable effects - each stage of the pipeline is an APEX actor derived from an APEX asset whose parameters are authored. Pipeline consists of a particle emitter (Emitter), an Instanced Object Simulation (IOS) that computes the physical movement and life remaining of each particle, and an Instanced Object Effects (IOFX) actor that determines how the particles are rendered.
Multiple emitter actors (same of different types) can be added to a game level. Emitter actors can reference any number of IOS or IOFX actors. The IOS and IOFX actors are created automatically by APEX.
APEX Particles module includes three types of emitter actors:
- Simple Shape Emitter - shape emitters (box, sphere, sphere shell) emit particles in their shapes.
- Air/Ground Emitter - air emitters can be used to produce volumetric effects such as fog. Ground emitters emits particles onto level geometry (and can be used to simulate small stones or dirt, for example).
- Weapon/Impact Emitter - weapon/impact emitter is intended to output particles as a reaction to impacts from weapons.
Presently two IOS actors have been implemented:
- BasicIos - to simulate simple stream of particles, without PhysX scene/inter-particle collisions and force fields interactions.
- NxFluidIos - to simulate more complex effects with full level of physical interactions.
The IOFx actor provides the ability to control the parameters that determine if the particles should be drawn as meshes or as sprites. It also support two types of modifers - Spawn (characteristics of the particles are set when they are emitted) and Continuous (particles are updated over time).
- Double buffering (rendering the current frame while simulating the next).
- CUDA interop for GPU simulation.
- Multithreading for CPU simulation.
- Render Volumes to manage render resources.
- LOD system.
|APEX Particles 1.2||Aug 6, 2012||Contains several improvements and bug-fixes.|
|APEX Particles 1.0||March 25, 2011||First public release.|
Latest APEX Particles 1.2 module is included in public build of APEX SDK 1.2
For info on Particles module licensing options, please refer to APEX SDK description.
Games and game engine integrations
APEX Particles module was used in following games:
- Warframe (GPU)
- PlanetSide 2 (GPU)
- Mafia II (GPU)
- Dark Void (GPU)
- Darkest of Days (GPU)
- Sacred 2: Fallen Angel & Sacred 2: Ice and Blood (GPU)
APEX Particles module is integrated into following engines:
- Evolution Engine 2 (Digital Extremes)
- Forgelight (SOE)
- Unreal Engine 3 (Epic Games)
- Illusion Engine (2K Czech)