A ParticleSystem object allows you to place in space and control at runtime the properties of an existing ParticleNetwork Asset.

To understand how the system works; the connected ParticleNetwork will dictate how each particle will behave and the particle system (the object) will control wherein space particles will be emitted.

By using this approach a particle system will have to choose a SystemType based on the way the particle network will be used; this system type will allow you to either share, localize or duplicate the ParticleNetwork Particles, behaviors and properties.

There are basically three ways the connected ParticleNetwork can be used by an active particle system. kDiscrete; which will create a full copy of the network and force the particle system to run a full update independently.

kTemplate which simply reuses the existing particle network as it is for the current system; particles are updated once per frame and positioned in space for each system using it. As a result, this type allows randomness only at a particle level on a particle system basis.

And finally, kInstance where the particle's data are completely shared (updated once per frame reused at multiple locations for each system using the network); as shared implies all particles will act exactly the same (but will still be relative to the particle system object transformation the network is connected to).

See Also

Static Variables

Name Description
object Parent Object where the ParticleSystem structure is maintained.
particlenetwork Active ParticleNetwork connected to the active ParticleSystem.


Name Description
auto_delete Automatically remove the ParticleSystem Object if all particles are destroyed.
state The active playback State of the ParticleSystem.
system_type The current SystemType used by the active ParticleSystem.


Name Description
SetParticleNetwork Connect an existing ParticleNetwork to the active ParticleSystem.
SetMaterial Specify which Material to use when rendering the active ParticleSystem on a specific RenderLayer.
CopyMaterials Helper function that copy the Material settings from one RenderLayer cap to another.
GetMaterial Retrieve a specific Material reference assigned to an existing Material configuration.
GetActiveParticleCount Retrieve the current amount of particles emitted by the ParticleSystem that are in motion (alive).
GetParticlesAt Retrieve a specific Particles array for a specific ParticleEmitter using its index as key.
Play Active the current ParticleSystem.
Pause Temporary stop updating the active ParticleSystem.
Stop Stop updating the active ParticleSystem.
Update Temporary stop updating the active ParticleSystem.


Events available when an Object is a ParticleSystem.

Callbacks Description
OnPlay Occurs when the particle system Play function is called.
OnResume Occurs when ParticleSystem have been previously paused and the Play function is called again to resume the playback.
OnPause Triggered when the Pause function is called.
OnStop Triggered when the ParticleSystem stops playing (no more active particles) or the function Stop is called either internally or by the user.
OnDraw This event is triggered just before the ParticleSystem is ready to draw.
OnDisplay Triggered right after the ParticleSystem draw calls have been sent.


Available types of ParticleSystem.

When using a kDiscrete ParticleSystem all changes made to the ParticleNetwork after affectation will not be taken in consideration until it is re-assigned to the ParticleSystem.

NRG - API 2022.4.384543 - Fri Nov 4 2022
Copyright © 2022 All Rights Reserved. Terms of Service - Privacy Policy - EULA