What's New in Director 8.5 > Working with Models and Model Resources > Primitives > Particle system properties |  |

Particle system properties

Particle systems are unique among model resources in that they include animation by default. Particle systems, whose `type` is #particle, can have an almost infinite variety of appearances, simulating fire, smoke, running water, and other streaming or bursting effects.

Use these properties to work with particle systems:

Property | Access | Description | Value Range
--- | --- | --- | ---
`lifetime` | Get and set | Lifetime of all particles emitted, in milliseconds. | Positive integer. The default is `10.000` ms.
`colorRange.end` | Get and set | Color value of a particle at the end of its life. | Any color value. The default is `rgb(255, 255, 255)`.
`colorRange.start` | Get and set | Color value of a particle at the start of its life. | Any color value. The default is `rgb(255, 255, 255)`.
`tweenMode` | Get and set | The variation of a particle's color throughout its life. The change can be based on either velocity or age. | `#velocity`:Alter particle color between `colorRange.start` and `colorRange.end` based on velocity. `#age:` Alter particle color between `colorRange.start` and `colorRange.end` based on the particle's lifetime.
`sizeRange.start` | Get and set | The size of a particle at the start of its life. | Positive integer. The default is `1`.
`sizeRange.end` | Get and set | Size of a particle at the end of its life. The size is linearly interpolated between `startSize` and `endSize`. | Positive integer. The default is `1`.
`blendRange.start` | Get and set | Opacity of a particle at the start of its life. | Any value between `0.0` and `100.0`.
`blendRange.end` | Get and set | Opacity of a particle at the end of its life. | Any value between `0.0` and `100.0`.
`texture` | Get and set | Texture to use when drawing each particle. The default is `void`. | Texture object.
`emitter.numParticles` | Get and set | Number of particles in a burst or stream. | Positive integer. The default is `1000`.
`emitter.mode` | Get and set | Mode in which particles are emitted. | `#burst`: All particles emitted at once. `#stream`: X particles emitted per frame with X equalling `emitter.numParticles/(``lifetime``*milliseconds PerFrame)`.

Note:

`milliseconds PerFrame` is the time elapsed between rendered frames.

`emitter.loop` | Get and set | `TRUE (1)` or `FALSE (0)` value indicating whether particles die `(FALSE)` or are recycled (`TRUE`). | `0` or `1`.
`emitter.direction` | Get and set | Vector of original emission. At 1,0,0, the default, particles are emitted randomly over a sphere. | Any vector.
`emitter.region` | Get and set | Point, line, or region from which particles are emitted. | Possible values: single vector for point source two vectors for line segment four vectors for quadrilateral
`emitter.` `distribution` | Get and set | Half the angle over which particles are distributed, measured from the top of the screen. | `0` to `180`.
`emitter.path` | Get and set | Vector positions that define the path the particles follow. | Vector list.
`emitter.pathStrength` | Get and set | Degree to which particles remain on a path. | Percentage between `0.0` and `100.0`.
`emitter.minSpeed` | Get and set | Minimum emission speed. (Particles are emitted at random speeds between a minimum and a maximum.) | Settable value. The default is `1.0`.
`emitter.maxSpeed` | Get and set | Maximum emission speed. (Particles are emitted at random speeds between a minimum and a maximum.) | Settable value. The default is `1.0`.
`emitter.drag` | Get and set | A drag value affecting simulation at each animation step. | Percentage between `0.0` and `100.0`.
`emitter.gravity` | Get and set | Vector representing simulated gravity. The vector's length indicates its strength. | Any vector.
`emitter.wind` | Get and set | A vector representing simulated wind pushing particles in a given direction. The vector's length indicates its strength. | Any vector.