Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BaseParticleSystem

This represents the base class for particle system in Babylon. Particles are often small sprites used to simulate hard-to-reproduce phenomena like fire, smoke, water, or abstract visual effects like magic glitter and faery dust. Particles can take different shapes while emitted like box, sphere, cone or you can write your custom function.

example

https://doc.babylonjs.com/babylon101/particles

Hierarchy

Index

Constructors

constructor

  • Instantiates a particle system. Particles are often small sprites used to simulate hard-to-reproduce phenomena like fire, smoke, water, or abstract visual effects like magic glitter and faery dust.

    Parameters

    • name: string

      The name of the particle system

    Returns BaseParticleSystem

Properties

animationsSearch playground for animations

animations: Animation[]

List of animations used by the particle system.

beginAnimationFromSearch playground for beginAnimationFrom

beginAnimationFrom: number

Gets or sets the frame to start the animation from when beginAnimationOnStart is true

beginAnimationLoopSearch playground for beginAnimationLoop

beginAnimationLoop: boolean

Gets or sets a boolean indicating if animations must loop when beginAnimationOnStart is true

beginAnimationOnStartSearch playground for beginAnimationOnStart

beginAnimationOnStart: boolean

Gets or sets a boolean indicating that hosted animations (in the system.animations array) must be started when system.start() is called

beginAnimationToSearch playground for beginAnimationTo

beginAnimationTo: number

Gets or sets the frame to end the animation on when beginAnimationOnStart is true

blendModeSearch playground for blendMode

blendMode: number

Blend mode use to render the particle, it can be either ParticleSystem.BLENDMODE_ONEONE or ParticleSystem.BLENDMODE_STANDARD.

color1Search playground for color1

color1: Color4

Random color of each particle after it has been emitted, between color1 and color2 vectors

color2Search playground for color2

color2: Color4

Random color of each particle after it has been emitted, between color1 and color2 vectors

colorDeadSearch playground for colorDead

colorDead: Color4

Color the particle will have at the end of its lifetime

customShaderSearch playground for customShader

customShader: any

This can help using your own shader to render the particle system. The according effect will be created

disposeOnStopSearch playground for disposeOnStop

disposeOnStop: boolean

Specifies whether the particle system will be disposed once it reaches the end of the animation.

emitRateSearch playground for emitRate

emitRate: number

The maximum number of particles to emit per frame

emitterSearch playground for emitter

The emitter represents the Mesh or position we are attaching the particle system to.

endSpriteCellIDSearch playground for endSpriteCellID

endSpriteCellID: number

If using a spritesheet (isAnimationSheetEnabled) defines the last sprite cell to display

forceDepthWriteSearch playground for forceDepthWrite

forceDepthWrite: boolean

Forces the particle to write their depth information to the depth buffer. This can help preventing other draw calls to override the particles.

gravitySearch playground for gravity

gravity: Vector3

You can use gravity if you want to give an orientation to your particles.

idSearch playground for id

id: string

The id of the Particle system.

layerMaskSearch playground for layerMask

layerMask: number

The layer mask we are rendering the particles through.

limitVelocityDampingSearch playground for limitVelocityDamping

limitVelocityDamping: number

Gets or sets a value indicating the damping to apply if the limit velocity factor is reached

manualEmitCountSearch playground for manualEmitCount

manualEmitCount: number

If you want to launch only a few particles at once, that can be done, as well.

maxAngularSpeedSearch playground for maxAngularSpeed

maxAngularSpeed: number

Maximum angular speed of emitting particles (Z-axis rotation for each particle).

maxEmitPowerSearch playground for maxEmitPower

maxEmitPower: number

Maximum power of emitting particles.

maxInitialRotationSearch playground for maxInitialRotation

maxInitialRotation: number

Gets or sets the maximal initial rotation in radians.

maxLifeTimeSearch playground for maxLifeTime

maxLifeTime: number

Maximum life time of emitting particles.

