CPUParticles2D
Inherits: Node2D < CanvasItem < Node < Object CPU-based 2D particle emitter.
Description
CPU-based 2D particle node used to create a variety of particle systems and effects. 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.
Tutorials
- Particle systems (2D)
Properties
Methods
Enumerations
DrawOrder: - DRAW_ORDER_INDEX = 0 —- Particles are drawn in the order emitted.
- DRAW_ORDER_LIFETIME = 1 —- Particles are drawn in order of remaining lifetime.
Parameter:
- PARAM_INITIAL_LINEAR_VELOCITY = 0 —- Use with set_param, set_param_randomness, and set_param_curve to set initial velocity properties.
- PARAM_ANGULAR_VELOCITY = 1 —- Use with set_param, set_param_randomness, and set_param_curve to set angular velocity properties.
- PARAM_ORBIT_VELOCITY = 2 —- Use with set_param, set_param_randomness, and set_param_curve to set orbital velocity properties.
- PARAM_LINEAR_ACCEL = 3 —- Use with set_param, set_param_randomness, and set_param_curve to set linear acceleration properties.
- PARAM_RADIAL_ACCEL = 4 —- Use with set_param, set_param_randomness, and set_param_curve to set radial acceleration properties.
- PARAM_TANGENTIAL_ACCEL = 5 —- Use with set_param, set_param_randomness, and set_param_curve to set tangential acceleration properties.
- PARAM_DAMPING = 6 —- Use with set_param, set_param_randomness, and set_param_curve to set damping properties.
- PARAM_ANGLE = 7 —- Use with set_param, set_param_randomness, and set_param_curve to set angle properties.
- PARAM_SCALE = 8 —- Use with set_param, set_param_randomness, and set_param_curve to set scale properties.
- PARAM_HUE_VARIATION = 9 —- Use with set_param, set_param_randomness, and set_param_curve to set hue variation properties.
- PARAM_ANIM_SPEED = 10 —- Use with set_param, set_param_randomness, and set_param_curve to set animation speed properties.
- PARAM_ANIM_OFFSET = 11 —- Use with set_param, set_param_randomness, and set_param_curve to set animation offset properties.
- PARAM_MAX = 12 —- Represents the size of the Parameter enum.
Flags:
- FLAG_ALIGN_Y_TO_VELOCITY = 0 —- Use with set_particle_flag to set flag_align_y.
- FLAG_ROTATE_Y = 1 —- Present for consistency with 3D particle nodes, not used in 2D.
- FLAG_DISABLE_Z = 2 —- Present for consistency with 3D particle nodes, not used in 2D.
- FLAG_MAX = 3 —- Represents the size of the Flags enum.
EmissionShape:
- EMISSION_SHAPE_POINT = 0 —- All particles will be emitted from a single point.
- EMISSION_SHAPE_SPHERE = 1 —- Particles will be emitted on the surface of a sphere flattened to two dimensions.
- EMISSION_SHAPE_RECTANGLE = 2 —- Particles will be emitted in the area of a rectangle.
- EMISSION_SHAPE_POINTS = 3 —- Particles will be emitted at a position chosen randomly among emission_points. Particle color will be modulated by emission_colors.
- EMISSION_SHAPE_DIRECTED_POINTS = 4 —- Particles will be emitted at a position chosen randomly among emission_points. Particle velocity and rotation will be set based on emission_normals. Particle color will be modulated by emission_colors.
- EMISSION_SHAPE_MAX = 5 —- Represents the size of the EmissionShape enum.
Property Descriptions
- int amount lifetime). Note: Changing amount will reset the particle emission, therefore removing all particles that were already emitted before changing amount.
- float angle Initial rotation applied to each particle, in degrees.
- Curve angle_curve Curve.
- float angle_random Rotation randomness ratio.
- float angular_velocity degrees per second. Sets the speed of rotation of the particle.
- Curve angular_velocity_curve Curve.
- float angular_velocity_random Angular velocity randomness ratio.
- float anim_offset Particle animation offset.
- Curve anim_offset_curve Curve.
- float anim_offset_random Animation offset randomness ratio.
- float anim_speed Particle animation speed.
- Curve anim_speed_curve Curve.
- float anim_speed_random Animation speed randomness ratio.
- Color color texture is defined, it will be multiplied by this color.
- Gradient color_initial_ramp GradientTexture (multiplied with color).
- Gradient color_ramp Gradient (multiplied with color).
- float damping The rate at which particles lose velocity.
- Curve damping_curve Curve.
- float damping_random Damping randomness ratio.
- Vector2 direction Unit vector specifying the particles’ emission direction.
- DrawOrder draw_order DrawOrder values.
- PoolColorArray emission_colors Colors to modulate particles by when using EMISSION_SHAPE_POINTS or EMISSION_SHAPE_DIRECTED_POINTS.
- PoolVector2Array emission_normals EMISSION_SHAPE_DIRECTED_POINTS.
- PoolVector2Array emission_points EMISSION_SHAPE_POINTS or EMISSION_SHAPE_DIRECTED_POINTS.
- Vector2 emission_rect_extents emission_shape is set to EMISSION_SHAPE_RECTANGLE.
- EmissionShape emission_shape EmissionShape for possible values.
- float emission_sphere_radius emission_shape is set to EMISSION_SHAPE_SPHERE.
- bool emitting
true, particles are being emitted.
- float explosiveness
0, there will be a gap in emissions before the next cycle begins.
- int fixed_fps 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.
- bool flag_align_y Align Y axis of particle with the direction of its velocity.
- bool fract_delta
true, results in fractional delta calculation which has a smoother particles display effect.
- Vector2 gravity Gravity applied to every particle.
- float hue_variation Initial hue variation applied to each particle.
- Curve hue_variation_curve Curve.
- float hue_variation_random Hue variation randomness ratio.
- float initial_velocity spread and the node’s orientation.
- float initial_velocity_random Initial velocity randomness ratio.
- float lifetime The amount of time each particle will exist (in seconds).
- float lifetime_randomness Particle lifetime randomness ratio.
- float linear_accel Linear acceleration applied to each particle in the direction of motion.
- Curve linear_accel_curve Curve.
- float linear_accel_random Linear acceleration randomness ratio.
- bool local_coords
true, particles use the parent node’s coordinate space. Iffalse, they use global coordinates.
- Texture normalmap texture property. Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.
- bool one_shot
true, only one emission cycle occurs. If settrueduring a cycle, emission will stop at the cycle’s end.
- float orbit_velocity Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
- Curve orbit_velocity_curve Curve.
- float orbit_velocity_random Orbital velocity randomness ratio.
- float preprocess Particle system starts as if it had already run for this many seconds.
- float radial_accel Radial acceleration applied to each particle. Makes particle accelerate away from origin.
- Curve radial_accel_curve Curve.
- float radial_accel_random Radial acceleration randomness ratio.
- float randomness Emission lifetime randomness ratio.
- float scale_amount Initial scale applied to each particle.
- Curve scale_amount_curve Curve.
- float scale_amount_random Scale randomness ratio.
- float speed_scale
0can be used to pause the particles.
- float spread
+spreadto-spreaddegrees.
- float tangential_accel Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle’s velocity giving the particles a swirling motion.
- Curve tangential_accel_curve Curve.
- float tangential_accel_random Tangential acceleration randomness ratio.
- Texture texture
null, particles will be squares.Method Descriptions
- convert_from_particles ( Node particles ) Particles2D node with an assigned ParticlesMaterial.
- float get_param ( Parameter param ) const Parameter.
- Curve get_param_curve ( Parameter param ) const Curve of the parameter specified by Parameter.
- float get_param_randomness ( Parameter param ) const Parameter.
- bool get_particle_flag ( Flags flag ) const Flags for options).
- restart ( ) Restarts the particle emitter.
- set_param ( Parameter param, float value ) Parameter.
- set_param_curve ( Parameter param, Curve curve ) Curve of the parameter specified by Parameter.
- set_param_randomness ( Parameter param, float randomness ) Parameter.
- set_particle_flag ( Flags flag, bool enable ) Flags for options).
