ParticlesMaterial

Inherits: Material < Resource < Reference < Object

ParticlesParticles2D 节点的粒子属性。

描述

ParticlesMaterial定义了粒子的属性和行为。它可用于ParticlesParticles2D发射器节点的process_material中。

这个材质的一些属性在发射时被应用到每个粒子上,而其他属性可以应用CurveTexture来在粒子的生命周期中改变数值。

当随机性比率被应用到一个属性时,用来以一个随机量来扩展该属性。随机率用来在1.0和一个小于1的随机数之间插值,结果乘以属性,得到随机的属性。例如,一个0.4的随机比率将在0.4-1.0之间缩放原始属性的原值。

属性

float

angle

0.0

Texture

angle_curve

float

angle_random

0.0

float

angular_velocity

0.0

Texture

angular_velocity_curve

float

angular_velocity_random

0.0

float

anim_offset

0.0

Texture

anim_offset_curve

float

anim_offset_random

0.0

float

anim_speed

0.0

Texture

anim_speed_curve

float

anim_speed_random

0.0

Color

color

Color( 1, 1, 1, 1 )

Texture

color_initial_ramp

Texture

color_ramp

float

damping

0.0

Texture

damping_curve

float

damping_random

0.0

Vector3

direction

Vector3( 1, 0, 0 )

Vector3

emission_box_extents

Texture

emission_color_texture

Texture

emission_normal_texture

int

emission_point_count

Texture

emission_point_texture

Vector3

emission_ring_axis

float

emission_ring_height

float

emission_ring_inner_radius

float

emission_ring_radius

EmissionShape

emission_shape

0

float

emission_sphere_radius

bool

flag_align_y

false

bool

flag_disable_z

false

bool

flag_rotate_y

false

float

flatness

0.0

Vector3

gravity

Vector3( 0, -9.8, 0 )

float

hue_variation

0.0

Texture

hue_variation_curve

float

hue_variation_random

0.0

float

initial_velocity

0.0

float

initial_velocity_random

0.0

float

lifetime_randomness

0.0

float

linear_accel

0.0

Texture

linear_accel_curve

float

linear_accel_random

0.0

float

orbit_velocity

Texture

orbit_velocity_curve

float

orbit_velocity_random

float

radial_accel

0.0

Texture

radial_accel_curve

float

radial_accel_random

0.0

float

scale

1.0

Texture

scale_curve

float

scale_random

0.0

float

spread

45.0

float

tangential_accel

0.0

Texture

tangential_accel_curve

float

tangential_accel_random

0.0

GradientTexture

trail_color_modifier

int

trail_divisor

1

CurveTexture

trail_size_modifier

方法

bool

get_flag ( Flags flag ) const

float

get_param ( Parameter param ) const

float

get_param_randomness ( Parameter param ) const

Texture

get_param_texture ( Parameter param ) const

void

set_flag ( Flags flag, bool enable )

void

set_param ( Parameter param, float value )

void

set_param_randomness ( Parameter param, float randomness )

void

set_param_texture ( Parameter param, Texture texture )

枚举

enum Parameter:


enum Flags:


enum EmissionShape:

  • EMISSION_SHAPE_POINT = 0 —- 所有粒子将从一个点发射。

  • EMISSION_SHAPE_SPHERE = 1 —- 粒子将在球体的体积中发射。

  • EMISSION_SHAPE_BOX = 2 —- 粒子将在盒子的体积中发射。

  • EMISSION_SHAPE_POINTS = 3 —- 粒子将在emission_point_texture上随机采样点所决定的位置发射。粒子颜色将由emission_color_texture调节。

  • EMISSION_SHAPE_DIRECTED_POINTS = 4 —- 粒子将在emission_point_texture上随机采样点所决定的位置发射。粒子速度和旋转将基于emission_normal_texture进行设置。粒子颜色将由emission_color_texture调节。

  • EMISSION_SHAPE_RING = 5 —- 粒子将以环形或圆柱的形式发射出来。

  • EMISSION_SHAPE_MAX = 6 —- 表示EmissionShape枚举的大小。

