ParticleProcessMaterial
继承: Material < Resource < RefCounted < Object
保存用于 GPUParticles2D 或 GPUParticles3D 节点的粒子配置。
描述
ParticleProcessMaterial 定义了粒子的属性和行为。GPUParticles3D 和 GPUParticles2D 节点的 process_material
会使用这种材质。这种材质的有些属性是在粒子发射时应用的,有些则会应用 CurveTexture 或 GradientTexture1D 让数值或颜色值在粒子的生命周期中不断变化。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
get_param_max(param: Parameter) const | |
get_param_min(param: Parameter) const | |
get_param_texture(param: Parameter) const | |
get_particle_flag(particle_flag: ParticleFlags) const | |
void | |
void | set_param_max(param: Parameter, value: float) |
void | set_param_min(param: Parameter, value: float) |
void | set_param_texture(param: Parameter, texture: Texture2D) |
void | set_particle_flag(particle_flag: ParticleFlags, enable: bool) |
枚举
enum Parameter: 🔗
Parameter PARAM_INITIAL_LINEAR_VELOCITY = 0
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置初始速度属性。
Parameter PARAM_ANGULAR_VELOCITY = 1
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置角速度属性。
Parameter PARAM_ORBIT_VELOCITY = 2
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置轨道速度属性。
Parameter PARAM_LINEAR_ACCEL = 3
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置线速度属性。
Parameter PARAM_RADIAL_ACCEL = 4
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置径向加速度属性。
Parameter PARAM_TANGENTIAL_ACCEL = 5
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置切向加速度属性。
Parameter PARAM_DAMPING = 6
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置阻尼属性。
Parameter PARAM_ANGLE = 7
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置角度属性。
Parameter PARAM_SCALE = 8
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置缩放属性。
Parameter PARAM_HUE_VARIATION = 9
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置色相变化属性。
Parameter PARAM_ANIM_SPEED = 10
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置动画速度属性。
Parameter PARAM_ANIM_OFFSET = 11
与 set_param_min、set_param_max 和 set_param_texture 一起使用,设置动画偏移属性。
Parameter PARAM_RADIAL_VELOCITY = 15
与 set_param_min、set_param_max 和 set_param_texture 一起使用来设置径向速度属性。
Parameter PARAM_DIRECTIONAL_VELOCITY = 16
与 set_param_min、set_param_max 和 set_param_texture 一起使用来设置定向速度属性。
Parameter PARAM_SCALE_OVER_VELOCITY = 17
与 set_param_min、set_param_max 和 set_param_texture 一起使用来设置速度属性的缩放。
Parameter PARAM_MAX = 18
代表 Parameter 枚举的大小。
Parameter PARAM_TURB_VEL_INFLUENCE = 13
与 set_param_min 和 set_param_max 一起使用,以设置湍流对每个粒子速度的最小和最大影响。
Parameter PARAM_TURB_INIT_DISPLACEMENT = 14
与 set_param_min 和 set_param_max 一起使用,以设置粒子出生位置的湍流最小和最大位移。
Parameter PARAM_TURB_INFLUENCE_OVER_LIFE = 12
与 set_param_texture 一起使用,以设置湍流对粒子寿命的影响。
enum ParticleFlags: 🔗
ParticleFlags PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY = 0
与 set_particle_flag 一起使用,设置 particle_flag_align_y。
ParticleFlags PARTICLE_FLAG_ROTATE_Y = 1
与 set_particle_flag 一起使用,设置 particle_flag_rotate_y。
ParticleFlags PARTICLE_FLAG_DISABLE_Z = 2
与 set_particle_flag 一起使用,设置particle_flag_disable_z。
ParticleFlags PARTICLE_FLAG_DAMPING_AS_FRICTION = 3
该枚举目前没有描述,请帮我们贡献一个吧!
ParticleFlags PARTICLE_FLAG_MAX = 4
代表 ParticleFlags 枚举的大小。
enum EmissionShape: 🔗
EmissionShape EMISSION_SHAPE_POINT = 0
所有粒子将从单个点发射。
EmissionShape EMISSION_SHAPE_SPHERE = 1
粒子将在球体的体积中发射。
EmissionShape EMISSION_SHAPE_SPHERE_SURFACE = 2
粒子将在球体表面发射。
EmissionShape EMISSION_SHAPE_BOX = 3
粒子将在盒子的体积中发射。
EmissionShape EMISSION_SHAPE_POINTS = 4
粒子将在 emission_point_texture 上随机采样点所决定的位置发射。粒子颜色将由 emission_color_texture 调节。
EmissionShape EMISSION_SHAPE_DIRECTED_POINTS = 5
粒子将在 emission_point_texture 上随机采样点所决定的位置发射。粒子速度和旋转将基于 emission_normal_texture 进行设置。粒子颜色将由 emission_color_texture 调节。
EmissionShape EMISSION_SHAPE_RING = 6
粒子将以环形或圆柱的形式发射出来。
EmissionShape EMISSION_SHAPE_MAX = 7
代表 EmissionShape 枚举的大小。
enum SubEmitterMode: 🔗
SubEmitterMode SUB_EMITTER_DISABLED = 0
该枚举目前没有描述,请帮我们贡献一个吧!
SubEmitterMode SUB_EMITTER_CONSTANT = 1
该枚举目前没有描述,请帮我们贡献一个吧!
SubEmitterMode SUB_EMITTER_AT_END = 2
该枚举目前没有描述,请帮我们贡献一个吧!
SubEmitterMode SUB_EMITTER_AT_COLLISION = 3
该枚举目前没有描述,请帮我们贡献一个吧!
SubEmitterMode SUB_EMITTER_MAX = 4
代表 SubEmitterMode 枚举的大小。
enum CollisionMode: 🔗
CollisionMode COLLISION_DISABLED = 0
粒子没有碰撞。粒子会穿过 GPUParticlesCollision3D 节点。
CollisionMode COLLISION_RIGID = 1
为使用 GPUParticlesCollision3D 节点的粒子设置 RigidBody3D 风格的碰撞。
CollisionMode COLLISION_HIDE_ON_CONTACT = 2
与 GPUParticlesCollision3D 节点碰撞时立即隐藏粒子。可以和使用 COLLISION_RIGID 碰撞模式的子发射器组合,在撞击时将父粒子“替换”为子发射器。
CollisionMode COLLISION_MAX = 3
代表 CollisionMode 枚举的大小。
属性说明
每个粒子颜色的 alpha 值将在其生命周期内乘以该 CurveTexture。
每个粒子的旋转将沿着这个 CurveTexture 动画。
应用于每个粒子的最大初始旋转,以度为单位。
仅在 particle_flag_disable_z 或 particle_flag_rotate_y 为 true
,或 BaseMaterial3D 使用 BaseMaterial3D.BILLBOARD_PARTICLES 绘制粒子时应用。
angle_max 的对应最小值。
Texture2D angular_velocity_curve 🔗
在每个粒子生命周期内,其角速度(旋转速度)将沿着此 CurveTexture 变化。
float angular_velocity_max = 0.0
🔗
应用于每个粒子的最大初始角速度(旋转速度),以度每秒为单位。
仅在 particle_flag_disable_z 或 particle_flag_rotate_y 为 true
,或 BaseMaterial3D 使用 BaseMaterial3D.BILLBOARD_PARTICLES 绘制粒子时应用。
float angular_velocity_min = 0.0
🔗
angular_velocity_max 的对应最小值。
每个粒子的动画偏移将沿着这个 CurveTexture 变化。
与纹理中的帧索引相对应的最大动画偏移量。0
是第一帧,1
是最后一帧。参见 CanvasItemMaterial.particles_animation。
anim_offset_max 的对应最小值。
每个粒子的动画速度将沿着这个 CurveTexture 变化。
最大粒子动画速度。1
的动画速度是指粒子在生命周期内会做完整的 0
到 1
的偏移循环,2
则表示 2
个循环,如此等等。
当动画速度大于 1
时,如果希望动画重复,请记住启用 CanvasItemMaterial.particles_anim_loop 属性。
anim_speed_max 的对应最小值。
bool attractor_interaction_enabled = true
🔗
如果为 true
,则启用与粒子吸引器的交互。在 3D 中,吸引力仅发生在 GPUParticles3D 节点的 GPUParticles3D.visibility_aabb 定义的区域内。
粒子的弹性。值范围从 0
(无弹跳)到 1
(完全弹跳)。仅当 collision_mode 为 COLLISION_RIGID 时有效。
粒子的摩擦。值范围从 0
(无摩擦)到 1
(最大摩擦)。
CollisionMode collision_mode = 0
🔗
void set_collision_mode(value: CollisionMode)
CollisionMode get_collision_mode()
粒子的碰撞模式。
注意:3D 粒子只能与 GPUParticlesCollision3D 节点碰撞,无法与 PhysicsBody3D 节点碰撞。要使粒子与不同的物体碰撞,可以将 GPUParticlesCollision3D 节点添加为 PhysicsBody3D 节点的子节点。在 3D 中,碰撞仅发生在 GPUParticles3D 节点的 GPUParticles3D.visibility_aabb 定义的区域内。
注意:2D 粒子只能与 LightOccluder2D 节点碰撞,无法与 PhysicsBody2D 节点碰撞。
bool collision_use_scale = false
🔗
如果为 true
,GPUParticles3D.collision_base_size 乘以粒子的有效缩放(请参阅 scale_min、scale_max、scale_curve 和 scale_over_velocity_curve)。
Color color = Color(1, 1, 1, 1)
🔗
每个粒子的初始颜色。如果定义了 GPUParticles2D 的 texture
,它将乘以该颜色。
注意:color 乘以粒子网格的顶点颜色。要在 BaseMaterial3D 上产生可见效果,BaseMaterial3D.vertex_color_use_as_albedo 必须为 true
。对于 ShaderMaterial,必须在着色器的 fragment()
函数中插入 ALBEDO *= COLOR.rgb;
。否则,color 将没有可见效果。
Texture2D color_initial_ramp 🔗
每个粒子的初始颜色将沿着该 GradientTexture1D(乘以 color)而变化。
注意:color_initial_ramp 乘以粒子网格的顶点颜色。要在 BaseMaterial3D 上产生可见效果,BaseMaterial3D.vertex_color_use_as_albedo 必须为 true
。对于 ShaderMaterial,必须在着色器的 fragment()
函数中插入 ALBEDO *= COLOR.rgb;
。否则,color_initial_ramp 将没有可见效果。
每个粒子的颜色将在其生命周期内沿该 GradientTexture1D 变化(乘以 color)。
注意:color_ramp 乘以粒子网格的顶点颜色。要在 BaseMaterial3D 上产生可见效果,BaseMaterial3D.vertex_color_use_as_albedo 必须为 true
。对于 ShaderMaterial,必须在着色器的 fragment()
函数中插入 ALBEDO *= COLOR.rgb;
。否则,color_ramp 将没有可见效果。
阻尼将沿着这个 CurveTexture 变化。
粒子失去速度的最大速率。例如 100
的值表示粒子将在 1
秒内,速度从 100
变为 0
。
damping_max 的对应最小值。
Vector3 direction = Vector3(1, 0, 0)
🔗
指定粒子发射方向的单位向量。
Texture2D directional_velocity_curve 🔗
一条曲线,指定粒子系统在其生命周期内沿每个轴的速度。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float directional_velocity_max 🔗
最大方向速度值,乘以 directional_velocity_curve。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float directional_velocity_min 🔗
最小方向速度值,乘以 directional_velocity_curve。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
Vector3 emission_box_extents 🔗
如果 emission_shape 设置为 EMISSION_SHAPE_BOX,则为框的范围。
注意:emission_box_extents 从中心点开始,并在两个方向上应用 X、Y 和 Z 值。大小是范围区域的两倍。
Texture2D emission_color_texture 🔗
粒子颜色将被调制,调制使用的颜色将通过对该纹理在与 emission_point_texture 相同的点处进行采样来确定。
注意:emission_color_texture 乘以粒子网格的顶点颜色。要在 BaseMaterial3D 上产生可见效果,BaseMaterial3D.vertex_color_use_as_albedo 必须为 true
。对于 ShaderMaterial,必须在着色器的 fragment()
函数中插入 ALBEDO *= COLOR.rgb;
。否则,emission_color_texture 将没有可见效果。
每个粒子的颜色将在其生命周期内乘以该 CurveTexture。
注意:除非渲染材质被标记为无阴影,否则该属性不会产生可见效果。
Texture2D emission_normal_texture 🔗
粒子的速度和旋转将通过在与emission_point_texture相同的点上对该纹理进行采样来设置。仅在EMISSION_SHAPE_DIRECTED_POINTS中使用。可以通过选择工具栏中 “粒子 “工具下的 “从网格/节点创建发射点”,从网格或节点自动创建。
emission_shape 被设置为 EMISSION_SHAPE_POINTS 或 EMISSION_SHAPE_DIRECTED_POINTS 时,发射点的数量。
Texture2D emission_point_texture 🔗
粒子将被发射到由随机采样纹理所决定的位置。与EMISSION_SHAPE_POINTS和EMISSION_SHAPE_DIRECTED_POINTS一起使用。可以通过选择工具栏中的“粒子”工具下的“从网格/节点中创建发射点”自动创建网格或节点。
使用形为 EMISSION_SHAPE_RING 的发射器时环的轴。
使用形为 EMISSION_SHAPE_RING 的发射器时环的高度。
float emission_ring_inner_radius 🔗
使用形为 EMISSION_SHAPE_RING 的发射器时环的内半径。
使用形为 EMISSION_SHAPE_RING 的发射器时环的半径。
EmissionShape emission_shape = 0
🔗
void set_emission_shape(value: EmissionShape)
EmissionShape get_emission_shape()
粒子将在这个区域内发射。使用EmissionShape常量作为值。
Vector3 emission_shape_offset = Vector3(0, 0, 0)
🔗
emission_shape 在局部空间中的偏移量。
Vector3 emission_shape_scale = Vector3(1, 1, 1)
🔗
局部空间中 emission_shape 的缩放。
float emission_sphere_radius 🔗
emission_shape 被设置为 EMISSION_SHAPE_SPHERE 时,该球体的半径。
沿 Y 轴的 spread 量。
Vector3 gravity = Vector3(0, -9.8, 0)
🔗
应用于每个粒子的重力。
Texture2D hue_variation_curve 🔗
每个粒子的色调将沿着这个 CurveTexture 变化。
float hue_variation_max = 0.0
🔗
应用于每个粒子的最大初始色相变化。会改变粒子颜色的色相。
float hue_variation_min = 0.0
🔗
hue_variation_max 的对应最小值。
float inherit_velocity_ratio = 0.0
🔗
每个粒子在生成时继承的相应 GPUParticles2D 或 GPUParticles3D 的速度百分比。
float initial_velocity_max = 0.0
🔗
每个粒子的最大初始速度大小。方向来自 direction 和 spread。
float initial_velocity_min = 0.0
🔗
initial_velocity_max 的对应最小值。
float lifetime_randomness = 0.0
🔗
粒子寿命随机比率。粒子寿命的公式为 lifetime * (1.0 - randf() * lifetime_randomness)
。例如 lifetime_randomness 为 0.4
时,寿命会被缩放为原本的 0.6
到 1.0
倍。
Texture2D linear_accel_curve 🔗
每个粒子的线性加速度将沿着这个 CurveTexture 变化。
float linear_accel_max = 0.0
🔗
在运动方向上应用于每个粒子的最大线性加速度。
float linear_accel_min = 0.0
🔗
linear_accel_max 的对应最小值。
Texture2D orbit_velocity_curve 🔗
每个粒子的轨道速度将沿着该 CurveTexture 变化。
注意:对于 3D 轨道速度,请使用 CurveXYZTexture。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float orbit_velocity_max = 0.0
🔗
应用于每个粒子的最大轨道速度。使粒子围绕原点环绕。以每秒围绕原点的完整旋转次数指定。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float orbit_velocity_min = 0.0
🔗
orbit_velocity_max 的最小等效值。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
bool particle_flag_align_y = false
🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
将粒子的 Y 轴与其速度方向对齐。
bool particle_flag_damping_as_friction = false
🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
将阻尼属性的行为从线性减速度更改为基于速度百分比的减速度。
bool particle_flag_disable_z = false
🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
如果为 true
,则粒子将不会在 z 轴上移动。
bool particle_flag_rotate_y = false
🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
如果为 true
,则粒子绕 Y 轴旋转 angle_min。
Texture2D radial_accel_curve 🔗
每个粒子的径向加速度将沿着这个 CurveTexture 变化。
float radial_accel_max = 0.0
🔗
应用于每个粒子的最大径向加速度。使粒子加速远离原点;或如果为负,则加速靠近原点。
float radial_accel_min = 0.0
🔗
radial_accel_max 的对应最小值。
Texture2D radial_velocity_curve 🔗
一个 CurveTexture,定义粒子生命周期中远离(或朝向)velocity_pivot 的速度。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float radial_velocity_max = 0.0
🔗
应用于每个粒子的最大径向速度。使粒子远离 velocity_pivot,如果为负则朝它移动。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
float radial_velocity_min = 0.0
🔗
应用于每个粒子的最小径向速度。使粒子远离 velocity_pivot,如果为负则朝它移动。
注意:动画速度不会受到阻尼的影响,请使用 velocity_limit_curve 代替。
每个粒子的缩放将在其生命周期内沿着这个 CurveTexture 变化。如果改为提供一个 CurveXYZTexture,则缩放将按轴分离。
应用于每个粒子的最大初始缩放。
scale_max 对应的最小值。
Texture2D scale_over_velocity_curve 🔗
根据 CurveTexture 或 CurveXYZTexture 缩放每个粒子的速度。
float scale_over_velocity_max = 0.0
🔗
scale_over_velocity_curve 的最大速度参考值。
scale_over_velocity_curve 将在 scale_over_velocity_min 和 scale_over_velocity_max 之间插值。
float scale_over_velocity_min = 0.0
🔗
scale_over_velocity_curve 的最小速度参考值。
scale_over_velocity_curve 将在 scale_over_velocity_min 和 scale_over_velocity_max 之间插值。
每个粒子的初始方向范围,从 +spread
度到 -spread
度。
int sub_emitter_amount_at_collision 🔗
发生碰撞时从子发射器节点生成的粒子数量。当与主要粒子材质上的 COLLISION_HIDE_ON_CONTACT 结合使用时,可以用来实现雨滴撞击地面等效果。
注意:该值不应超过子发射器节点(不是主节点)上定义的 GPUParticles2D.amount 或 GPUParticles3D.amount,相对于子发射器的粒子寿命。如果超过粒子数量,则在足够的粒子过期之前,不会从子发射器中产生新的粒子。
int sub_emitter_amount_at_end 🔗
粒子过期时从子发射器节点生成的粒子数量。
注意:该值不应超过子发射器节点(不是主节点)上定义的 GPUParticles2D.amount 或 GPUParticles3D.amount,相对于子发射器的粒子寿命。如果超过粒子数量,则在足够的粒子过期之前,不会从子发射器中产生新的粒子。
从子发射器节点发射粒子的频率。每 sub_emitter_frequency 秒就会产生一个粒子。
注意:该值不应超过子发射器节点(不是主节点)上定义的 GPUParticles2D.amount 或 GPUParticles3D.amount,相对于子发射器的粒子寿命。如果超过粒子数量,则在足够的粒子过期之前,不会从子发射器中产生新的粒子。
bool sub_emitter_keep_velocity = false
🔗
如果为 true
,则子发射器在其生成时继承父粒子的速度。
SubEmitterMode sub_emitter_mode = 0
🔗
void set_sub_emitter_mode(value: SubEmitterMode)
SubEmitterMode get_sub_emitter_mode()
粒子子发射器模式(参见 GPUParticles2D.sub_emitter 和 GPUParticles3D.sub_emitter)。
Texture2D tangential_accel_curve 🔗
每个粒子的切向加速度将沿着这个 CurveTexture 变化。
float tangential_accel_max = 0.0
🔗
应用于每个粒子的最大切向加速度。切向加速度垂直于粒子的速度,从而使粒子产生涡旋运动。
float tangential_accel_min = 0.0
🔗
tangential_accel_max 的对应最小值。
bool turbulence_enabled = false
🔗
如果为 true
,则为粒子系统启用湍流。湍流可以(基于 3D 噪声图案)根据粒子的位置来改变粒子的移动。在 3D 中,可以用 GPUParticlesAttractorVectorField3D 和 NoiseTexture3D 作为世界空间湍流的平替,能够让不同粒子系统作出相同的反应。
注意:启用湍流对于 GPU 有较高的性能消耗。请最多只对少量粒子系统启用湍流,以移动/Web 平台作为目标时请考虑禁用湍流。
float turbulence_influence_max = 0.1
🔗
对每个粒子的最大湍流影响。
对每个粒子的实际湍流影响量,计算为介于 turbulence_influence_min 和 turbulence_influence_max 之间的一个随机值,并乘以来自 turbulence_influence_over_life 的湍流影响量。
float turbulence_influence_min = 0.1
🔗
对每个粒子的最小湍流影响。
对每个粒子的实际湍流影响量,计算为介于 turbulence_influence_min 和 turbulence_influence_max 之间的一个随机值,并乘以来自 turbulence_influence_over_life 的湍流影响量。
Texture2D turbulence_influence_over_life 🔗
每个粒子的湍流量,将在其生命周期内沿这条 CurveTexture 受到影响。
float turbulence_initial_displacement_max = 0.0
🔗
湍流对每个粒子出生位置的最大位移。
实际位移量将是基础湍流乘以一个介于 turbulence_initial_displacement_min 和 turbulence_initial_displacement_max 之间的随机值的系数。
float turbulence_initial_displacement_min = 0.0
🔗
湍流对每个粒子出生位置的最小位移。
实际位移量将是基础湍流乘以一个介于 turbulence_initial_displacement_min 和 turbulence_initial_displacement_max 之间的随机值的系数。
float turbulence_noise_scale = 9.0
🔗
该值控制湍流噪声图案的整体比例/频率。
小的比例会产生更小的特征具有更多细节,而高的比例会产生具有更大特征的更平滑的噪声。
Vector3 turbulence_noise_speed = Vector3(0, 0, 0)
🔗
湍流场的滚动速度。设置的是图案随时间移动的方向趋势。
默认值 Vector3(0, 0, 0)
会将滚动关闭。
float turbulence_noise_speed_random = 0.2
🔗
湍流场的原地变化率。会决定噪声图案随时间变化的快慢。
值为 0.0 时得到的是固定的图案。
float turbulence_noise_strength = 1.0
🔗
湍流噪声强度。增加此值将导致更强烈、对比度更高的噪声图案。
Texture2D velocity_limit_curve 🔗
定义粒子在其生命周期内的最大速度的 CurveTexture。
Vector3 velocity_pivot = Vector3(0, 0, 0)
🔗
用于计算粒子的径向速度和轨道速度的轴心点。
方法说明
Vector2 get_param(param: Parameter) const 🔗
以向量的形式返回给定 param
的最大最小值。
返回向量的 x
分量对应最小值,y
分量对应最大值。
float get_param_max(param: Parameter) const 🔗
返回给定参数的最大值范围。
float get_param_min(param: Parameter) const 🔗
返回给定参数的最小值范围。
Texture2D get_param_texture(param: Parameter) const 🔗
返回指定参数所使用的 Texture2D。
bool get_particle_flag(particle_flag: ParticleFlags) const 🔗
如果启用了指定的粒子标志,则返回 true
。可选项见 ParticleFlags。
void set_param(param: Parameter, value: Vector2) 🔗
以向量的形式设置给定 param
的最大最小值。
参数向量的 x
分量对应最小值,y
分量对应最大值。
void set_param_max(param: Parameter, value: float) 🔗
设置给定参数的最大值范围。
void set_param_min(param: Parameter, value: float) 🔗
设置给定参数的最小值范围。
void set_param_texture(param: Parameter, texture: Texture2D) 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool) 🔗
如果为 true
,则启用指定的粒子标志。选项见 ParticleFlags。