Titania X3D Editor

It starts with you!

Titania v3.0.4

It starts with you!

X3D Reference

ParticleSystem

ParticleSystem

ParticleSystem specifies a complete particle system. It can contain Appearance for particle appearance, a geometry node if gemoetryType='GEOMETRY', a colorRamp Color/ColorRGBA node for changing base color over each particle's lifetime, a texcoordRamp TextureCoordinate node to control texture coordinates of provided texture(s) in the Appearance node over time, a single emitter X3DParticleEmitterNode, and an array of physics X3DParticlePhysicsModelNode nodes.

The ParticleSystem node belongs to the ParticleSystems component and its container field is children. It is available since X3D version 3.2 or later.

Hierarchy

* Derived from multiple interfaces.

Fields

SFNode [in, out] metadata NULL [X3DMetadataObject]

Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.

SFBool [in, out] enabled TRUE

Enables/disables node operation.

SFString [ ] geometryType "QUAD" ["LINE"|"POINT"|"QUAD"|"SPRITE"|"TRIANGLE"|"GEOMETRY"|...]

Field geometryType.

SFInt32 [in, out] maxParticles 200 [0,∞)

Maximum number of particles to be generated at one time (subject to player limitations).

SFBool [in, out] createParticles TRUE

Enables/disables creation of new particles, while any existing particles remain in existence and continue to animate until the end of their lifetimes.

Hint

If no particles are left in scene, system is considered both active and enabled.

SFFloat [in, out] particleLifetime 5 [0,∞)

TODO not properly defined in X3D spedification. Particle animation lifetime in base time units (default is seconds).

SFFloat [in, out] lifetimeVariation 0.25 [0,1]

TODO not properly defined in X3D spedification. Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of initial values possible.

Hint

Variation of zero does not allow any randomness.

SFVec2f [in, out] particleSize 0.02 0.02 [0,∞)

ParticleSize describes width and height dimensions for each particle in length base units (default is meters). Changing this value dynamically will only change new particles created after the change.

Hints

Particles created before this timestamp will remain at the old size. His field only effects particles using LINE, QUAD, SPRITE, and TRIANGLE geometry types.

SFNode [ ] emitter NULL [X3DParticleEmitterNode]

The emitter field specifies the type of emitter geometry and properties that the particles are given for their initial positions.

MFNode [ ] physics [ ] [X3DParticlePhysicsModelNode]

After being created, the individual particles are then manipulated according to the physics model(s) specified in the physics field.

MFFloat [ ] colorKey [ ] [0,∞)

Array of time intervals in seconds, corresponding to particle lifetime, that are used to interpolate colorRamp array values.

Hints

Color values are interpolated in linear Hue Saturation Value (HSV) space, similar to ColorInterpolator node. Color values are defined as per-vertex colour values. Number of colorKey values must match length of the per-vertex colorRamp arrays!

Warning

If an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.

See Also

X3D Scene Authoring Hints, Color

SFNode [ ] colorRamp NULL [X3DColorNode]

The colorRamp Color/ColorRGBA node holds a series of colour values to be used at the given colorKey points in time.

Hints

Color values are defined as per-vertex colour values. Number of colorKey values must match length of the per-vertex colorRamp arrays!

Warning

If an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.

See Also

X3D Scene Authoring Hints, Color

MFFloat [ ] texCoordKey [ ] [0,∞)

Array of time intervals in seconds, corresponding to particle lifetime, that are used to sequence texCoordRamp array values.

Hints

No interpolation is performed, texture coordinates are simply sequenced in order. Texture-coordinate values map textures to vertices in the geometry. Number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!

SFNode [ ] texCoordRamp NULL [TextureCoordinate]

Texture coordinates of the provided texture(s) in the Appearance node, over time. Particle systems frequently like to change the texture on a particle as it ages, yet there is no good way of accomplishing this through standard interpolators because interpolators have no concept of particle time. This pair of fields hold time-dependent values for the texture coordinates to be applied to the particle. When a particle reaches the next time stamp it moves to the next set of texture coordinates.

Hints

Texture-coordinate values map textures to vertices in the geometry. Number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!

SFBool [out] isActive

IsActive true/false events are sent when playback starts/stops.

SFVec3f [ ] bboxSize -1 -1 -1 (0,∞) or -1 -1 -1

Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.

Hint

Can be useful for collision computations or inverse-kinematics (IK) engines.

SFVec3f [ ] bboxCenter 0 0 0

Bounding box center: optional hint for position offset from origin of local coordinate system.

SFNode [in, out] appearance NULL [X3DAppearanceNode]

The appearance field holds an Appearance node that is used for the geometry. All effects, such as material colours and/or multi-textures, are applied to each particle.

Hints

If a texture coordinate ramp and key is supplied with this geometry, it shall be used in preference to any automatic texture coordinate generation. If automatic texture coordinate generation is used, results shall be based on the entire volume that the particles consume, not locally applied to each particle.

SFNode [in, out] geometry NULL [X3DGeometryNode]

The geometry node provides geometry used for each particle when geometryType=GEOMETRY.

Hint

Include <component name='Geospatial' level='1'/>

Browser Compatibility

Titania X_ITE
yes yes