maxScaleXSearch playground for maxScaleX

maxScaleX: number

Maximum scale of emitting particles on X axis.

maxScaleYSearch playground for maxScaleY

maxScaleY: number

Maximum scale of emitting particles on Y axis.

maxSizeSearch playground for maxSize

maxSize: number

Maximum Size of emitting particles.

minAngularSpeedSearch playground for minAngularSpeed

minAngularSpeed: number

Minimum angular speed of emitting particles (Z-axis rotation for each particle).

minEmitPowerSearch playground for minEmitPower

minEmitPower: number

Minimum power of emitting particles.

minInitialRotationSearch playground for minInitialRotation

minInitialRotation: number

Gets or sets the minimal initial rotation in radians.

minLifeTimeSearch playground for minLifeTime

minLifeTime: number

Minimum life time of emitting particles.

minScaleXSearch playground for minScaleX

minScaleX: number

Minimum scale of emitting particles on X axis.

minScaleYSearch playground for minScaleY

minScaleY: number

Minimum scale of emitting particles on Y axis.

minSizeSearch playground for minSize

minSize: number

Minimum Size of emitting particles.

nameSearch playground for name

name: string

The friendly name of the Particle system.

noiseStrengthSearch playground for noiseStrength

noiseStrength: Vector3

Gets or sets the strength to apply to the noise value (default is (10, 10, 10))

onAnimationEndSearch playground for onAnimationEnd

onAnimationEnd: Nullable<() => void>

Callback triggered when the particle animation is ending.

particleEmitterTypeSearch playground for particleEmitterType

particleEmitterType: IParticleEmitterType

The particle emitter type defines the emitter used by the particle system. It can be for example box, sphere, or cone...

particleTextureSearch playground for particleTexture

particleTexture: Nullable<BaseTexture>

The texture used to render each particle. (this can be a spritesheet)

preWarmCyclesSearch playground for preWarmCycles

preWarmCycles: number

Gets or sets a value indicating how many cycles (or frames) must be executed before first rendering (this value has to be set before starting the system). Default is 0

preWarmStepOffsetSearch playground for preWarmStepOffset

preWarmStepOffset: number

Gets or sets a value indicating the time step multiplier to use in pre-warm mode (default is 1)

preventAutoStartSearch playground for preventAutoStart

preventAutoStart: boolean

By default particle system starts as soon as they are created. This prevents the automatic start to happen and let you decide when to start emitting particles.

renderingGroupIdSearch playground for renderingGroupId

renderingGroupId: number

The rendering group used by the Particle system to chose when to render.

snippetIdSearch playground for snippetId

snippetId: string

Snippet ID if the particle system was created from the snippet server

spriteCellChangeSpeedSearch playground for spriteCellChangeSpeed

spriteCellChangeSpeed: number

If using a spritesheet (isAnimationSheetEnabled) defines the speed of the sprite loop (default is 1 meaning the animation will play once during the entire particle lifetime)

spriteCellHeightSearch playground for spriteCellHeight

spriteCellHeight: number

If using a spritesheet (isAnimationSheetEnabled), defines the sprite cell height to use

spriteCellLoopSearch playground for spriteCellLoop

spriteCellLoop: boolean

If using a spritesheet (isAnimationSheetEnabled), defines wether the sprite animation is looping

spriteCellWidthSearch playground for spriteCellWidth

spriteCellWidth: number

If using a spritesheet (isAnimationSheetEnabled), defines the sprite cell width to use

spriteRandomStartCellSearch playground for spriteRandomStartCell

spriteRandomStartCell: boolean

This allows the system to random pick the start cell ID between startSpriteCellID and endSpriteCellID

startDelaySearch playground for startDelay

startDelay: number

Defines the delay in milliseconds before starting the system (0 by default)

startSpriteCellIDSearch playground for startSpriteCellID

startSpriteCellID: number

