Particles




Introduction

The Particles Node creates a dynamic generated Particle System.

Examples:

Test 1
Fire test
with mirror effect
using the geometry field
with burst
Moving emitter
simple Particle Editor
Flashy trails
some fire
fade fx
with mirror
with keyboard controls
move3 Environment mapped transparent sphere particle system
wavespace Nurbsurface, texgen envmapped sphere particle system
fx_1 Particle system with Video


 

Node definition :

 

Particles {
    exposedField SFVec3f bboxSize -1 -1 -1
    exposedField SFVec3f bboxCenter 0 0 0
    exposedField SFFloat lodRange 100
    exposedField SFBool enabled TRUE
    exposedField SFFloat particleRadius 0.1
    exposedField SFFloat particleRadiusVariation 0
    exposedField SFFloat particleRadiusRate 0
    exposedField SFNode geometry NULL
    exposedField SFVec3f emitterPosition 0 3 0
    exposedField SFFloat emitterRadius 0
    exposedField SFFloat emitterSpread 0.25
    exposedField SFVec3f emitVelocity 2.5 5 2.5
    exposedField SFFloat emitVelocityVariation 0.5
    exposedField SFRotation emitterOrientation 0 1 0 0
    exposedField SFFloat creationRate 500
    exposedField SFFloat creationRateVariation 0
    exposedField SFInt32 maxParticles 500
    exposedField SFTime maxLifeTime 5
    exposedField SFFloat maxLifeTimeVariation 0
    exposedField SFVec3f gravity  0 -9.8 0
    exposedField SFVec3f acceleration 0 0 0
    exposedField SFColor emitColor 1 1 1
    exposedField SFFloat emitColorVariation 0
    exposedField SFColor fadeColor 0.25 0.25 0.25
    exposedField SFFloat fadeAlpha 1.0
    exposedField SFFloat fadeRate  0.25
    exposedField SFInt32 numTrails 0
    exposedField SFInt32 numSparks 0
    exposedField SFVec3f sparkGravity 0 -5 0
    exposedField SFColor sparkFadeColor 0 0 0
}


Particles is a geometry node.

Particles are rendered per default as a textured billboarded rectangle.

Particles are emitted from a sphere centered at emitterPosition. emitterRadius defines the radius of the sphere. If the radius is 0 the emitter is a single point. emitterSpread is a cone angle 0..1, if the spread is 1.0 particles are emitted over the whole sphere. The cone direction can be orientied using emitterOrientation.

If the particle system is enabled (enabled TRUE) up to creationRate number of particles are created per second. maxLifeTime limits the life time of a particle, maxParticles is an upper bound for the total number of currently simulated particles.

Each particle internally stores the properties position, velocity, radius, RGBA color and lifeTime.

The initial RGBA color (emitColor, Alpha 1.0), color is interpolated to (fadeColor, fadeAlpha) over the lifetime of the particle. Gravity and acceleration are additional global force vectors applied individually to each particle.

A particle is destroyed once the radius reaches 0, the alpha values reaches 0 or the lifeTime expires. Another special ending condition is if the particle reaches the y=0 plane. In this case if numSparks is >0 secondary particles are created.

If geometry is not NULL it should specify a geometry node which is used a the particle geometry, the node is translated according to the particle position and scaled according to particle radius. Particle color is ignored in this mode.

Several variables can be randomized using the corresponding variation parameter. Variation 0 means no variation, for values above 0 up to 1 an randomize value according to parameter *(1.0 - (Math.random() * variation)) is computed.

In the Billboard drawing case, particles can leave a trail of additional particles using numTrails (0..10).

For culling purposes one can specify a bbox for the particle system. The lodRange gradually scales the creationRate to 0 if the viewer moves out of the sphere defined by emitterPosition lodRange, lodRange 0 turns off the LOD effect.

If a Particles node is disabled, creation of new particles is stopped, but current particles are simulated until their end. Particles are not selectable or collidable.

 


back