.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the ParticlesMaterial.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_ParticlesMaterial: ParticlesMaterial ================= **Inherits:** :ref:`Material` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Particle properties for :ref:`Particles` and :ref:`Particles2D` nodes. Member Functions ---------------- +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_color` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_color_ramp` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_emission_box_extents` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_emission_color_texture` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_emission_normal_texture` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_emission_point_count` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_emission_point_texture` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_emission_shape` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_emission_sphere_radius` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_flag` **(** :ref:`int` flag **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_flatness` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_gravity` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_param` **(** :ref:`int` param **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_param_randomness` **(** :ref:`int` param **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`get_param_texture` **(** :ref:`int` param **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_spread` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`GradientTexture` | :ref:`get_trail_color_modifier` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_trail_divisor` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`CurveTexture` | :ref:`get_trail_size_modifier` **(** **)** const | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_color` **(** :ref:`Color` color **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_color_ramp` **(** :ref:`Texture` ramp **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_box_extents` **(** :ref:`Vector3` extents **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_color_texture` **(** :ref:`Texture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_normal_texture` **(** :ref:`Texture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_point_count` **(** :ref:`int` point_count **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_point_texture` **(** :ref:`Texture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_shape` **(** :ref:`int` shape **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_emission_sphere_radius` **(** :ref:`float` radius **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_flag` **(** :ref:`int` flag, :ref:`bool` enable **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_flatness` **(** :ref:`float` amount **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gravity` **(** :ref:`Vector3` accel_vec **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_param` **(** :ref:`int` param, :ref:`float` value **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_param_randomness` **(** :ref:`int` param, :ref:`float` randomness **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_param_texture` **(** :ref:`int` param, :ref:`Texture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_spread` **(** :ref:`float` degrees **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_trail_color_modifier` **(** :ref:`GradientTexture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_trail_divisor` **(** :ref:`int` divisor **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_trail_size_modifier` **(** :ref:`CurveTexture` texture **)** | +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ Member Variables ---------------- - :ref:`float` **angle** - Initial rotation applied to each particle. - :ref:`Texture` **angle_curve** - Each particle's rotation will be animated along this [CurveTexture]. - :ref:`float` **angle_random** - Rotation randomness ratio. Default value: [code]0[/code]. - :ref:`float` **angular_velocity** - Initial angular velocity applied to each particle. - :ref:`Texture` **angular_velocity_curve** - Each particle's angular velocity will vary along this [CurveTexture]. - :ref:`float` **angular_velocity_random** - Angular velocity randomness ratio. Default value: [code]0[/code]. - :ref:`bool` **anim_loop** - If [code]true[/code] animation will loop. Default value: [code]false[/code]. - :ref:`float` **anim_offset** - Particle animation offset. - :ref:`Texture` **anim_offset_curve** - Each particle's animation offset will vary along this [CurveTexture]. - :ref:`float` **anim_offset_random** - Animation offset randomness ratio. Default value: [code]0[/code]. - :ref:`float` **anim_speed** - Particle animation speed. - :ref:`Texture` **anim_speed_curve** - Each particle's animation speed will vary along this [CurveTexture]. - :ref:`float` **anim_speed_random** - Animation speed randomness ratio. Default value: [code]0[/code]. - :ref:`Color` **color** - Each particle's initial color. If the [Particle2D]'s [code]texture[/code] is defined, it will be multiplied by this color. - :ref:`Texture` **color_ramp** - Each particle's color will vary along this [GradientTexture]. - :ref:`float` **damping** - The rate at which particles lose velocity. - :ref:`Texture` **damping_curve** - Damping will vary along this [CurveTexture]. - :ref:`float` **damping_random** - Damping randomness ratio. Default value: [code]0[/code]. - :ref:`Vector3` **emission_box_extents** - The box's extents if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_BOX[/code]. - :ref:`Texture` **emission_color_texture** - :ref:`Texture` **emission_normal_texture** - :ref:`int` **emission_point_count** - The number of emission points if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_POINTS[/code] or [code]EMISSION_SHAPE_DIRECTED_POINTS[/code]. - :ref:`Texture` **emission_point_texture** - :ref:`int` **emission_shape** - Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values. Default value: [code]EMISSION_SHAPE_POINT[/code]. - :ref:`float` **emission_sphere_radius** - The sphere's radius if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_SPHERE[/code]. - :ref:`bool` **flag_align_y** - :ref:`bool` **flag_disable_z** - If [code]true[/code] particles will not move on the z axis. Default value: [code]true[/code] for [Particles2D], [code]false[/code] for [Particles]. - :ref:`bool` **flag_rotate_y** - :ref:`float` **flatness** - :ref:`Vector3` **gravity** - Gravity applied to every particle. Default value: [code](0, 98, 0)[/code]. - :ref:`float` **hue_variation** - Initial hue variation applied to each particle. - :ref:`Texture` **hue_variation_curve** - Each particle's hue will vary along this [CurveTexture]. - :ref:`float` **hue_variation_random** - Hue variation randomness ratio. Default value: [code]0[/code]. - :ref:`float` **initial_velocity** - Initial velocity for each particle. - :ref:`float` **initial_velocity_random** - Initial velocity randomness ratio. Default value: [code]0[/code]. - :ref:`float` **linear_accel** - Linear acceleration applied to each particle. - :ref:`Texture` **linear_accel_curve** - Each particle's linear acceleration will vary along this [CurveTexture]. - :ref:`float` **linear_accel_random** - Linear acceleration randomness ratio. Default value: [code]0[/code]. - :ref:`float` **orbit_velocity** - Orbital velocity applied to each particle. - :ref:`Texture` **orbit_velocity_curve** - Each particle's orbital velocity will vary along this [CurveTexture]. - :ref:`float` **orbit_velocity_random** - Orbital velocity randomness ratio. Default value: [code]0[/code]. - :ref:`float` **radial_accel** - Linear acceleration applied to each particle. - :ref:`Texture` **radial_accel_curve** - Each particle's radial acceleration will vary along this [CurveTexture]. - :ref:`float` **radial_accel_random** - Radial acceleration randomness ratio. Default value: [code]0[/code]. - :ref:`float` **scale** - Initial scale applied to each particle. - :ref:`Texture` **scale_curve** - Each particle's scale will vary along this [CurveTexture]. - :ref:`float` **scale_random** - Scale randomness ratio. Default value: [code]0[/code]. - :ref:`float` **spread** - Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code]. - :ref:`float` **tangential_accel** - Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity. - :ref:`Texture` **tangential_accel_curve** - Each particle's tangential acceleration will vary along this [CurveTexture]. - :ref:`float` **tangential_accel_random** - Tangential acceleration randomness ratio. Default value: [code]0[/code]. - :ref:`GradientTexture` **trail_color_modifier** - Trail particles' color will vary along this [GradientTexture]. - :ref:`int` **trail_divisor** - Emitter will emit [code]amount[/code] divided by [code]trail_divisor[/code] particles. The remaining particles will be used as trail(s). - :ref:`CurveTexture` **trail_size_modifier** - Trail particles' size will vary along this [CurveTexture]. Numeric Constants ----------------- - **PARAM_INITIAL_LINEAR_VELOCITY** = **0** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set initial velocity properties. - **PARAM_ANGULAR_VELOCITY** = **1** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set angular velocity properties. - **PARAM_ORBIT_VELOCITY** = **2** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set orbital_velocity properties. - **PARAM_LINEAR_ACCEL** = **3** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set linear acceleration properties. - **PARAM_RADIAL_ACCEL** = **4** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set radial acceleration properties. - **PARAM_TANGENTIAL_ACCEL** = **5** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set tangential acceleration properties. - **PARAM_DAMPING** = **6** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set damping properties. - **PARAM_ANGLE** = **7** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set angle properties. - **PARAM_SCALE** = **8** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set scale properties. - **PARAM_HUE_VARIATION** = **9** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set hue_variation properties. - **PARAM_ANIM_SPEED** = **10** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set animation speed properties. - **PARAM_ANIM_OFFSET** = **11** --- Use with :ref:`set_param`, :ref:`set_param_randomness`, and :ref:`set_param_texture` to set animation offset properties. - **PARAM_MAX** = **12** - **FLAG_ALIGN_Y_TO_VELOCITY** = **0** --- Use with :ref:`set_flag` to set member flag_align_y. - **FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_flag` to set member flag_rotate_y - **FLAG_MAX** = **4** - **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** - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** Description ----------- ParticlesMaterial defines particle properties and behavior. It is used in the ``process_material`` of :ref:`Particles` and :ref:`Particles2D` emitter nodes. Some of this material's properties are applied to each particle when emitted, while others can have a :ref:`CurveTexture` applied to vary values over the lifetime of the particle. Member Function Description --------------------------- .. _class_ParticlesMaterial_get_color: - :ref:`Color` **get_color** **(** **)** const .. _class_ParticlesMaterial_get_color_ramp: - :ref:`Texture` **get_color_ramp** **(** **)** const .. _class_ParticlesMaterial_get_emission_box_extents: - :ref:`Vector3` **get_emission_box_extents** **(** **)** const .. _class_ParticlesMaterial_get_emission_color_texture: - :ref:`Texture` **get_emission_color_texture** **(** **)** const .. _class_ParticlesMaterial_get_emission_normal_texture: - :ref:`Texture` **get_emission_normal_texture** **(** **)** const .. _class_ParticlesMaterial_get_emission_point_count: - :ref:`int` **get_emission_point_count** **(** **)** const .. _class_ParticlesMaterial_get_emission_point_texture: - :ref:`Texture` **get_emission_point_texture** **(** **)** const .. _class_ParticlesMaterial_get_emission_shape: - :ref:`int` **get_emission_shape** **(** **)** const .. _class_ParticlesMaterial_get_emission_sphere_radius: - :ref:`float` **get_emission_sphere_radius** **(** **)** const .. _class_ParticlesMaterial_get_flag: - :ref:`bool` **get_flag** **(** :ref:`int` flag **)** const .. _class_ParticlesMaterial_get_flatness: - :ref:`float` **get_flatness** **(** **)** const .. _class_ParticlesMaterial_get_gravity: - :ref:`Vector3` **get_gravity** **(** **)** const .. _class_ParticlesMaterial_get_param: - :ref:`float` **get_param** **(** :ref:`int` param **)** const .. _class_ParticlesMaterial_get_param_randomness: - :ref:`float` **get_param_randomness** **(** :ref:`int` param **)** const .. _class_ParticlesMaterial_get_param_texture: - :ref:`Texture` **get_param_texture** **(** :ref:`int` param **)** const .. _class_ParticlesMaterial_get_spread: - :ref:`float` **get_spread** **(** **)** const .. _class_ParticlesMaterial_get_trail_color_modifier: - :ref:`GradientTexture` **get_trail_color_modifier** **(** **)** const .. _class_ParticlesMaterial_get_trail_divisor: - :ref:`int` **get_trail_divisor** **(** **)** const .. _class_ParticlesMaterial_get_trail_size_modifier: - :ref:`CurveTexture` **get_trail_size_modifier** **(** **)** const .. _class_ParticlesMaterial_set_color: - void **set_color** **(** :ref:`Color` color **)** .. _class_ParticlesMaterial_set_color_ramp: - void **set_color_ramp** **(** :ref:`Texture` ramp **)** .. _class_ParticlesMaterial_set_emission_box_extents: - void **set_emission_box_extents** **(** :ref:`Vector3` extents **)** .. _class_ParticlesMaterial_set_emission_color_texture: - void **set_emission_color_texture** **(** :ref:`Texture` texture **)** .. _class_ParticlesMaterial_set_emission_normal_texture: - void **set_emission_normal_texture** **(** :ref:`Texture` texture **)** .. _class_ParticlesMaterial_set_emission_point_count: - void **set_emission_point_count** **(** :ref:`int` point_count **)** .. _class_ParticlesMaterial_set_emission_point_texture: - void **set_emission_point_texture** **(** :ref:`Texture` texture **)** .. _class_ParticlesMaterial_set_emission_shape: - void **set_emission_shape** **(** :ref:`int` shape **)** .. _class_ParticlesMaterial_set_emission_sphere_radius: - void **set_emission_sphere_radius** **(** :ref:`float` radius **)** .. _class_ParticlesMaterial_set_flag: - void **set_flag** **(** :ref:`int` flag, :ref:`bool` enable **)** .. _class_ParticlesMaterial_set_flatness: - void **set_flatness** **(** :ref:`float` amount **)** .. _class_ParticlesMaterial_set_gravity: - void **set_gravity** **(** :ref:`Vector3` accel_vec **)** .. _class_ParticlesMaterial_set_param: - void **set_param** **(** :ref:`int` param, :ref:`float` value **)** .. _class_ParticlesMaterial_set_param_randomness: - void **set_param_randomness** **(** :ref:`int` param, :ref:`float` randomness **)** .. _class_ParticlesMaterial_set_param_texture: - void **set_param_texture** **(** :ref:`int` param, :ref:`Texture` texture **)** .. _class_ParticlesMaterial_set_spread: - void **set_spread** **(** :ref:`float` degrees **)** .. _class_ParticlesMaterial_set_trail_color_modifier: - void **set_trail_color_modifier** **(** :ref:`GradientTexture` texture **)** .. _class_ParticlesMaterial_set_trail_divisor: - void **set_trail_divisor** **(** :ref:`int` divisor **)** .. _class_ParticlesMaterial_set_trail_size_modifier: - void **set_trail_size_modifier** **(** :ref:`CurveTexture` texture **)**