If using a spritesheet (isAnimationSheetEnabled) defines the first sprite cell to display

targetStopDurationSearch playground for targetStopDuration

targetStopDuration: number

The amount of time the particle system is running (depends of the overall update speed).

textureMaskSearch playground for textureMask

textureMask: Color4

An optional mask to filter some colors out of the texture, or filter a part of the alpha channel

translationPivotSearch playground for translationPivot

translationPivot: Vector2

Gets or sets a Vector2 used to move the pivot (by default (0,0))

uniqueIdSearch playground for uniqueId

uniqueId: number

Gets or sets the unique id of the particle system

updateSpeedSearch playground for updateSpeed

updateSpeed: number

The overall motion speed (0.01 is default update speed, faster updates = faster animation)

worldOffsetSearch playground for worldOffset

worldOffset: Vector3

Gets or sets a world offset applied to all particles

Static BLENDMODE_ADDSearch playground for BLENDMODE_ADD

BLENDMODE_ADD: number

Add current color and particle color multiplied by particle’s alpha

Static BLENDMODE_MULTIPLYSearch playground for BLENDMODE_MULTIPLY

BLENDMODE_MULTIPLY: number

Multiply current color with particle color

Static BLENDMODE_MULTIPLYADDSearch playground for BLENDMODE_MULTIPLYADD

BLENDMODE_MULTIPLYADD: number

Multiply current color with particle color then add current color and particle color multiplied by particle’s alpha

Static BLENDMODE_ONEONESearch playground for BLENDMODE_ONEONE

BLENDMODE_ONEONE: number

Source color is added to the destination color without alpha affecting the result

Static BLENDMODE_STANDARDSearch playground for BLENDMODE_STANDARD

BLENDMODE_STANDARD: number

Blend current color and particle color using particle’s alpha

Accessors

billboardMode

  • get billboardMode(): number
  • set billboardMode(value: number): any
  • Gets or sets the billboard mode to use when isBillboardBased = true. Value can be: ParticleSystem.BILLBOARDMODE_ALL, ParticleSystem.BILLBOARDMODE_Y, ParticleSystem.BILLBOARDMODE_STRETCHED

    Returns number

  • Gets or sets the billboard mode to use when isBillboardBased = true. Value can be: ParticleSystem.BILLBOARDMODE_ALL, ParticleSystem.BILLBOARDMODE_Y, ParticleSystem.BILLBOARDMODE_STRETCHED

    Parameters

    • value: number

    Returns any

direction1

  • Random direction of each particle after it has been emitted, between direction1 and direction2 vectors. This only works when particleEmitterTyps is a BoxParticleEmitter

    Returns Vector3

  • Random direction of each particle after it has been emitted, between direction1 and direction2 vectors. This only works when particleEmitterTyps is a BoxParticleEmitter

    Parameters

    Returns any

direction2

  • Random direction of each particle after it has been emitted, between direction1 and direction2 vectors. This only works when particleEmitterTyps is a BoxParticleEmitter

    Returns Vector3

  • Random direction of each particle after it has been emitted, between direction1 and direction2 vectors. This only works when particleEmitterTyps is a BoxParticleEmitter

    Parameters

    Returns any

imageProcessingConfiguration

  • Gets the image processing configuration used either in this material.

    If sets to null, the scene one is in use.

    Returns Nullable<ImageProcessingConfiguration>

  • Sets the Default image processing configuration used either in the this material.

    If sets to null, the scene one is in use.

    Parameters

    Returns any

isAnimationSheetEnabled

  • get isAnimationSheetEnabled(): boolean
  • set isAnimationSheetEnabled(value: boolean): any
  • Gets or sets whether an animation sprite sheet is enabled or not on the particle system

    Returns boolean

  • Gets or sets whether an animation sprite sheet is enabled or not on the particle system

    Parameters

    • value: boolean

    Returns any

