OptionaldurationDuration of the particle system in seconds. Must be a positive value.
OptionalemissionDefines the particle emission settings. Configures the emission rate over time and distance.
OptionalgravityDefines the gravity strength applied to particles. This value affects the downward acceleration of particles over time.
OptionalloopingIndicates whether the system should loop after finishing.
OptionalmapDefines the texture used for rendering particles. This texture is applied to all particles in the system, and can be used to control their appearance.
OptionalmaxDefines the maximum number of particles allowed in the system. This value limits the total number of active particles at any given time.
OptionalnoiseNoise configuration affecting position, rotation, and size.
OptionalonCalled when the system completes an iteration.
OptionalonCalled on every update frame with particle system data.
OptionalopacityControls the opacity of particles over their lifetime. The opacity can be adjusted using a lifetime curve (Bézier or other supported types).
OptionalrendererRenderer configuration for blending, transparency, and depth testing.
OptionalrotationControls the rotation of particles over their lifetime. The rotation can be randomized between two constants, and the feature can be toggled on or off.
OptionalshapeConfiguration for the emitter shape. Determines the shape and parameters for particle emission.
OptionalsimulationDefines the simulation space in which particles are simulated. Determines whether the particles move relative to the local object space or the world space.
OptionalsizeControls the size of particles over their lifetime. The size can be adjusted using a lifetime curve (Bézier or other supported types).
OptionalstartInitial color of the particles. Supports a min-max range for color interpolation.
OptionalstartDelay before the particle system starts emitting particles.
Supports a fixed value (Constant) or a random range (RandomBetweenTwoConstants).
OptionalstartInitial lifetime of the particles. Supports constant value, random range, or curves (Bézier or easing).
// Constant 3 seconds.
startLifetime: 3;
// Random range between 1 and 4 seconds.
startLifetime: { min: 1, max: 4 };
// Bézier curve example with scaling.
startLifetime: {
type: LifeTimeCurve.BEZIER,
bezierPoints: [
{ x: 0, y: 0.275, percentage: 0 },
{ x: 0.5, y: 0.5 },
{ x: 1, y: 1, percentage: 1 }
],
scale: 2
};
// Easing curve example with scaling.
startLifetime: {
type: LifeTimeCurve.EASING,
curveFunction: (time) => Math.sin(time * Math.PI),
scale: 0.5
};
OptionalstartDefines the initial opacity of the particles. Supports constant values, random ranges, or curves (Bézier or easing).
// Constant value
startOpacity: 3;
// Random range
startOpacity: { min: 1, max: 4 };
// Bézier curve example with scaling.
startOpacity: {
type: 'bezier',
bezierPoints: [
{ x: 0, y: 0.275, percentage: 0 },
{ x: 0.5, y: 0.5 },
{ x: 1, y: 1, percentage: 1 }
],
scale: 2
};
// Easing curve example with scaling.
startOpacity: {
type: 'easing',
curveFunction: (time) => Math.sin(time * Math.PI),
scale: 1.5
};
OptionalstartDefines the initial rotation of the particles in degrees. Supports constant values, random ranges, or curves (Bézier or easing).
// Constant value
startRotation: 3;
// Random range
startRotation: { min: 1, max: 4 };
// Bézier curve example with scaling.
startRotation: {
type: 'bezier',
bezierPoints: [
{ x: 0, y: 0.275, percentage: 0 },
{ x: 0.5, y: 0.5 },
{ x: 1, y: 1, percentage: 1 }
],
scale: 2
};
// Easing curve example with scaling.
startRotation: {
type: 'easing',
curveFunction: (time) => Math.sin(time * Math.PI),
scale: 1.5
};
OptionalstartDefines the initial size of the particles. Supports constant values, random ranges, or curves (Bézier or easing).
// Constant value
startSize: 3;
// Random range
startSize: { min: 1, max: 4 };
// Bézier curve example with scaling.
startSize: {
type: 'bezier',
bezierPoints: [
{ x: 0, y: 0.275, percentage: 0 },
{ x: 0.5, y: 0.5 },
{ x: 1, y: 1, percentage: 1 }
],
scale: 2
};
// Easing curve example with scaling.
startSize: {
type: 'easing',
curveFunction: (time) => Math.sin(time * Math.PI),
scale: 1.5
};
OptionalstartDefines the initial speed of the particles. Supports constant values, random ranges, or curves (Bézier or easing).
// Constant value
startSpeed: 3;
// Random range
startSpeed: { min: 1, max: 4 };
// Bézier curve example with scaling.
startSpeed: {
type: 'bezier',
bezierPoints: [
{ x: 0, y: 0.275, percentage: 0 },
{ x: 0.5, y: 0.5 },
{ x: 1, y: 1, percentage: 1 }
],
scale: 2
};
// Easing curve example with scaling.
startSpeed: {
type: 'easing',
curveFunction: (time) => Math.sin(time * Math.PI),
scale: 1.5
};
OptionaltextureConfigures the texture sheet animation settings for particles. Controls how textures are animated over the lifetime of particles.
OptionaltransformDefines the position, rotation, and scale of the particle system.
OptionalvelocityDefines the velocity settings of particles over their lifetime. Configures both linear and orbital velocity changes.
Configuration object for the particle system. Defines all aspects of the particle system, including its appearance, behavior, and runtime events.