CPUParticles2D

CPU-based 2D particle emitter.

CPU-based 2D particle node used to create a variety of particle systems and effects. See also Particles2D, which provides the same functionality with hardware acceleration, but may not run on older devices. Note: Unlike Particles2D, the visibility rect is generated on-the-fly and doesn't need to be configured by the user.

@GodotBaseClass
struct CPUParticles2D {}

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Enums

Constants
enum Constants
DrawOrder
enum DrawOrder
EmissionShape
enum EmissionShape
Flags
enum Flags
Parameter
enum Parameter

Functions

_textureChanged
void _textureChanged()
_updateRenderThread
void _updateRenderThread()
convertFromParticles
void convertFromParticles(Node particles)

Sets this node's properties to match a given Particles2D node with an assigned ParticlesMaterial.

getAmount
long getAmount()
getColor
Color getColor()
getColorRamp
Ref!Gradient getColorRamp()
getDirection
Vector2 getDirection()
getDrawOrder
CPUParticles2D.DrawOrder getDrawOrder()
getEmissionColors
PoolColorArray getEmissionColors()
getEmissionNormals
PoolVector2Array getEmissionNormals()
getEmissionPoints
PoolVector2Array getEmissionPoints()
getEmissionRectExtents
Vector2 getEmissionRectExtents()
getEmissionShape
CPUParticles2D.EmissionShape getEmissionShape()
getEmissionSphereRadius
double getEmissionSphereRadius()
getExplosivenessRatio
double getExplosivenessRatio()
getFixedFps
long getFixedFps()
getFractionalDelta
bool getFractionalDelta()
getGravity
Vector2 getGravity()
getLifetime
double getLifetime()
getLifetimeRandomness
double getLifetimeRandomness()
getNormalmap
Ref!Texture getNormalmap()
getOneShot
bool getOneShot()
getParam
double getParam(long param)

Returns the base value of the parameter specified by parameter.

getParamCurve
Ref!Curve getParamCurve(long param)

Returns the Curve of the parameter specified by parameter.

getParamRandomness
double getParamRandomness(long param)

Returns the randomness factor of the parameter specified by parameter.

getParticleFlag
bool getParticleFlag(long flag)

Returns the enabled state of the given flag (see flags for options).

getPreProcessTime
double getPreProcessTime()
getRandomnessRatio
double getRandomnessRatio()
getSpeedScale
double getSpeedScale()
getSpread
double getSpread()
getTexture
Ref!Texture getTexture()
getUseLocalCoordinates
bool getUseLocalCoordinates()
isEmitting
bool isEmitting()
opAssign
typeof(null) opAssign(typeof(null) n)
opEquals
bool opEquals(CPUParticles2D other)
opEquals
bool opEquals(typeof(null) n)
restart
void restart()

Restarts the particle emitter.

setAmount
void setAmount(long amount)
setColor
void setColor(Color color)
setColorRamp
void setColorRamp(Gradient ramp)
setDirection
void setDirection(Vector2 direction)
setDrawOrder
void setDrawOrder(long order)
setEmissionColors
void setEmissionColors(PoolColorArray array)
setEmissionNormals
void setEmissionNormals(PoolVector2Array array)
setEmissionPoints
void setEmissionPoints(PoolVector2Array array)
setEmissionRectExtents
void setEmissionRectExtents(Vector2 extents)
setEmissionShape
void setEmissionShape(long shape)
setEmissionSphereRadius
void setEmissionSphereRadius(double radius)
setEmitting
void setEmitting(bool emitting)
setExplosivenessRatio
void setExplosivenessRatio(double ratio)
setFixedFps
void setFixedFps(long fps)
setFractionalDelta
void setFractionalDelta(bool enable)
setGravity
void setGravity(Vector2 accel_vec)
setLifetime
void setLifetime(double secs)
setLifetimeRandomness
void setLifetimeRandomness(double random)
setNormalmap
void setNormalmap(Texture normalmap)
setOneShot
void setOneShot(bool enable)
setParam
void setParam(long param, double value)

Sets the base value of the parameter specified by parameter.

setParamCurve
void setParamCurve(long param, Curve curve)

Sets the Curve of the parameter specified by parameter.

setParamRandomness
void setParamRandomness(long param, double randomness)

Sets the randomness factor of the parameter specified by parameter.

setParticleFlag
void setParticleFlag(long flag, bool enable)

Enables or disables the given flag (see flags for options).

setPreProcessTime
void setPreProcessTime(double secs)
setRandomnessRatio
void setRandomnessRatio(double ratio)
setSpeedScale
void setSpeedScale(double scale)
setSpread
void setSpread(double degrees)
setTexture
void setTexture(Texture texture)
setUseLocalCoordinates
void setUseLocalCoordinates(bool enable)
toHash
size_t toHash()

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Properties

