CPUParticles2D

Inherits: Node2D < CanvasItem < Node < Object

基于CPU的2D粒子发射器。

描述

基于CPU的2D粒子节点,用于创建各种粒子系统和效果。

参阅Particles2D,它通过硬件加速提供相同的功能,但可能无法在旧设备上运行。

注意: 其与Particles2D不同,可见性矩形是即时生成的,不需要用户配置。

教程

属性

int

amount

8

float

angle

0.0

Curve

angle_curve

float

angle_random

0.0

float

angular_velocity

0.0

Curve

angular_velocity_curve

float

angular_velocity_random

0.0

float

anim_offset

0.0

Curve

anim_offset_curve

float

anim_offset_random

0.0

float

anim_speed

0.0

Curve

anim_speed_curve

float

anim_speed_random

0.0

Color

color

Color( 1, 1, 1, 1 )

Gradient

color_initial_ramp

Gradient

color_ramp

float

damping

0.0

Curve

damping_curve

float

damping_random

0.0

Vector2

direction

Vector2( 1, 0 )

DrawOrder

draw_order

0

PoolColorArray

emission_colors

PoolVector2Array

emission_normals

PoolVector2Array

emission_points

Vector2

emission_rect_extents

EmissionShape

emission_shape

0

float

emission_sphere_radius

bool

emitting

true

float

explosiveness

0.0

int

fixed_fps

0

bool

flag_align_y

false

bool

fract_delta

true

Vector2

gravity

Vector2( 0, 98 )

float

hue_variation

0.0

Curve

hue_variation_curve

float

hue_variation_random

0.0

float

initial_velocity

0.0

float

initial_velocity_random

0.0

float

lifetime

1.0

float

lifetime_randomness

0.0

float

linear_accel

0.0

Curve

linear_accel_curve

float

linear_accel_random

0.0

bool

local_coords

true

Texture

normalmap

bool

one_shot

false

float

orbit_velocity

0.0

Curve

orbit_velocity_curve

float

orbit_velocity_random

0.0

float

preprocess

0.0

float

radial_accel

0.0

Curve

radial_accel_curve

float

radial_accel_random

0.0

float

randomness

0.0

float

scale_amount

1.0

Curve

scale_amount_curve

float

scale_amount_random

0.0

float

speed_scale

1.0

float

spread

45.0

float

tangential_accel

0.0

Curve

tangential_accel_curve

float

tangential_accel_random

0.0

Texture

texture

方法

void

convert_from_particles ( Node particles )

float

get_param ( Parameter param ) const

Curve

get_param_curve ( Parameter param ) const

float

get_param_randomness ( Parameter param ) const

bool

get_particle_flag ( Flags flag ) const

void

restart ( )

void

set_param ( Parameter param, float value )

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:


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枚举的大小。

属性说明

Default

8

Setter

set_amount(value)

Getter

get_amount()

在一个发射周期内排放的粒子数(对应于lifetime)。

注意:改变amount将重置粒子发射,因此,在改变amount之前已经排放的所有粒子将被移除。


Default

0.0

Setter

set_param(value)

Getter

get_param()

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


Setter

set_param_curve(value)

Getter

get_param_curve()

每个粒子的旋转将沿此Curve进行动画处理。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

旋转随机率。


Default

0.0

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

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

角速度随机率。


Default

0.0

Setter

set_param(value)

Getter

get_param()

粒子动画偏移量。


Setter

set_param_curve(value)

Getter

get_param_curve()

每个粒子的动画偏移将沿此Curve变化。


  • 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_curve(value)

Getter

get_param_curve()

每个粒子的动画速度将沿此Curve变化。


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()

每个粒子的初始颜色。如果定义了 texture,它将乘以该颜色。


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()

每个粒子的颜色将随着这个Gradient变化,即与color相乘。


Default

0.0

Setter

set_param(value)

Getter

get_param()

粒子失去速度的速率。


Setter

set_param_curve(value)

Getter

get_param_curve()

阻尼将沿着这条Gradient变化。


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

阻尼随机率。


Default

Vector2( 1, 0 )

Setter

set_direction(value)

Getter

get_direction()

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


Default

0

Setter

set_draw_order(value)

Getter

get_draw_order()

