Duration of the system.
Emitter for the particles.
OptionalemitterWorld-space velocity of the emitter, updated each frame by the runtime.
ReadonlyisTrue after endEmit() — emission window closed (non-looping duration elapsed).
Whether the system is looping.
OptionalonlyWhether this system only emits through another system, which is when its particles carry their own parent transform.
Number of particles.
Array of particles.
Optional renderer.
OptionalsimulationWall-clock time that has passed since the last simulated step, in seconds, when the implementation simulates on a fixed timestep. Negative when that step ran a hair ahead of real time instead (rounded to the nearest step rather than floored, so this stays small either way). A renderer uses it to draw where the particles are now rather than where the last step left them.
OptionalsimulationLength of one simulation step, in seconds, when the implementation simulates on a fixed timestep. Turning is recorded per step rather than per second, so a renderer needs this to know what fraction of a step simulationResidual is.
OptionalstoreColumn storage backing the particles' vector attributes, when the
implementation uses one. Rows [0, particleNum) hold the live particles
in the same order as particles, so a renderer can read them as ranges.
Whether the system is in world space.
Whether more particles can still spawn (bursts, rate, distance).
Non-looping system with no live particles and no pending emission.
Whether the ParticleSystem should be automatically disposed when it finishes emitting particles.