|
Creation of particle systems by code or by
script, which allows faster development of snow, rain, dust, fire, etc.
Complex scripting. For example, aliasses can be used to
define a specific piece of reusable script to be used in other scripts.
Particle systems are made up from building blocks, each with a dedicated responsibility. This allows construction of
complex particle systems.
Start, pause, resume and stop particle systems, which gives full control over the particle system lifecycle.
Multiple renderers within 1 particle system,
allowing particle systems with different particle types and different materials.
Particle system hierarchy; particle systems are
not restricted to emit only visual particles, but are also able to emit other emitters, affectors and particle techniques
(= building block that is responsible for emission
of 1 specific particle type).
Particle System LOD (= Level of Detail):
- Decreasing emission rate if the camera gets further away.
- Decreasing particle size if the camera gets too close to a particle system, to prevent huge particles just in front of the camera.
- Multiple LOD levels that enable a specific 'technique', which makes it possible to
switch between renderers (from meshes to billboards) and/or applying
physical behaviour only to near particles and not to particles that are further away.
A 'smooth' setting makes transition between LOD levels more natural.
'Particle behaviour' building blocks add new properties and behaviour to a particle.
A typical example is adding physical behaviour.
Adding external components to a particle system offers the possiblity to interface
with other libraries (i.e Ageia's PhysX library) or building blocks (i.e. external affectors)
A lot of properties don´t have a fixed
value anymore (compared to Ogres´ ParticleFX plugin). Emission rate
for example has a fixed value, a random value within a range, or a value generated
by means of a curve. The curve is defined by control points and uses linear or cubic interpolation.
Affectors are able to exclude certain emitters (particles emitted from these emitters
will not be affected).
Observer and Event Handler building blocks allow
On event
Do handle structures.
For example the Observer/Event Handler combination OnCount/DoEnableComponent makes it possible to disable an
emitter after it has emitted ´x´ number of particles. Observers
and Event Handlers can be freely mixed, which offers a large range of
combinations. Observers can also be setup in such a way that they only observe
specific particle types (i.e. only visual particles).
Particle systems can be stopped automatically,
- if the particle system hasn't been visual for a certain amount of time.
- after a fixed time.
The Particle Universe is
packed with a large number of affectors, emitters, observers,
handlers, renderers and example scripts.
And many, many more...
|