粒子绘制顺序。使用DrawOrder值。


Setter

set_emission_colors(value)

Getter

get_emission_colors()

设置Color以使用EMISSION_SHAPE_POINTSEMISSION_SHAPE_DIRECTED_POINTS来调制粒子。


Setter

set_emission_normals(value)

Getter

get_emission_normals()

设置使用EMISSION_SHAPE_DIRECTED_POINTS时粒子发射的方向。


Setter

set_emission_points(value)

Getter

get_emission_points()

设置使用EMISSION_SHAPE_POINTSEMISSION_SHAPE_DIRECTED_POINTS时产生粒子的初始位置。


Setter

set_emission_rect_extents(value)

Getter

get_emission_rect_extents()

如果 emission_shape 设置为 EMISSION_SHAPE_RECTANGLE,则矩形的范围。


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

true

Setter

set_emitting(value)

Getter

is_emitting()

如果true,则正在发射粒子。


Default

0.0

Setter

set_explosiveness_ratio(value)

Getter

get_explosiveness_ratio()

粒子在一个发射周期中的发射速度有多快。如果大于0,则在下一个循环开始之前会有排放量缺口。


Default

0

Setter

set_fixed_fps(value)

Getter

get_fixed_fps()

粒子系统的帧速率固定为一个值。例如,将值更改为2将使粒子以每秒2帧的速度渲染。注意,这不会减慢粒子系统本身的仿真速度。


Default

false

Setter

set_particle_flag(value)

Getter

get_particle_flag()

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


Default

true

Setter

set_fractional_delta(value)

Getter

get_fractional_delta()

如果true,将导致分数增量计算,该显示具有更平滑的粒子显示效果。


Default

Vector2( 0, 98 )

Setter

set_gravity(value)

Getter

get_gravity()

重力作用于每个粒子。


Default

0.0

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

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()

初始速度随机率。


Default

1.0

Setter

set_lifetime(value)

Getter

get_lifetime()

每个粒子存在的时间,以秒为单位。


  • 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()

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


  • Curve linear_accel_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

每个粒子的线性加速度将沿此Curve变化。


  • float linear_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

线性加速度随机率。


Default

true

Setter

set_use_local_coordinates(value)

Getter

get_use_local_coordinates()

如果true,则粒子将使用父节点的坐标空间。如果false,则使用全局坐标。


Setter

set_normalmap(value)

Getter

get_normalmap()

用于texture属性的法线贴图。

注意: Godot希望法线贴图使用X +,Y-和Z +坐标。请参阅this page,以比较流行引擎期望的法线地图坐标。


Default

false

Setter

set_one_shot(value)

Getter

get_one_shot()

如果 true,则只发生一个排放周期。如果在周期内设置 true,则排放将在周期结束时停止。


Default

0.0

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

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

轨道速度随机率。


Default

0.0

Setter

set_pre_process_time(value)

Getter

get_pre_process_time()

粒子系统启动时就好像已经运行了这么多秒一样。


Default

0.0

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

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

径向加速度随机率。


Default

0.0

Setter

set_randomness_ratio(value)

Getter

get_randomness_ratio()

发射寿命随机率。


Default

1.0

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

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

标度随机率。


Default

1.0

Setter

set_speed_scale(value)

Getter

get_speed_scale()

粒子系统的运行速度缩放比例。值0可用于暂停粒子。


Default

45.0

Setter

set_spread(value)

Getter

get_spread()

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


Default

0.0

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

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

切向加速度随机率。


Setter

set_texture(value)

Getter

get_texture()

粒子纹理。如果null,则粒子将为正方形。

方法说明

  • void convert_from_particles ( Node particles )

设置此节点的属性,以将给定的 Particles2D 节点与指定的 ParticlesMaterial 匹配。


返回由Parameter指定的参数的基值。


返回由Parameter指定的参数的Curve


返回Parameter指定的参数的随机性系数。


返回给定标志的启用状态(有关选项,请参阅Flags)。


  • void restart ( )

重新启动粒子发射器。


设置Parameter指定的参数的基值。


设置Parameter指定的参数的Curve


设置Parameter指定的参数的随机性因子。


  • void set_particle_flag ( Flags flag, bool enable )

启用或禁用给定标志(有关选项,请参阅Flags)。