# Particle Concept

In the heart of the particle simulation is the `ParticleSystem` which controls the shared timeline. A scene can have several particles systems, each of them with an independent time-line. A particle is emitted using an `Emitter` element and visualized with a `ParticlePainter`, which can be an image, QML item or a shader item. An emitter provides also the direction for particle using a vector space. Particle ones emitted can’t be manipulated by the emitter anymore. The particle module provides the `Affector`, which allows manipulating parameters of the particle after it has been emitted.

Particles in a system can share timed transitions using the `ParticleGroup` element. By default, every particle is on the empty (‘’) group.

![image](https://378126997-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSh8Zb0vw9zlstTaGKIdC%2Fuploads%2Fgit-blob-9c391c44c7d509dc9e5cd583abc624e3baf72e41%2Fparticlesystem.png?alt=media)

* `ParticleSystem` - manages shared time-line between emitters
* `Emitter` - emits logical particles into the system
* `ParticlePainter` - particles are visualized by a particle painter
* `Direction` - vector space for emitted particles
* `ParticleGroup` - every particle is a member of a group
* `Affector` - manipulates particles after they have been emitted