isBillboardBased

  • get isBillboardBased(): boolean
  • set isBillboardBased(value: boolean): any
  • Gets or sets a boolean indicating if the particles must be rendered as billboard or aligned with the direction

    Returns boolean

  • Gets or sets a boolean indicating if the particles must be rendered as billboard or aligned with the direction

    Parameters

    • value: boolean

    Returns any

maxEmitBox

  • Maximum box point around our emitter. Our emitter is the center of particles source, but if you want your particles to emit from more than one point, then you can tell it to do so. This only works when particleEmitterTyps is a BoxParticleEmitter

    Returns Vector3

  • Maximum box point around our emitter. Our emitter is the center of particles source, but if you want your particles to emit from more than one point, then you can tell it to do so. This only works when particleEmitterTyps is a BoxParticleEmitter

    Parameters

    Returns any

minEmitBox

  • Minimum box point around our emitter. Our emitter is the center of particles source, but if you want your particles to emit from more than one point, then you can tell it to do so. This only works when particleEmitterTyps is a BoxParticleEmitter

    Returns Vector3

  • Minimum box point around our emitter. Our emitter is the center of particles source, but if you want your particles to emit from more than one point, then you can tell it to do so. This only works when particleEmitterTyps is a BoxParticleEmitter

    Parameters

    Returns any

noiseTexture

  • Gets or sets a texture used to add random noise to particle positions

    Returns Nullable<ProceduralTexture>

  • Gets or sets a texture used to add random noise to particle positions

    Parameters

    Returns any

Methods

createBoxEmitterSearch playground for createBoxEmitter

  • Creates a Box Emitter for the particle system. (emits between direction1 and direction2 from withing the box defined by minEmitBox and maxEmitBox)

    Parameters

    • direction1: Vector3

      Particles are emitted between the direction1 and direction2 from within the box

    • direction2: Vector3

      Particles are emitted between the direction1 and direction2 from within the box

    • minEmitBox: Vector3

      Particles are emitted from the box between minEmitBox and maxEmitBox

    • maxEmitBox: Vector3

      Particles are emitted from the box between minEmitBox and maxEmitBox

    Returns BoxParticleEmitter

    the emitter

createConeEmitterSearch playground for createConeEmitter

  • Creates a Cone Emitter for the particle system (emits from the cone to the particle position)

    Parameters

    • Optional radius: number

      The radius of the cone to emit from

    • Optional angle: number

      The base angle of the cone

    Returns ConeParticleEmitter

    the emitter

createCylinderEmitterSearch playground for createCylinderEmitter

  • createCylinderEmitter(radius?: number, height?: number, radiusRange?: number, directionRandomizer?: number): CylinderParticleEmitter
  • Creates a Cylinder Emitter for the particle system (emits from the cylinder to the particle position)

    Parameters

    • Optional radius: number

      The radius of the emission cylinder

    • Optional height: number

      The height of the emission cylinder

    • Optional radiusRange: number

      The range of emission [0-1] 0 Surface only, 1 Entire Radius

    • Optional directionRandomizer: number

      How much to randomize the particle direction [0-1]

    Returns CylinderParticleEmitter

    the emitter

createDirectedCylinderEmitterSearch playground for createDirectedCylinderEmitter

  • Creates a Directed Cylinder Emitter for the particle system (emits between direction1 and direction2)

    Parameters

    • Optional radius: number

      The radius of the cylinder to emit from

    • Optional height: number

      The height of the emission cylinder

    • Optional radiusRange: number

      the range of the emission cylinder [0-1] 0 Surface only, 1 Entire Radius (1 by default)

    • Optional direction1: Vector3

      Particles are emitted between the direction1 and direction2 from within the cylinder

    • Optional direction2: Vector3

      Particles are emitted between the direction1 and direction2 from within the cylinder

    Returns CylinderDirectedParticleEmitter

    the emitter

