CPUParticles2D

Inherits: Node2D < CanvasItem < Node < Object

Emisor de partículas 2D basado en la CPU.

Descripción

CPU-based 2D particle node used to create a variety of particle systems and effects.

See also Particles2D, which provides the same functionality with hardware acceleration, but may not run on older devices.

Note: Unlike Particles2D, the visibility rect is generated on-the-fly and doesn't need to be configured by the user.

Tutoriales

Propiedades

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

Métodos

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 )

Enumeraciones

enum DrawOrder:

  • DRAW_ORDER_INDEX = 0 --- Las partículas se dibujan en el orden en que se emiten.

  • DRAW_ORDER_LIFETIME = 1 --- Las partículas se dibujan en orden según el tiempo de vida restante.


enum Parameter:


enum Flags:

  • FLAG_ALIGN_Y_TO_VELOCITY = 0 --- Utilízalo con set_particle_flag para establecer flag_align_y.

  • FLAG_ROTATE_Y = 1 --- Presente por coherencia con los nodos de partículas en 3D, no usado en 2D.

  • FLAG_DISABLE_Z = 2 --- Presente por coherencia con los nodos de partículas en 3D, no usado en 2D.

  • FLAG_MAX = 3 --- Representa el tamaño del enum Flags.


enum EmissionShape:

  • EMISSION_SHAPE_POINT = 0 --- Todas las partículas serán emitidas desde un único punto.

  • EMISSION_SHAPE_SPHERE = 1 --- Se emitirán partículas en la superficie de una esfera aplanada en dos dimensiones.

  • EMISSION_SHAPE_RECTANGLE = 2 --- Se emitirán partículas en el área de un rectángulo.

  • EMISSION_SHAPE_POINTS = 3 --- Las partículas se emitirán en una posición elegida al azar entre emission_points. El color de las partículas será modulado por emission_colors.

  • EMISSION_SHAPE_DIRECTED_POINTS = 4 --- Las partículas se emitirán en una posición elegida al azar entre emission_points. La velocidad y rotación de las partículas se fijarán en base a emission_normals. El color de las partículas será modulado por emission_colors.

  • EMISSION_SHAPE_MAX = 5 --- Representa el tamaño del enum EmissionShape.

Descripciones de Propiedades

Default

8

Setter

set_amount(value)

Getter

get_amount()

The number of particles emitted in one emission cycle (corresponding to the lifetime).

Note: Changing amount will reset the particle emission, therefore removing all particles that were already emitted before changing amount.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Rotación inicial aplicada a cada partícula, en grados.


Setter

set_param_curve(value)

Getter

get_param_curve()

La rotación de cada partícula será animada a lo largo de esta Curve.


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la rotación.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Initial angular velocity applied to each particle in degrees per second. Sets the speed of rotation of the particle.


  • Curve angular_velocity_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

La velocidad angular de cada partícula variará a lo largo de esta Curve.


  • float angular_velocity_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Relación de aleatoriedad de la velocidad angular.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Desplazamiento de la animación de partículas.


  • Curve anim_offset_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

El desplazamiento de la animación de cada partícula variará a lo largo de esta Curve.


  • float anim_offset_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

La animación desplaza la proporción de aleatoriedad.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Velocidad de animación de partículas.


Setter

set_param_curve(value)

Getter

get_param_curve()

La velocidad de animación de cada partícula variará a lo largo de esta Curve.


  • float anim_speed_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la velocidad de la animación.


Default

Color( 1, 1, 1, 1 )

Setter

set_color(value)

Getter

get_color()

El color inicial de cada partícula. Si se define texture, se multiplicará por este color.


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

Each particle's color will vary along this Gradient (multiplied with color).


Default

0.0

Setter

set_param(value)

Getter

get_param()

La velocidad a la que las partículas pierden velocidad.


Setter

set_param_curve(value)

Getter

get_param_curve()