amount
long amount [@property getter]
long amount [@property setter]

The number of particles emitted in one emission cycle (corresponding to the lifetime). Note: Changing amount will reset the particle emission, therefore removing all particles that were already emitted before changing amount.

angle
double angle [@property getter]
double angle [@property setter]

Initial rotation applied to each particle, in degrees.

angleCurve
Curve angleCurve [@property getter]
Curve angleCurve [@property setter]

Each particle's rotation will be animated along this Curve.

angleRandom
double angleRandom [@property getter]
double angleRandom [@property setter]

Rotation randomness ratio.

angularVelocity
double angularVelocity [@property getter]
double angularVelocity [@property setter]

Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.

angularVelocityCurve
Curve angularVelocityCurve [@property getter]
Curve angularVelocityCurve [@property setter]

Each particle's angular velocity will vary along this Curve.

angularVelocityRandom
double angularVelocityRandom [@property getter]
double angularVelocityRandom [@property setter]

Angular velocity randomness ratio.

animOffset
double animOffset [@property getter]
double animOffset [@property setter]

Particle animation offset.

animOffsetCurve
Curve animOffsetCurve [@property getter]
Curve animOffsetCurve [@property setter]

Each particle's animation offset will vary along this Curve.

animOffsetRandom
double animOffsetRandom [@property setter]

Animation offset randomness ratio.

animOffsetRandom
double animOffsetRandom [@property getter]

Animation offset randomness ratio.

animSpeed
double animSpeed [@property setter]

Particle animation speed.

animSpeed
double animSpeed [@property getter]

Particle animation speed.

animSpeedCurve
Curve animSpeedCurve [@property setter]

Each particle's animation speed will vary along this Curve.

animSpeedCurve
Curve animSpeedCurve [@property getter]

Each particle's animation speed will vary along this Curve.

animSpeedRandom
double animSpeedRandom [@property getter]
double animSpeedRandom [@property setter]

Animation speed randomness ratio.

color
Color color [@property getter]
Color color [@property setter]

Each particle's initial color. If texture is defined, it will be multiplied by this color.

colorRamp
Gradient colorRamp [@property getter]
Gradient colorRamp [@property setter]

Each particle's color will vary along this Gradient.

damping
double damping [@property getter]
double damping [@property setter]

The rate at which particles lose velocity.

dampingCurve
Curve dampingCurve [@property getter]
Curve dampingCurve [@property setter]

Damping will vary along this Curve.

dampingRandom
double dampingRandom [@property getter]
double dampingRandom [@property setter]

Damping randomness ratio.

direction
Vector2 direction [@property getter]
Vector2 direction [@property setter]

Unit vector specifying the particles' emission direction.

drawOrder
CPUParticles2D.DrawOrder drawOrder [@property getter]
long drawOrder [@property setter]

Particle draw order. Uses draworder values.

emissionColors
PoolColorArray emissionColors [@property getter]
PoolColorArray emissionColors [@property setter]

Sets the Colors to modulate particles by when using constant EMISSION_SHAPE_POINTS or constant EMISSION_SHAPE_DIRECTED_POINTS.

emissionNormals
PoolVector2Array emissionNormals [@property getter]
PoolVector2Array emissionNormals [@property setter]

Sets the direction the particles will be emitted in when using constant EMISSION_SHAPE_DIRECTED_POINTS.

emissionPoints
PoolVector2Array emissionPoints [@property getter]
PoolVector2Array emissionPoints [@property setter]

Sets the initial positions to spawn particles when using constant EMISSION_SHAPE_POINTS or constant EMISSION_SHAPE_DIRECTED_POINTS.

emissionRectExtents
Vector2 emissionRectExtents [@property getter]
Vector2 emissionRectExtents [@property setter]

The rectangle's extents if emissionShape is set to constant EMISSION_SHAPE_RECTANGLE.

emissionShape
CPUParticles2D.EmissionShape emissionShape [@property getter]
long emissionShape [@property setter]

Particles will be emitted inside this region. See emissionshape for possible values.

emissionSphereRadius
double emissionSphereRadius [@property getter]
double emissionSphereRadius [@property setter]

The sphere's radius if emissionShape is set to constant EMISSION_SHAPE_SPHERE.

emitting
bool emitting [@property getter]
bool emitting [@property setter]

If true, particles are being emitted.

explosiveness
double explosiveness [@property getter]
double explosiveness [@property setter]

How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.

fixedFps
long fixedFps [@property getter]
long fixedFps [@property setter]

The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.

flagAlignY
bool flagAlignY [@property getter]
bool flagAlignY [@property setter]

Align Y axis of particle with the direction of its velocity.