属性说明

Default

0.0

Setter

set_param(value)

Getter

get_param()

应用于每个粒子的初始旋转,以度为单位。

注意:仅在 flag_disable_zflag_rotate_ytrue 或用于绘制粒子的 SpatialMaterial 使用 SpatialMaterial.BILLBOARD_PARTICLES 时应用。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的旋转将沿着这个CurveTexture动画。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

旋转随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

应用于每个粒子的初始角速度,单位为每秒。设置粒子的旋转速度。

注意:仅在 flag_disable_zflag_rotate_ytrue 或用于绘制粒子的 SpatialMaterial 使用 SpatialMaterial.BILLBOARD_PARTICLES 时应用。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的角速度将沿着这个CurveTexture变化。


  • float angular_velocity_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

角速度随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

粒子动画偏移量。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的动画偏移将沿着这个CurveTexture变化。


  • float anim_offset_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

动画偏移随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

粒子动画速度。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的动画速度将沿着这个CurveTexture变化。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

动画速度随机率。


Default

Color( 1, 1, 1, 1 )

Setter

set_color(value)

Getter

get_color()

每个粒子的初始颜色。如果定义了 Particles2Dtexture,它将乘以该颜色。要在 SpatialMaterial 中使用粒子显示颜色,请确保将 SpatialMaterial.vertex_color_use_as_albedo 设置为 true


Setter

set_color_initial_ramp(value)

Getter

get_color_initial_ramp()

Each particle’s initial color will vary along this GradientTexture (multiplied with color).


Setter

set_color_ramp(value)

Getter

get_color_ramp()

每个粒子的颜色将在其生命周期内随着这个GradientTexture变化,即与color相乘。


Default

0.0

Setter

set_param(value)

Getter

get_param()

粒子失去速度的速率。


Setter

set_param_texture(value)

Getter

get_param_texture()

阻尼将沿着这个CurveTexture变化。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

阻尼随机率。


Default

Vector3( 1, 0, 0 )

Setter

set_direction(value)

Getter

get_direction()

指定粒子发射方向的单位向量。


Setter

set_emission_box_extents(value)

Getter

get_emission_box_extents()

emission_shape设置为EMISSION_SHAPE_BOX时,Box的范围。


Setter

set_emission_color_texture(value)

Getter

get_emission_color_texture()

粒子颜色将由颜色调制,颜色由采样纹理在与emission_point_texture相同的点决定。


Setter

set_emission_normal_texture(value)

Getter

get_emission_normal_texture()

粒子的速度和旋转将通过在与emission_point_texture相同的点上对该纹理进行采样来设置。仅在EMISSION_SHAPE_DIRECTED_POINTS中使用。可以通过选择工具栏中 “粒子 “工具下的 “从网格/节点创建发射点”,从网格或节点自动创建。


  • int emission_point_count

Setter

set_emission_point_count(value)

Getter

get_emission_point_count()

emission_shape设置为EMISSION_SHAPE_POINTSEMISSION_SHAPE_DIRECTED_POINTS,时的释放粒子数。


Setter

set_emission_point_texture(value)

Getter

get_emission_point_texture()

粒子将被发射到由随机采样纹理所决定的位置。与EMISSION_SHAPE_POINTSEMISSION_SHAPE_DIRECTED_POINTS一起使用。可以通过选择工具栏中的“粒子”工具下的“从网格/节点中创建发射点”自动创建网格或节点。


Setter

set_emission_ring_axis(value)

Getter

get_emission_ring_axis()

使用发射器时的环轴 EMISSION_SHAPE_RING


  • float emission_ring_height

Setter

set_emission_ring_height(value)

Getter

get_emission_ring_height()

使用发射器时环的高度 EMISSION_SHAPE_RING


  • float emission_ring_inner_radius

Setter

set_emission_ring_inner_radius(value)

Getter

get_emission_ring_inner_radius()