La amortiguación variará a lo largo de esta Curve.


Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Amortiguando la proporción de aleatoriedad.


Default

Vector2( 1, 0 )

Setter

set_direction(value)

Getter

get_direction()

Vector unitario que especifica la dirección de emisión de las partículas.


Default

0

Setter

set_draw_order(value)

Getter

get_draw_order()

Orden de dibujo de las partículas. Utiliza los valores de DrawOrder.


Setter

set_emission_colors(value)

Getter

get_emission_colors()

Establece los Colors para modular las partículas al usar EMISSION_SHAPE_POINTS o EMISSION_SHAPE_DIRECTED_POINTS.


Setter

set_emission_normals(value)

Getter

get_emission_normals()

Establece la dirección en la que las partículas serán emitidas cuando se use EMISSION_SHAPE_DIRECTED_POINTS.


Setter

set_emission_points(value)

Getter

get_emission_points()

Establece las posiciones iniciales para generar partículas cuando se utiliza EMISSION_SHAPE_POINTS o EMISSION_SHAPE_DIRECTED_POINTS.


Setter

set_emission_rect_extents(value)

Getter

get_emission_rect_extents()

La extensión del rectángulo si emission_shape se fija en EMISSION_SHAPE_RECTANGLE.


Default

0

Setter

set_emission_shape(value)

Getter

get_emission_shape()

Se emitirán partículas dentro de esta región. Ver EmissionShape para los posibles valores.


  • float emission_sphere_radius

Setter

set_emission_sphere_radius(value)

Getter

get_emission_sphere_radius()

El radio de la esfera si emission_shape se fija en EMISSION_SHAPE_SPHERE.


Default

true

Setter

set_emitting(value)

Getter

is_emitting()

Si true, se están emitiendo partículas.


Default

0.0

Setter

set_explosiveness_ratio(value)

Getter

get_explosiveness_ratio()

La rapidez con la que se emiten las partículas en un ciclo de emisión. Si es mayor que 0, habrá una espacio de tiempo en las emisiones antes de que comience el siguiente ciclo.


  • int fixed_fps

Default

0

Setter

set_fixed_fps(value)

Getter

get_fixed_fps()

La velocidad de fotogramas del sistema de partículas está fijada a un valor. Por ejemplo, cambiando el valor a 2 hará que las partículas se rendericen a 2 fotogramas por segundo. Ten en cuenta que esto no ralentiza la simulación del sistema de partículas en sí.


Default

false

Setter

set_particle_flag(value)

Getter

get_particle_flag()

Alinea el eje Y de la partícula con la dirección de su velocidad.


Default

true

Setter

set_fractional_delta(value)

Getter

get_fractional_delta()

Si true, resulta en un cálculo delta fraccionario que tiene un efecto de visualización de partículas más suave.


Default

Vector2( 0, 98 )

Setter

set_gravity(value)

Getter

get_gravity()

La gravedad aplicada a cada partícula.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Variación de tono inicial aplicada a cada partícula.


  • Curve hue_variation_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

El tono de cada partícula variará a lo largo de esta Curve.


  • float hue_variation_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Relación de aleatoriedad de la variación del tono.


Default

0.0

Setter

set_param(value)

Getter

get_param()

La magnitud de la velocidad inicial de cada partícula. La dirección viene de spread y la orientación del nodo.


  • float initial_velocity_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la velocidad inicial.


Default

1.0

Setter

set_lifetime(value)

Getter

get_lifetime()

The amount of time each particle will exist (in seconds).


  • float lifetime_randomness

Default

0.0

Setter

set_lifetime_randomness(value)

Getter

get_lifetime_randomness()

El ratio de aleatoriedad del tiempo de vida de las partículas.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Aceleración lineal aplicada a cada partícula en la dirección del movimiento.


  • Curve linear_accel_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

La aceleración lineal de cada partícula variará a lo largo de esta Curve.


  • float linear_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de aceleración lineal.


