Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ParticleProcessMaterial

继承: Material < Resource < RefCounted < Object

保存用于 GPUParticles2DGPUParticles3D 节点的粒子配置。

描述

ParticleProcessMaterial 定义了粒子的属性和行为。GPUParticles3DGPUParticles2D 节点的 process_material 会使用这种材质。这种材质的有些属性是在粒子发射时应用的,有些则会应用 CurveTextureGradientTexture1D 让数值或颜色值在粒子的生命周期中不断变化。

属性

Texture2D

alpha_curve

Texture2D

angle_curve

float

angle_max

0.0

float

angle_min

0.0

Texture2D

angular_velocity_curve

float

angular_velocity_max

0.0

float

angular_velocity_min

0.0

Texture2D

anim_offset_curve

float

anim_offset_max

0.0

float

anim_offset_min

0.0

Texture2D

anim_speed_curve

float

anim_speed_max

0.0

float

anim_speed_min

0.0

bool

attractor_interaction_enabled

true

float

collision_bounce

float

collision_friction

CollisionMode

collision_mode

0

bool

collision_use_scale

false

Color

color

Color(1, 1, 1, 1)

Texture2D

color_initial_ramp

Texture2D

color_ramp

Texture2D

damping_curve

float

damping_max

0.0

float

damping_min

0.0

Vector3

direction

Vector3(1, 0, 0)

Texture2D

directional_velocity_curve

float

directional_velocity_max

float

directional_velocity_min

Vector3

emission_box_extents

Texture2D

emission_color_texture

Texture2D

emission_curve

Texture2D

emission_normal_texture

int

emission_point_count

Texture2D

emission_point_texture

Vector3

emission_ring_axis

float

emission_ring_height

float

emission_ring_inner_radius

float

emission_ring_radius

EmissionShape

emission_shape

0

Vector3

emission_shape_offset

Vector3(0, 0, 0)

Vector3

emission_shape_scale

Vector3(1, 1, 1)

float

emission_sphere_radius

float

flatness

0.0

Vector3

gravity

Vector3(0, -9.8, 0)

Texture2D

hue_variation_curve

float

hue_variation_max

0.0

float

hue_variation_min

0.0

float

inherit_velocity_ratio

0.0

float

initial_velocity_max

0.0

float

initial_velocity_min

0.0

float

lifetime_randomness

0.0

Texture2D

linear_accel_curve

float

linear_accel_max

0.0

float

linear_accel_min

0.0

Texture2D

orbit_velocity_curve

float

orbit_velocity_max

0.0

float

orbit_velocity_min

0.0

bool

particle_flag_align_y

false

bool

particle_flag_damping_as_friction

false

bool

particle_flag_disable_z

false

bool

particle_flag_rotate_y

false

Texture2D

radial_accel_curve

float

radial_accel_max

0.0

float

radial_accel_min

0.0

Texture2D

radial_velocity_curve

float

radial_velocity_max

0.0

float

radial_velocity_min

0.0

Texture2D

scale_curve

float

scale_max

1.0

float

scale_min

1.0

Texture2D

scale_over_velocity_curve

float

scale_over_velocity_max

0.0

float

scale_over_velocity_min

0.0

float

spread

45.0

int

sub_emitter_amount_at_collision

int

sub_emitter_amount_at_end

float

sub_emitter_frequency

bool

sub_emitter_keep_velocity

false

SubEmitterMode

sub_emitter_mode

0

Texture2D

tangential_accel_curve

float

tangential_accel_max

0.0

float

tangential_accel_min

0.0

bool

turbulence_enabled

false

float

turbulence_influence_max

0.1

float

turbulence_influence_min

0.1

Texture2D

turbulence_influence_over_life

float

turbulence_initial_displacement_max

0.0

float

turbulence_initial_displacement_min

0.0

float

turbulence_noise_scale

9.0

Vector3

turbulence_noise_speed

Vector3(0, 0, 0)

float

turbulence_noise_speed_random

0.2

float

turbulence_noise_strength

1.0

Texture2D

velocity_limit_curve

Vector3

velocity_pivot

Vector3(0, 0, 0)

方法

Vector2

get_param(param: Parameter) const

float

get_param_max(param: Parameter) const

float

get_param_min(param: Parameter) const

Texture2D

get_param_texture(param: Parameter) const

bool

get_particle_flag(particle_flag: ParticleFlags) const

void

set_param(param: Parameter, value: Vector2)

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_minset_param_maxset_param_texture 一起使用,设置初始速度属性。

Parameter PARAM_ANGULAR_VELOCITY = 1

set_param_minset_param_maxset_param_texture 一起使用,设置角速度属性。

Parameter PARAM_ORBIT_VELOCITY = 2

set_param_minset_param_maxset_param_texture 一起使用,设置轨道速度属性。

Parameter PARAM_LINEAR_ACCEL = 3

set_param_minset_param_maxset_param_texture 一起使用,设置线速度属性。

Parameter PARAM_RADIAL_ACCEL = 4

set_param_minset_param_maxset_param_texture 一起使用,设置径向加速度属性。

Parameter PARAM_TANGENTIAL_ACCEL = 5

set_param_minset_param_maxset_param_texture 一起使用,设置切向加速度属性。

Parameter PARAM_DAMPING = 6

set_param_minset_param_maxset_param_texture 一起使用,设置阻尼属性。

Parameter PARAM_ANGLE = 7

set_param_minset_param_maxset_param_texture 一起使用,设置角度属性。

Parameter PARAM_SCALE = 8

set_param_minset_param_maxset_param_texture 一起使用,设置缩放属性。

Parameter PARAM_HUE_VARIATION = 9

set_param_minset_param_maxset_param_texture 一起使用,设置色相变化属性。

Parameter PARAM_ANIM_SPEED = 10

set_param_minset_param_maxset_param_texture 一起使用,设置动画速度属性。

Parameter PARAM_ANIM_OFFSET = 11

set_param_minset_param_maxset_param_texture 一起使用,设置动画偏移属性。

Parameter PARAM_RADIAL_VELOCITY = 15

set_param_minset_param_maxset_param_texture 一起使用来设置径向速度属性。

Parameter PARAM_DIRECTIONAL_VELOCITY = 16

set_param_minset_param_maxset_param_texture 一起使用来设置定向速度属性。

Parameter PARAM_SCALE_OVER_VELOCITY = 17

set_param_minset_param_maxset_param_texture 一起使用来设置速度属性的缩放。

Parameter PARAM_MAX = 18

代表 Parameter 枚举的大小。

Parameter PARAM_TURB_VEL_INFLUENCE = 13

set_param_minset_param_max 一起使用,以设置湍流对每个粒子速度的最小和最大影响。

Parameter PARAM_TURB_INIT_DISPLACEMENT = 14

set_param_minset_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 一起使用,设置