fractDelta
bool fractDelta [@property getter]
bool fractDelta [@property setter]

If true, results in fractional delta calculation which has a smoother particles display effect.

gravity
Vector2 gravity [@property getter]
Vector2 gravity [@property setter]

Gravity applied to every particle.

hueVariation
double hueVariation [@property getter]
double hueVariation [@property setter]

Initial hue variation applied to each particle.

hueVariationCurve
Curve hueVariationCurve [@property getter]
Curve hueVariationCurve [@property setter]

Each particle's hue will vary along this Curve.

hueVariationRandom
double hueVariationRandom [@property getter]
double hueVariationRandom [@property setter]

Hue variation randomness ratio.

initialVelocity
double initialVelocity [@property getter]
double initialVelocity [@property setter]

Initial velocity magnitude for each particle. Direction comes from spread and the node's orientation.

initialVelocityRandom
double initialVelocityRandom [@property getter]
double initialVelocityRandom [@property setter]

Initial velocity randomness ratio.

lifetime
double lifetime [@property getter]
double lifetime [@property setter]

The amount of time each particle will exist (in seconds).

lifetimeRandomness
double lifetimeRandomness [@property getter]
double lifetimeRandomness [@property setter]

Particle lifetime randomness ratio.

linearAccel
double linearAccel [@property getter]
double linearAccel [@property setter]

Linear acceleration applied to each particle in the direction of motion.

linearAccelCurve
Curve linearAccelCurve [@property getter]
Curve linearAccelCurve [@property setter]

Each particle's linear acceleration will vary along this Curve.

linearAccelRandom
double linearAccelRandom [@property getter]
double linearAccelRandom [@property setter]

Linear acceleration randomness ratio.

localCoords
bool localCoords [@property getter]
bool localCoords [@property setter]

If true, particles use the parent node's coordinate space. If false, they use global coordinates.

normalmap
Texture normalmap [@property getter]
Texture normalmap [@property setter]

Normal map to be used for the texture property. Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinatesthis page/url for a comparison of normal map coordinates expected by popular engines.

oneShot
bool oneShot [@property getter]
bool oneShot [@property setter]

If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle's end.

orbitVelocity
double orbitVelocity [@property getter]
double orbitVelocity [@property setter]

Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.

orbitVelocityCurve
Curve orbitVelocityCurve [@property getter]
Curve orbitVelocityCurve [@property setter]

Each particle's orbital velocity will vary along this Curve.

orbitVelocityRandom
double orbitVelocityRandom [@property getter]
double orbitVelocityRandom [@property setter]

Orbital velocity randomness ratio.

preprocess
double preprocess [@property getter]
double preprocess [@property setter]

Particle system starts as if it had already run for this many seconds.

radialAccel
double radialAccel [@property getter]
double radialAccel [@property setter]

Radial acceleration applied to each particle. Makes particle accelerate away from origin.

radialAccelCurve
Curve radialAccelCurve [@property getter]
Curve radialAccelCurve [@property setter]

Each particle's radial acceleration will vary along this Curve.

radialAccelRandom
double radialAccelRandom [@property getter]
double radialAccelRandom [@property setter]

Radial acceleration randomness ratio.

randomness
double randomness [@property getter]
double randomness [@property setter]

Emission lifetime randomness ratio.

scaleAmount
double scaleAmount [@property getter]
double scaleAmount [@property setter]

Initial scale applied to each particle.

scaleAmountCurve
Curve scaleAmountCurve [@property getter]
Curve scaleAmountCurve [@property setter]

Each particle's scale will vary along this Curve.

scaleAmountRandom
double scaleAmountRandom [@property getter]
double scaleAmountRandom [@property setter]

Scale randomness ratio.

speedScale
double speedScale [@property getter]
double speedScale [@property setter]

Particle system's running speed scaling ratio. A value of 0 can be used to pause the particles.

spread
double spread [@property getter]
double spread [@property setter]

Each particle's initial direction range from +spread to -spread degrees.

tangentialAccel
double tangentialAccel [@property setter]

Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.

tangentialAccel
double tangentialAccel [@property getter]

Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.

tangentialAccelCurve
Curve tangentialAccelCurve [@property getter]
Curve tangentialAccelCurve [@property setter]

Each particle's tangential acceleration will vary along this Curve.

tangentialAccelRandom
double tangentialAccelRandom [@property getter]
double tangentialAccelRandom [@property setter]

Tangential acceleration randomness ratio.

texture
Texture texture [@property getter]
Texture texture [@property setter]

Particle texture. If null, particles will be squares.

Static functions

_new
CPUParticles2D _new()

Construct a new instance of CPUParticles2D. Note: use memnew!CPUParticles2D instead.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

GDNativeClassBinding
struct GDNativeClassBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(ToRef) as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta