CPUParticles2D¶
Inherits: Node2D < CanvasItem < Node < Object
基于CPU的2D粒子发射器。
描述¶
基于CPU的2D粒子节点,用于创建各种粒子系统和效果。
参阅Particles2D,它通过硬件加速提供相同的功能,但可能无法在旧设备上运行。
注意: 其与Particles2D不同,可见性矩形是即时生成的,不需要用户配置。
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
方法¶
void |
convert_from_particles ( Node particles ) |
get_param_curve ( Parameter param ) const |
|
get_param_randomness ( Parameter param ) const |
|
get_particle_flag ( Flags flag ) const |
|
void |
restart ( ) |
void |
|
void |
set_param_curve ( Parameter param, Curve curve ) |
void |
set_param_randomness ( Parameter param, float randomness ) |
void |
set_particle_flag ( Flags flag, bool enable ) |
枚举¶
enum DrawOrder:
DRAW_ORDER_INDEX = 0 --- 粒子按发射顺序绘制。
DRAW_ORDER_LIFETIME = 1 --- 按照剩余寿命的顺序绘制粒子。
enum Parameter:
PARAM_INITIAL_LINEAR_VELOCITY = 0 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置初始速度属性。
PARAM_ANGULAR_VELOCITY = 1 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置角速度属性。
PARAM_ORBIT_VELOCITY = 2 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置轨道速度属性。
PARAM_LINEAR_ACCEL = 3 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置线性加速度属性。
PARAM_RADIAL_ACCEL = 4 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置径向加速度属性。
PARAM_TANGENTIAL_ACCEL = 5 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置切向加速度属性。
PARAM_DAMPING = 6 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置阻尼属性。
PARAM_ANGLE = 7 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置角度属性。
PARAM_SCALE = 8 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置缩放属性。
PARAM_HUE_VARIATION = 9 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置色调变化属性。
PARAM_ANIM_SPEED = 10 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置动画速度属性。
PARAM_ANIM_OFFSET = 11 --- 用于在 set_param、set_param_randomness 和 set_param_curve 中设置动画偏移属性。
PARAM_MAX = 12 --- 表示Parameter枚举的大小。
enum Flags:
FLAG_ALIGN_Y_TO_VELOCITY = 0 --- 用于在 set_particle_flag 中设置 flag_align_y。
FLAG_ROTATE_Y = 1 --- 为了与3D粒子节点保持一致而存在,在2D中不使用。
FLAG_DISABLE_Z = 2 --- 为了与3D粒子节点保持一致而存在,在2D中不使用。
FLAG_MAX = 3 --- 表示Flags枚举的大小。
enum EmissionShape:
EMISSION_SHAPE_POINT = 0 --- 所有粒子将从一个点发射。
EMISSION_SHAPE_SPHERE = 1 --- 粒子将在展平为二维的球体表面上发射。
EMISSION_SHAPE_RECTANGLE = 2 --- 粒子将在矩形区域内发射。
EMISSION_SHAPE_POINTS = 3 --- 粒子将在emission_points中随机选择的位置发射。粒子颜色将通过emission_colors进行调制。
EMISSION_SHAPE_DIRECTED_POINTS = 4 --- 粒子将在emission_points中随机选择的位置发射。粒子的速度和旋转将基于emission_normals进行设置。粒子颜色将通过emission_colors进行调制。
EMISSION_SHAPE_MAX = 5 --- 表示EmissionShape枚举的大小。
属性说明¶
int amount
Default |
|
Setter |
set_amount(value) |
Getter |
get_amount() |
在一个发射周期内排放的粒子数(对应于lifetime)。
注意:改变amount将重置粒子发射,因此,在改变amount之前已经排放的所有粒子将被移除。
float angle
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
应用于每个粒子的初始旋转(以度为单位)。
Curve angle_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的旋转将沿此Curve进行动画处理。
float angle_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
旋转随机率。
float angular_velocity
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
应用于每个粒子的初始角速度,单位为度每秒。设置粒子的旋转速度。
Curve angular_velocity_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的角速度将沿此Curve变化。
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() |
粒子动画偏移量。
Curve anim_offset_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的动画偏移将沿此Curve变化。
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() |
粒子动画速度。
Curve anim_speed_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的动画速度将沿此Curve变化。
float anim_speed_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
动画速度随机率。
Color color
Default |
|
Setter |
set_color(value) |
Getter |
get_color() |
每个粒子的初始颜色。如果定义了 texture,它将乘以该颜色。
Gradient 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).
Gradient color_ramp
Setter |
set_color_ramp(value) |
Getter |
get_color_ramp() |
每个粒子的颜色将随着这个Gradient变化,即与color相乘。
float damping
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
粒子失去速度的速率。
Curve damping_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
阻尼将沿着这条Gradient变化。
float damping_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
阻尼随机率。
Vector2 direction
Default |
|
Setter |
set_direction(value) |
Getter |
get_direction() |
指定粒子发射方向的单位向量。
DrawOrder draw_order
Default |
|
Setter |
set_draw_order(value) |
Getter |
get_draw_order() |
粒子绘制顺序。使用DrawOrder值。
PoolColorArray emission_colors
Setter |
set_emission_colors(value) |
Getter |
get_emission_colors() |
设置Color以使用EMISSION_SHAPE_POINTS或EMISSION_SHAPE_DIRECTED_POINTS来调制粒子。
PoolVector2Array emission_normals
Setter |
set_emission_normals(value) |
Getter |
get_emission_normals() |
设置使用EMISSION_SHAPE_DIRECTED_POINTS时粒子发射的方向。
PoolVector2Array emission_points
Setter |
set_emission_points(value) |
Getter |
get_emission_points() |
设置使用EMISSION_SHAPE_POINTS或EMISSION_SHAPE_DIRECTED_POINTS时产生粒子的初始位置。
Vector2 emission_rect_extents
Setter |
set_emission_rect_extents(value) |
Getter |
get_emission_rect_extents() |
如果 emission_shape 设置为 EMISSION_SHAPE_RECTANGLE,则矩形的范围。
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 emitting
Default |
|
Setter |
set_emitting(value) |
Getter |
is_emitting() |
如果true
,则正在发射粒子。
float explosiveness
Default |
|
Setter |
set_explosiveness_ratio(value) |
Getter |
get_explosiveness_ratio() |
粒子在一个发射周期中的发射速度有多快。如果大于0
,则在下一个循环开始之前会有排放量缺口。
int fixed_fps
Default |
|
Setter |
set_fixed_fps(value) |
Getter |
get_fixed_fps() |
粒子系统的帧速率固定为一个值。例如,将值更改为2将使粒子以每秒2帧的速度渲染。注意,这不会减慢粒子系统本身的仿真速度。
bool flag_align_y
Default |
|
Setter |
set_particle_flag(value) |
Getter |
get_particle_flag() |
将粒子的Y轴与其速度方向对齐。
bool fract_delta
Default |
|
Setter |
set_fractional_delta(value) |
Getter |
get_fractional_delta() |
如果true
,将导致分数增量计算,该显示具有更平滑的粒子显示效果。
Vector2 gravity
Default |
|
Setter |
set_gravity(value) |
Getter |
get_gravity() |
重力作用于每个粒子。
float hue_variation
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
初始色调变化应用于每个粒子。
Curve hue_variation_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的色相都将随之变化。
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
Default |
|
Setter |
set_lifetime(value) |
Getter |
get_lifetime() |
每个粒子存在的时间,以秒为单位。
float lifetime_randomness
Default |
|
Setter |
set_lifetime_randomness(value) |
Getter |
get_lifetime_randomness() |
粒子寿命随机率。
float linear_accel
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
沿运动方向施加到每个粒子的线性加速度。
Curve linear_accel_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的线性加速度将沿此Curve变化。
float linear_accel_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
线性加速度随机率。
bool local_coords
Default |
|
Setter |
set_use_local_coordinates(value) |
Getter |
get_use_local_coordinates() |
如果true
,则粒子将使用父节点的坐标空间。如果false
,则使用全局坐标。
Texture normalmap
Setter |
set_normalmap(value) |
Getter |
get_normalmap() |
用于texture属性的法线贴图。
注意: Godot希望法线贴图使用X +,Y-和Z +坐标。请参阅this page,以比较流行引擎期望的法线地图坐标。
bool one_shot
Default |
|
Setter |
set_one_shot(value) |
Getter |
get_one_shot() |
如果 true
,则只发生一个排放周期。如果在周期内设置 true
,则排放将在周期结束时停止。
float orbit_velocity
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
应用于每个粒子的轨道速度。使粒子围绕原点旋转。以每秒绕原点的完整旋转数指定。
Curve orbit_velocity_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的轨道速度将沿此Curve变化。
float orbit_velocity_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
轨道速度随机率。
float preprocess
Default |
|
Setter |
set_pre_process_time(value) |
Getter |
get_pre_process_time() |
粒子系统启动时就好像已经运行了这么多秒一样。
float radial_accel
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
径向加速度应用于每个粒子。使粒子加速远离原点。
Curve radial_accel_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的径向加速度将沿此Curve变化。
float radial_accel_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
径向加速度随机率。
float randomness
Default |
|
Setter |
set_randomness_ratio(value) |
Getter |
get_randomness_ratio() |
发射寿命随机率。
float scale_amount
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
初始比例应用于每个粒子。
Curve scale_amount_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的比例将随着Curve的变化而变化。
float scale_amount_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
标度随机率。
float speed_scale
Default |
|
Setter |
set_speed_scale(value) |
Getter |
get_speed_scale() |
粒子系统的运行速度缩放比例。值0
可用于暂停粒子。
float spread
Default |
|
Setter |
set_spread(value) |
Getter |
get_spread() |
每个粒子的初始方向范围为+spread
到 -spread
度。
float tangential_accel
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
切向加速度应用于每个粒子。切向加速度垂直于粒子的速度,使粒子产生涡旋运动。
Curve tangential_accel_curve
Setter |
set_param_curve(value) |
Getter |
get_param_curve() |
每个粒子的切向加速度将沿此Curve变化。
float tangential_accel_random
Default |
|
Setter |
set_param_randomness(value) |
Getter |
get_param_randomness() |
切向加速度随机率。
Texture texture
Setter |
set_texture(value) |
Getter |
get_texture() |
粒子纹理。如果null
,则粒子将为正方形。
方法说明¶
void convert_from_particles ( Node particles )
设置此节点的属性,以将给定的 Particles2D 节点与指定的 ParticlesMaterial 匹配。
返回由Parameter指定的参数的基值。
返回Parameter指定的参数的随机性系数。
返回给定标志的启用状态(有关选项,请参阅Flags)。
void restart ( )
重新启动粒子发射器。
设置Parameter指定的参数的基值。
设置Parameter指定的参数的随机性因子。
启用或禁用给定标志(有关选项,请参阅Flags)。