ParticleData¶
Contains information for how specific particles should look and react including particle colors, particle imagemap, acceleration value for individual particles and spin information.
- Inherit:
- SimDataBlock
Description¶
Contains information for how specific particles should look and react including particle colors, particle imagemap, acceleration value for individual particles and spin information.
Example:
datablock ParticleData( GLWaterExpSmoke )
{
textureName = "art/shapes/particles/smoke";
dragCoefficient = 0.4;
gravityCoefficient = -0.25;
inheritedVelFactor = 0.025;
constantAcceleration = -1.1;
lifetimeMS = 1250;
lifetimeVarianceMS = 0;
useInvAlpha = false;
spinSpeed = 1;
spinRandomMin = -200.0;
spinRandomMax = 200.0;
colors[0] = "0.1 0.1 1.0 1.0";
colors[1] = "0.4 0.4 1.0 1.0";
colors[2] = "0.4 0.4 1.0 0.0";
sizes[0] = 2.0;
sizes[1] = 6.0;
sizes[2] = 2.0;
times[0] = 0.0;
times[1] = 0.5;
times[2] = 1.0;
};
Methods¶
-
void
ParticleData::reload()¶ Reloads this particle.
Example:
// Get the editors current particle %particle = PE_ParticleEditor.currParticle // Change a particle value %particle.setFieldValue( %propertyField, %value ); // Reload it %particle.reload();
Fields¶
-
bool
ParticleData::animateTexture¶ If true, allow the particle texture to be an animated sprite.
-
string
ParticleData::animTexFrames¶ A list of frames and/or frame ranges to use for particle animation if animateTexture is true. Each frame token must be separated by whitespace. A frame token must be a positive integer frame number or a range of frame numbers separated with a ‘-‘. The range separator, ‘-‘, cannot have any whitspace around it. Ranges can be specified to move through the frames in reverse as well as forward (eg. 19-14). Frame numbers exceeding the number of tiles will wrap.
Example:
animTexFrames = "0-16 20 19 18 17 31-21";
-
string
ParticleData::animTexName¶ Texture file to use for this particle if animateTexture is true. Deprecated. Use textureName instead.
-
Point2I
ParticleData::animTexTiling¶ The number of frames, in rows and columns stored in textureName (when animateTexture is true). A maximum of 256 frames can be stored in a single texture when using animTexTiling. Value should be “NumColumns NumRows”, for example “4 4”.
-
ColorF
ParticleData::colors[4]¶ Particle RGBA color keyframe values. The particle color will linearly interpolate between the color/time keys over the lifetime of the particle.
-
float
ParticleData::constantAcceleration¶ Constant acceleration to apply to this particle.
-
float
ParticleData::dragCoefficient¶ Particle physics drag amount.
-
int
ParticleData::framesPerSec¶ If animateTexture is true, this defines the frames per second of the sprite animation.
-
float
ParticleData::gravityCoefficient¶ Strength of gravity on the particles.
-
float
ParticleData::inheritedVelFactor¶ Amount of emitter velocity to add to particle initial velocity.
-
int
ParticleData::lifetimeMS¶ Time in milliseconds before this particle is destroyed.
-
int
ParticleData::lifetimeVarianceMS¶ Variance in lifetime of particle, from 0 - lifetimeMS.
-
float
ParticleData::sizes[4]¶ Particle size keyframe values. The particle size will linearly interpolate between the size/time keys over the lifetime of the particle.
-
float
ParticleData::spinRandomMax¶ Maximum allowed spin speed of this particle, between spinRandomMin and 1000.
-
float
ParticleData::spinRandomMin¶ Minimum allowed spin speed of this particle, between -1000 and spinRandomMax.
-
float
ParticleData::spinSpeed¶ Speed at which to spin the particle.
-
Point2F
ParticleData::textureCoords[4]¶ 4 element array defining the UV coords into textureName to use for this particle. Coords should be set for the first tile only when using animTexTiling; coordinates for other tiles will be calculated automatically. “0 0” is top left and “1 1” is bottom right.
-
string
ParticleData::textureName¶ Texture file to use for this particle.
-
float
ParticleData::times[4]¶ Time keys used with the colors and sizes keyframes. Values are from 0.0 (particle creation) to 1.0 (end of lifespace).
-
bool
ParticleData::useInvAlpha¶ Controls how particles blend with the scene. If true, particles blend like ParticleBlendStyle NORMAL, if false, blend like ParticleBlendStyle ADDITIVE.
-
float
ParticleData::windCoefficient¶ Strength of wind on the particles.