使用发射器时环的内半径 EMISSION_SHAPE_RING


  • float emission_ring_radius

Setter

set_emission_ring_radius(value)

Getter

get_emission_ring_radius()

使用发射器时的圆环半径 EMISSION_SHAPE_RING


Default

0

Setter

set_emission_shape(value)

Getter

get_emission_shape()

粒子将在这个区域内发射。使用EmissionShape常量作为值。


  • float emission_sphere_radius

Setter

set_emission_sphere_radius(value)

Getter

get_emission_sphere_radius()

emission_shape设置为EMISSION_SHAPE_SPHERE时,球体的半径。


Default

false

Setter

set_flag(value)

Getter

get_flag()

将粒子的Y轴与其速度方向对齐。


  • bool flag_disable_z

Default

false

Setter

set_flag(value)

Getter

get_flag()

如果true,则粒子将不会在z轴上移动。


Default

false

Setter

set_flag(value)

Getter

get_flag()

如果true,粒子绕Y轴旋转angle


Default

0.0

Setter

set_flatness(value)

Getter

get_flatness()

沿 Y 轴的 spread 量。


Default

Vector3( 0, -9.8, 0 )

Setter

set_gravity(value)

Getter

get_gravity()

重力作用于每个粒子。


Default

0.0

Setter

set_param(value)

Getter

get_param()

初始色调变化应用于每个粒子。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的色调将沿着这个CurveTexture变化。


  • float hue_variation_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

色相变化随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

每个粒子的初始速度大小。方向来自spread和节点的方向。


  • float initial_velocity_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

初始速度随机率。


  • float lifetime_randomness

Default

0.0

Setter

set_lifetime_randomness(value)

Getter

get_lifetime_randomness()

粒子寿命随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

沿运动方向施加到每个粒子的线性加速度。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的线性加速度将沿着这个CurveTexture变化。


  • float linear_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

线性加速度随机率。


Setter

set_param(value)

Getter

get_param()

每个粒子的轨道速度。使粒子绕原点旋转。以每秒绕原点的完整旋转数指定。

注意:仅当 flag_disable_ztrue 时可用。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的轨道速度将沿着这个CurveTexture变化。


  • float orbit_velocity_random

Setter

set_param_randomness(value)

Getter

get_param_randomness()

轨道速度随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

径向加速度应用于每个粒子。使粒子加速远离原点。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的径向加速度将沿着这个CurveTexture变化。


  • float radial_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

径向加速度随机率。


Default

1.0

Setter

set_param(value)

Getter

get_param()

初始比例应用于每个粒子。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的比例将沿着这个CurveTexture变化。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

标度随机率。


Default

45.0

Setter

set_spread(value)

Getter

get_spread()

每个粒子的初始方向范围为+spread-spread度。


Default

0.0

Setter

set_param(value)

Getter

get_param()

切向加速度应用于每个粒子。切向加速度垂直于粒子的速度,使粒子产生涡旋运动。


Setter

set_param_texture(value)

Getter

get_param_texture()

每个粒子的切向加速度将沿着这个CurveTexture变化。


  • float tangential_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

切向加速度随机率。


Setter

set_trail_color_modifier(value)

Getter

get_trail_color_modifier()

轨迹粒子的颜色将沿着这个GradientTexture变化。


  • int trail_divisor

Default

1

Setter

set_trail_divisor(value)

Getter

get_trail_divisor()

发射器将发射amount除以trail_visor的粒子。剩下的粒子将作为轨迹使用。


Setter

set_trail_size_modifier(value)

Getter

get_trail_size_modifier()

轨迹粒子的大小将沿着这个CurveTexture变化。

方法说明

如果指定的Flag被启用,返回true


返回指定参数的值。


返回与指定参数关联的随机比率。


返回指定参数使用的 Texture


如果true,启用指定的Flag。选项请参阅Flags


设置指定的Parameter


为指定的Parameter设置随机比率。


为指定的 Parameter 设置 Texture