ParticlesMaterial
Inherits: Material < Resource < Reference < Object
Particles 和 Particles2D 节点的粒子属性。
描述
ParticlesMaterial定义了粒子的属性和行为。它可用于Particles和Particles2D发射器节点的process_material
中。
这个材质的一些属性在发射时被应用到每个粒子上,而其他属性可以应用CurveTexture来在粒子的生命周期中改变数值。
当随机性比率被应用到一个属性时,用来以一个随机量来扩展该属性。随机率用来在1.0
和一个小于1的随机数之间插值,结果乘以属性,得到随机的属性。例如,一个0.4
的随机比率将在0.4-1.0
之间缩放原始属性的原值。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
方法
get_param_randomness ( Parameter param ) const | |
get_param_texture ( Parameter param ) const | |
void | |
void | |
void | set_param_randomness ( Parameter param, float randomness ) |
void | set_param_texture ( Parameter param, Texture texture ) |
枚举
enum Parameter:
PARAM_INITIAL_LINEAR_VELOCITY = 0 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置初始速度属性。
PARAM_ANGULAR_VELOCITY = 1 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置角速度属性。
PARAM_ORBIT_VELOCITY = 2 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置轨道速度属性。
PARAM_LINEAR_ACCEL = 3 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置线性加速属性。
PARAM_RADIAL_ACCEL = 4 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置径向加速度属性。
PARAM_TANGENTIAL_ACCEL = 5 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置切向加速度属性。
PARAM_DAMPING = 6 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置阻尼属性。
PARAM_ANGLE = 7 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置角度属性。
PARAM_SCALE = 8 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置缩放属性。
PARAM_HUE_VARIATION = 9 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置色调变化属性。
PARAM_ANIM_SPEED = 10 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置动画速度属性。
PARAM_ANIM_OFFSET = 11 —- 用于在 set_param、set_param_randomness 和 set_param_texture 中设置动画偏移属性。
PARAM_MAX = 12 —- 表示Parameter枚举的大小。
enum Flags:
FLAG_ALIGN_Y_TO_VELOCITY = 0 —- 用于在 set_flag 中设置 flag_align_y。
FLAG_ROTATE_Y = 1 —- 用于在 set_flag 中设置 flag_rotate_y。
FLAG_DISABLE_Z = 2 —- 用于在 set_flag 中设置 flag_disable_z。
FLAG_MAX = 3 —- 表示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枚举的大小。
属性说明
- float angle
Default |
|
Setter | set_param(value) |
Getter | get_param() |
应用于每个粒子的初始旋转,以度为单位。
注意:仅在 flag_disable_z 或 flag_rotate_y 为 true
或用于绘制粒子的 SpatialMaterial 使用 SpatialMaterial.BILLBOARD_PARTICLES 时应用。
- Texture angle_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的旋转将沿着这个CurveTexture动画。
- float angle_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
旋转随机率。
- float angular_velocity
Default |
|
Setter | set_param(value) |
Getter | get_param() |
应用于每个粒子的初始角速度,单位为度每秒。设置粒子的旋转速度。
注意:仅在 flag_disable_z 或 flag_rotate_y 为 true
或用于绘制粒子的 SpatialMaterial 使用 SpatialMaterial.BILLBOARD_PARTICLES 时应用。
- Texture angular_velocity_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的角速度将沿着这个CurveTexture变化。
- float angular_velocity_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
角速度随机率。
- float anim_offset
Default |
|
Setter | set_param(value) |
Getter | get_param() |
粒子动画偏移量。
- Texture anim_offset_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的动画偏移将沿着这个CurveTexture变化。
- float anim_offset_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
动画偏移随机率。
- float anim_speed
Default |
|
Setter | set_param(value) |
Getter | get_param() |
粒子动画速度。
- Texture anim_speed_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的动画速度将沿着这个CurveTexture变化。
- float anim_speed_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
动画速度随机率。
- Color color
Default |
|
Setter | set_color(value) |
Getter | get_color() |
每个粒子的初始颜色。如果定义了 Particles2D 的 texture
,它将乘以该颜色。要在 SpatialMaterial 中使用粒子显示颜色,请确保将 SpatialMaterial.vertex_color_use_as_albedo 设置为 true
。
- Texture color_initial_ramp
Setter | set_color_initial_ramp(value) |
Getter | get_color_initial_ramp() |
Each particle’s initial color will vary along this GradientTexture (multiplied with color).
- Texture color_ramp
Setter | set_color_ramp(value) |
Getter | get_color_ramp() |
每个粒子的颜色将在其生命周期内随着这个GradientTexture变化,即与color相乘。
- float damping
Default |
|
Setter | set_param(value) |
Getter | get_param() |
粒子失去速度的速率。
- Texture damping_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
阻尼将沿着这个CurveTexture变化。
- float damping_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
阻尼随机率。
- Vector3 direction
Default |
|
Setter | set_direction(value) |
Getter | get_direction() |
指定粒子发射方向的单位向量。
- Vector3 emission_box_extents
Setter | set_emission_box_extents(value) |
Getter | get_emission_box_extents() |
emission_shape
设置为EMISSION_SHAPE_BOX时,Box的范围。
- Texture emission_color_texture
Setter | set_emission_color_texture(value) |
Getter | get_emission_color_texture() |
粒子颜色将由颜色调制,颜色由采样纹理在与emission_point_texture相同的点决定。
- Texture emission_normal_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_POINTS或EMISSION_SHAPE_DIRECTED_POINTS,时的释放粒子数。
- Texture emission_point_texture
Setter | set_emission_point_texture(value) |
Getter | get_emission_point_texture() |
粒子将被发射到由随机采样纹理所决定的位置。与EMISSION_SHAPE_POINTS和EMISSION_SHAPE_DIRECTED_POINTS一起使用。可以通过选择工具栏中的“粒子”工具下的“从网格/节点中创建发射点”自动创建网格或节点。
- Vector3 emission_ring_axis
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。
- EmissionShape emission_shape
Default |
|
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时,球体的半径。
- bool flag_align_y
Default |
|
Setter | set_flag(value) |
Getter | get_flag() |
将粒子的Y轴与其速度方向对齐。
- bool flag_disable_z
Default |
|
Setter | set_flag(value) |
Getter | get_flag() |
如果true
,则粒子将不会在z轴上移动。
- bool flag_rotate_y
Default |
|
Setter | set_flag(value) |
Getter | get_flag() |
如果true
,粒子绕Y轴旋转angle。
- float flatness
Default |
|
Setter | set_flatness(value) |
Getter | get_flatness() |
沿 Y 轴的 spread 量。
- Vector3 gravity
Default |
|
Setter | set_gravity(value) |
Getter | get_gravity() |
重力作用于每个粒子。
- float hue_variation
Default |
|
Setter | set_param(value) |
Getter | get_param() |
初始色调变化应用于每个粒子。
- Texture hue_variation_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的色调将沿着这个CurveTexture变化。
- float hue_variation_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
色相变化随机率。
- float initial_velocity
Default |
|
Setter | set_param(value) |
Getter | get_param() |
每个粒子的初始速度大小。方向来自spread和节点的方向。
- float initial_velocity_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
初始速度随机率。
- float lifetime_randomness
Default |
|
Setter | set_lifetime_randomness(value) |
Getter | get_lifetime_randomness() |
粒子寿命随机率。
- float linear_accel
Default |
|
Setter | set_param(value) |
Getter | get_param() |
沿运动方向施加到每个粒子的线性加速度。
- Texture linear_accel_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的线性加速度将沿着这个CurveTexture变化。
- float linear_accel_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
线性加速度随机率。
- float orbit_velocity
Setter | set_param(value) |
Getter | get_param() |
每个粒子的轨道速度。使粒子绕原点旋转。以每秒绕原点的完整旋转数指定。
注意:仅当 flag_disable_z 为 true
时可用。
- Texture orbit_velocity_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的轨道速度将沿着这个CurveTexture变化。
- float orbit_velocity_random
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
轨道速度随机率。
- float radial_accel
Default |
|
Setter | set_param(value) |
Getter | get_param() |
径向加速度应用于每个粒子。使粒子加速远离原点。
- Texture radial_accel_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的径向加速度将沿着这个CurveTexture变化。
- float radial_accel_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
径向加速度随机率。
- float scale
Default |
|
Setter | set_param(value) |
Getter | get_param() |
初始比例应用于每个粒子。
- Texture scale_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的比例将沿着这个CurveTexture变化。
- float scale_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
标度随机率。
- float spread
Default |
|
Setter | set_spread(value) |
Getter | get_spread() |
每个粒子的初始方向范围为+spread
到 -spread
度。
- float tangential_accel
Default |
|
Setter | set_param(value) |
Getter | get_param() |
切向加速度应用于每个粒子。切向加速度垂直于粒子的速度,使粒子产生涡旋运动。
- Texture tangential_accel_curve
Setter | set_param_texture(value) |
Getter | get_param_texture() |
每个粒子的切向加速度将沿着这个CurveTexture变化。
- float tangential_accel_random
Default |
|
Setter | set_param_randomness(value) |
Getter | get_param_randomness() |
切向加速度随机率。
- GradientTexture trail_color_modifier
Setter | set_trail_color_modifier(value) |
Getter | get_trail_color_modifier() |
轨迹粒子的颜色将沿着这个GradientTexture变化。
- int trail_divisor
Default |
|
Setter | set_trail_divisor(value) |
Getter | get_trail_divisor() |
发射器将发射amount
除以trail_visor
的粒子。剩下的粒子将作为轨迹使用。
- CurveTexture trail_size_modifier
Setter | set_trail_size_modifier(value) |
Getter | get_trail_size_modifier() |
轨迹粒子的大小将沿着这个CurveTexture变化。
方法说明
如果指定的Flag被启用,返回true
。
返回指定参数的值。
返回与指定参数关联的随机比率。
返回指定参数使用的 Texture。
如果true
,启用指定的Flag。选项请参阅Flags。
设置指定的Parameter。
为指定的Parameter设置随机比率。