createDirectedSphereEmitterSearch playground for createDirectedSphereEmitter

  • Creates a Directed Sphere Emitter for the particle system (emits between direction1 and direction2)

    Parameters

    • Optional radius: number

      The radius of the sphere to emit from

    • Optional direction1: Vector3

      Particles are emitted between the direction1 and direction2 from within the sphere

    • Optional direction2: Vector3

      Particles are emitted between the direction1 and direction2 from within the sphere

    Returns SphereDirectedParticleEmitter

    the emitter

createHemisphericEmitterSearch playground for createHemisphericEmitter

  • Creates a Hemisphere Emitter for the particle system (emits along the hemisphere radius)

    Parameters

    • Optional radius: number

      The radius of the hemisphere to emit from

    • Optional radiusRange: number

      The range of the hemisphere to emit from [0-1] 0 Surface Only, 1 Entire Radius

    Returns HemisphericParticleEmitter

    the emitter

createPointEmitterSearch playground for createPointEmitter

  • Creates a Point Emitter for the particle system (emits directly from the emitter position)

    Parameters

    • direction1: Vector3

      Particles are emitted between the direction1 and direction2 from within the box

    • direction2: Vector3

      Particles are emitted between the direction1 and direction2 from within the box

    Returns PointParticleEmitter

    the emitter

createSphereEmitterSearch playground for createSphereEmitter

  • Creates a Sphere Emitter for the particle system (emits along the sphere radius)

    Parameters

    • Optional radius: number

      The radius of the sphere to emit from

    • Optional radiusRange: number

      The range of the sphere to emit from [0-1] 0 Surface Only, 1 Entire Radius

    Returns SphereParticleEmitter

    the emitter

getAlphaRemapGradientsSearch playground for getAlphaRemapGradients

  • Gets the current list of alpha remap gradients. You must use addAlphaRemapGradient and removeAlphaRemapGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of alpha remap gradients

getAngularSpeedGradientsSearch playground for getAngularSpeedGradients

  • Gets the current list of angular speed gradients. You must use addAngularSpeedGradient and removeAngularSpeedGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of angular speed gradients

getColorGradientsSearch playground for getColorGradients

  • Gets the current list of color gradients. You must use addColorGradient and removeColorGradient to update this list

    Returns Nullable<Array<ColorGradient>>

    the list of color gradients

getColorRemapGradientsSearch playground for getColorRemapGradients

  • Gets the current list of color remap gradients. You must use addColorRemapGradient and removeColorRemapGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of color remap gradients

getDragGradientsSearch playground for getDragGradients

  • Gets the current list of drag gradients. You must use addDragGradient and removeDragGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of drag gradients

getEmitRateGradientsSearch playground for getEmitRateGradients

  • Gets the current list of emit rate gradients. You must use addEmitRateGradient and removeEmitRateGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of emit rate gradients

getLifeTimeGradientsSearch playground for getLifeTimeGradients

  • Gets the current list of life time gradients. You must use addLifeTimeGradient and removeLifeTimeGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of life time gradients

getLimitVelocityGradientsSearch playground for getLimitVelocityGradients

  • Gets the current list of limit velocity gradients. You must use addLimitVelocityGradient and removeLimitVelocityGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of limit velocity gradients

getSceneSearch playground for getScene

  • Get hosting scene

    Returns Nullable<Scene>

    the scene

getSizeGradientsSearch playground for getSizeGradients

  • Gets the current list of size gradients. You must use addSizeGradient and removeSizeGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of size gradients

getStartSizeGradientsSearch playground for getStartSizeGradients

  • Gets the current list of start size gradients. You must use addStartSizeGradient and removeStartSizeGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of start size gradients

getVelocityGradientsSearch playground for getVelocityGradients

  • Gets the current list of velocity gradients. You must use addVelocityGradient and removeVelocityGradient to update this list

    Returns Nullable<Array<FactorGradient>>

    the list of velocity gradients

Legend

  • Constructor
  • Property
  • Method
  • Accessor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Static property
  • Static method