CPUParticles

    Category: Core

    CPU-based 3D particle emitter.

    Properties

    void ( Node particles )
    void ( )

    Enumerations

    enum DrawOrder:

    • DRAW_ORDER_INDEX = 0 — Particles are drawn in the order emitted.
    • DRAW_ORDER_LIFETIME = 1 — Particles are drawn in order of remaining lifetime.
    • DRAW_ORDER_VIEW_DEPTH = 2 — Particles are drawn in order of depth.

    enum Parameter:

    • PARAM_INITIAL_LINEAR_VELOCITY = 0 — Use with set_param, set_param_randomness, and set_param_texture to set initial velocity properties.
    • PARAM_ANGULAR_VELOCITY = 1 — Use with set_param, set_param_randomness, and set_param_texture to set angular velocity properties.
    • PARAM_LINEAR_ACCEL = 2 — Use with set_param, set_param_randomness, and set_param_texture to set linear acceleration properties.
    • PARAM_RADIAL_ACCEL = 3 — Use with set_param, set_param_randomness, and set_param_texture to set radial acceleration properties.
    • PARAM_TANGENTIAL_ACCEL = 4 — Use with set_param, set_param_randomness, and set_param_texture to set tangential acceleration properties.
    • PARAM_DAMPING = 5 — Use with set_param, set_param_randomness, and set_param_texture to set damping properties.
    • PARAM_ANGLE = 6 — Use with set_param, set_param_randomness, and set_param_texture to set angle properties.
    • PARAM_SCALE = 7 — Use with set_param, set_param_randomness, and set_param_texture to set scale properties.
    • PARAM_HUE_VARIATION = 8 — Use with set_param, set_param_randomness, and set_param_texture to set hue variation properties.
    • PARAM_ANIM_SPEED = 9 — Use with set_param, set_param_randomness, and set_param_texture to set animation speed properties.
    • PARAM_ANIM_OFFSET = 10 — Use with set_param, set_param_randomness, and set_param_texture to set animation offset properties.
    • PARAM_MAX = 11 — Represents the size of the Parameter enum.

    enum Flags:

    • FLAG_ALIGN_Y_TO_VELOCITY = 0 — Use with set_flag to set .
    • FLAG_ROTATE_Y = 1 — Use with set_flag to set flag_rotate_y.
    • FLAG_MAX = 3 — Represents the size of the enum.

    enum EmissionShape:

    • EMISSION_SHAPE_POINT = 0 — All particles will be emitted from a single point.
    • EMISSION_SHAPE_SPHERE = 1 — Particles will be emitted in the volume of a sphere.
    • EMISSION_SHAPE_BOX = 2 — Particles will be emitted in the volume of a box.
    • EMISSION_SHAPE_POINTS = 3 — Particles will be emitted at a position chosen randomly among emission_points. Particle color will be modulated by .

    CPU-based 3D particle node used to create a variety of particle systems and effects.

    See also Particles, which provides the same functionality with hardware acceleration, but may not run on older devices.

    Property Descriptions

    • amount
    Setterset_amount(value)
    Getterget_amount()

    Number of particles emitted in one emission cycle.


    Setterset_param(value)
    Getterget_param()

    Initial rotation applied to each particle, in degrees.


    • angle_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

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


    • angle_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Rotation randomness ratio. Default value: .


    Setterset_param(value)
    Getterget_param()

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


    • angular_velocity_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

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


    • angular_velocity_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Angular velocity randomness ratio. Default value: 0.


    Setterset_param(value)
    Getterget_param()

    Particle animation offset.


    • anim_offset_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

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


    • anim_offset_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Animation offset randomness ratio. Default value: 0.


    Setterset_param(value)
    Getterget_param()

    Particle animation speed.


    • anim_speed_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

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


    • anim_speed_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Animation speed randomness ratio. Default value: 0.


    Setterset_color(value)
    Getterget_color()

    • color_ramp
    Setterset_color_ramp(value)
    Getterget_color_ramp()

    Unused for 3D particles.


    Setterset_param(value)
    Getterget_param()

    The rate at which particles lose velocity.


    • damping_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

    Damping will vary along this Curve.


    • damping_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Damping randomness ratio. Default value: 0.


    Particle draw order. Uses values. Default value: DRAW_ORDER_INDEX.


    • emission_box_extents
    Setterset_emission_box_extents(value)
    Getterget_emission_box_extents()

    The rectangle’s extents if emission_shape is set to .


    Setterset_emission_colors(value)
    Getterget_emission_colors()

    • emission_normals
    Setterset_emission_normals(value)
    Getterget_emission_normals()

    Setterset_emission_points(value)
    Getterget_emission_points()

    • emission_shape
    Setterset_emission_shape(value)
    Getterget_emission_shape()

    Particles will be emitted inside this region. Use EmissionShape for values. Default value: .


    • float emission_sphere_radius
    Setterset_emission_sphere_radius(value)
    Getterget_emission_sphere_radius()

    The sphere’s radius if is set to EMISSION_SHAPE_SPHERE.


    • emitting
    Setterset_emitting(value)
    Getteris_emitting()

    If true, particles are being emitted. Default value: true.


    Setterset_explosiveness_ratio(value)
    Getterget_explosiveness_ratio()

    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. Default value: 0.


    • fixed_fps
    Setterset_fixed_fps(value)
    Getterget_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 particle system itself.


    Setterset_particle_flag(value)
    Getterget_particle_flag()

    Align y-axis of particle with the direction of its velocity.


    Setterset_particle_flag(value)
    Getterget_particle_flag()

    If true, particles will not move on the z axis. Default value: false.


    • flag_rotate_y
    Setterset_particle_flag(value)
    Getterget_particle_flag()

    If true, particles rotate around y-axis by angle.


    • flatness
    Setterset_flatness(value)
    Getterget_flatness()

    Amount of spread in Y/Z plane. A value of restricts particles to X/Z plane. Default 0.


    • fract_delta
    Setterset_fractional_delta(value)
    Getterget_fractional_delta()

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


    Setterset_gravity(value)
    Getterget_gravity()

    Gravity applied to every particle. Default value: (0, -9.8, 0).


    • hue_variation
    Setterset_param(value)
    Getterget_param()

    Initial hue variation applied to each particle.


    • Curve hue_variation_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

    Each particle’s hue will vary along this .


    • float hue_variation_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Hue variation randomness ratio. Default value: 0.


    • initial_velocity
    Setterset_param(value)
    Getterget_param()

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


    • initial_velocity_random

    Setterset_lifetime(value)
    Getterget_lifetime()

    Amount of time each particle will exist. Default value: 1.


    • linear_accel
    Setterset_param(value)
    Getterget_param()

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


    • Curve linear_accel_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

    Each particle’s linear acceleration will vary along this .


    • float linear_accel_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Linear acceleration randomness ratio. Default value: 0.


    • local_coords
    Setterset_use_local_coordinates(value)
    Getterget_use_local_coordinates()

    If true, particles use the parent node’s coordinate space. If false, they use global coordinates. Default value: true.


    Setterset_mesh(value)
    Getterget_mesh()

    The used for each particle. If , particles will be spheres.


    Setterset_one_shot(value)
    Getterget_one_shot()

    If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle’s end. Default value: false.


    • preprocess
    Setterset_pre_process_time(value)
    Getterget_pre_process_time()

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


    Setterset_param(value)
    Getterget_param()

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


    • radial_accel_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

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


    • radial_accel_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Radial acceleration randomness ratio. Default value: 0.


    Setterset_randomness_ratio(value)
    Getterget_randomness_ratio()

    Emission lifetime randomness ratio. Default value: 0.


    • scale_amount
    Setterset_param(value)
    Getterget_param()

    Initial scale applied to each particle.


    • Curve scale_amount_curve
    Setterset_param_curve(value)
    Getterget_param_curve()

    Each particle’s scale will vary along this .


    • float scale_amount_random
    Setterset_param_randomness(value)
    Getterget_param_randomness()

    Scale randomness ratio. Default value: 0.


    • speed_scale
    Setterset_speed_scale(value)
    Getterget_speed_scale()

    Particle system’s running speed scaling ratio. Default value: 1. A value of 0 can be used to pause the particles.


    Setterset_spread(value)
    Getterget_spread()

    Each particle’s initial direction range from +spread to -spread degrees. Default value: 45.


    • tangential_accel
    Setterset_param(value)
    Getterget_param()

    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
    Setterset_param_curve(value)
    Getterget_param_curve()

    Each particle’s tangential acceleration will vary along this .


    • float tangential_accel_random

    Tangential acceleration randomness ratio. Default value: .

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


    • void restart ( )