Default

true

Setter

set_use_local_coordinates(value)

Getter

get_use_local_coordinates()

Si true, las partículas usan el espacio de coordenadas del nodo padre. Si false, usan las coordenadas globales.


Setter

set_normalmap(value)

Getter

get_normalmap()

Mapa normal para ser usado por la propiedad texture.

Nota: Godot espera que el mapa normal utilice las coordenadas X+, Y-, y Z+. Ver esta página para una comparación de las coordenadas del mapa normal esperadas por los motores más populares.


Default

false

Setter

set_one_shot(value)

Getter

get_one_shot()

Si true, sólo se produce un ciclo de emisión. Si se establece true durante un ciclo, la emisión se detendrá al final del ciclo.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Velocidad orbital aplicada a cada partícula. Hace que las partículas giren alrededor de su origen. Especificada en el número de rotaciones completas alrededor del origen por segundo.


  • Curve orbit_velocity_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

La velocidad orbital de cada partícula variará a lo largo de esta Curve.


  • float orbit_velocity_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la velocidad orbital.


Default

0.0

Setter

set_pre_process_time(value)

Getter

get_pre_process_time()

El sistema de partículas se inicia como si ya hubiera funcionado durante este número de segundos.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Aceleración radial aplicada a cada partícula. Hace que la partícula se acelere lejos de su origen.


  • Curve radial_accel_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

La aceleración radial de cada partícula variará a lo largo de esta Curve.


  • float radial_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la aceleración radial.


Default

0.0

Setter

set_randomness_ratio(value)

Getter

get_randomness_ratio()

Proporción de aleatoriedad de la vida útil de las emisiones.


Default

1.0

Setter

set_param(value)

Getter

get_param()

Escala inicial aplicada a cada partícula.


  • Curve scale_amount_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

Escala inicial aplicada a cada partícula.


  • float scale_amount_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de la aleatoriedad de la escala.


Default

1.0

Setter

set_speed_scale(value)

Getter

get_speed_scale()

El sistema de partículas está funcionando a una velocidad de escalada. Un valor de 0 puede ser usado para pausar las partículas.


Default

45.0

Setter

set_spread(value)

Getter

get_spread()

La dirección inicial de cada partícula va desde +spread hasta -spread grados.


Default

0.0

Setter

set_param(value)

Getter

get_param()

Aceleración tangencial aplicada a cada partícula. La aceleración tangencial es perpendicular a la velocidad de la partícula, lo que le da a las partículas un movimiento giratorio.


  • Curve tangential_accel_curve

Setter

set_param_curve(value)

Getter

get_param_curve()

La aceleración tangencial de cada partícula variará a lo largo de esta Curve.


  • float tangential_accel_random

Default

0.0

Setter

set_param_randomness(value)

Getter

get_param_randomness()

Ratio de aleatoriedad de la aceleración tangencial.


Setter

set_texture(value)

Getter

get_texture()

La textura de las partículas. Si null, las partículas serán cuadradas.

Descripciones de Métodos

  • void convert_from_particles ( Node particles )

Sets this node's properties to match a given Particles2D node with an assigned ParticlesMaterial.


Devuelve el valor base del parámetro especificado por Parameter.


Devuelve la Curve del parámetro especificado por Parameter.


Devuelve el factor de aleatoriedad del parámetro especificado por Parameter.


  • bool get_particle_flag ( Flags flag ) const

Devuelve el estado habilitado del flag dado (véase Flags para las opciones).


  • void restart ( )

Reinicia el emisor de partículas.


Establece el valor base del parámetro especificado por Parameter.


Establece la Curve del parámetro especificado por Parameter.


Establece el factor de aleatoriedad del parámetro especificado por Parameter.


  • void set_particle_flag ( Flags flag, bool enable )

Habilita o deshabilita la flag dada (véase Flags para las opciones).