ParticleProcessMaterial

Успадковує: Material < Resource < RefCounted < Object

Утримуйте конфігурацію частинок для GPUParticles2D або GPUParticles3D вузлів.

Опис

ParticleProcessMaterial визначає властивості частинок і поведінку. Використовується в process_material GPUParticles2D і GPUParticles3D nodes. Деякі властивості цього матеріалу застосовуються до кожної частинки при введенні, в той час як інші можуть мати CurveTexture або GradientTexture1D, що застосовуються для різних значень чисельного або кольору протягом життя частинок.

Властивості

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_cone_angle

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

int

sub_emitter_amount_at_start

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)


Сигнали

emission_shape_changed() 🔗

Випромінюється, коли форма випромінювання цього матеріалу будь-яким чином змінюється. Це включає зміни в emission_shape, emission_shape_scale або emission_sphere_radius, а також будь-які інші властивості, які впливають на зміщення, розмір, масштаб або орієнтацію форми випромінювання.

Примітка: Цей сигнал випромінюється лише всередині редактора з міркувань продуктивності.


Переліки

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

There is currently no description for this enum. Please help us by contributing one!

ParticleFlags PARTICLE_FLAG_MAX = 4

Представляємо розмір ParticleFlags enum.


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.


enum SubEmitterMode: 🔗

SubEmitterMode SUB_EMITTER_DISABLED = 0

There is currently no description for this enum. Please help us by contributing one!

SubEmitterMode SUB_EMITTER_CONSTANT = 1

There is currently no description for this enum. Please help us by contributing one!

SubEmitterMode SUB_EMITTER_AT_END = 2

There is currently no description for this enum. Please help us by contributing one!

SubEmitterMode SUB_EMITTER_AT_COLLISION = 3

There is currently no description for this enum. Please help us by contributing one!

SubEmitterMode SUB_EMITTER_AT_START = 4

There is currently no description for this enum. Please help us by contributing one!

SubEmitterMode SUB_EMITTER_MAX = 5

Представляємо розмір SubEmitterMode enum.


enum CollisionMode: 🔗

CollisionMode COLLISION_DISABLED = 0

Немає зіткнення для частинок. Періодичності будуть проходити через GPUParticlesCollision3D вершини.

CollisionMode COLLISION_RIGID = 1

RigidBody3D-стильне зіткнення для частинок за допомогою GPUParticlesCollision3D вузлів.

CollisionMode COLLISION_HIDE_ON_CONTACT = 2

Приховувати частинки миттєво при співвідношенні з вершиною GPUParticlesCollision3D. Це може поєднуватися з підмітером, який використовує COLLISION_RIGID режим зіткнення для "замінити" батьківські частинки з обмеженням на вплив.

CollisionMode COLLISION_MAX = 3

Представляємо розмір CollisionMode enum.


Описи властивостей

Texture2D alpha_curve 🔗

Значення альфа кольору кожної частинки буде помножено на цю CurveTexture протягом її життя.

Примітка: alpha_curve помножує кольори вершин сітки частинок. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo має бути true. Для ShaderMaterial ALBEDO *= COLOR.rgb; потрібно вставити у функцію fragment() шейдера. Інакше alpha_curve не матиме видимого ефекту.


Texture2D angle_curve 🔗

Кожне обертання часток буде анімованим по цьому CurveTexture.


float angle_max = 0.0 🔗

Максимальне початкове обертання, що застосовується до кожної частинки, у градусах.

Застосовується лише тоді, коли particle_flag_disable_z або particle_flag_rotate_y чи є true, або BaseMaterial3D, що використовується для малювання частинки, використовує BaseMaterial3D.BILLBOARD_PARTICLES.


float angle_min = 0.0 🔗

Мінімальний еквівалент 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.


Texture2D anim_offset_curve 🔗

Кожна анімація частинки буде змінюватися вздовж цього CurveTexture.


float anim_offset_max = 0.0 🔗

Максимальна анімація зсуву, яка відповідає індексу кадрів в фактурі. 0 є першим кадром, 1 є останній. Див. CanvasItemMaterial.article_animation.


float anim_offset_min = 0.0 🔗

Мінімальний еквівалент anim_offset_max.


Texture2D anim_speed_curve 🔗

Кожна швидкість анімації частинок буде відрізнятися по цій CurveTexture.


float anim_speed_max = 0.0 🔗

Максимальна швидкість анімації частинок. Швидкість анімації 1 означає, що частинки змусять завершити 0 до 1 зсувний цикл протягом життя 2 та 2 цикли і т.д.

З швидкістю анімації більше 1, пам'ятайте, що ввімкнено CanvasItemMaterial.article_anim_loop властивість, якщо ви хочете анімацію повторити.


float anim_speed_min = 0.0 🔗

Мінімальний еквівалент anim_speed_max.


bool attractor_interaction_enabled = true 🔗

  • void set_attractor_interaction_enabled(value: bool)

  • bool is_attractor_interaction_enabled()

Якщо true, ввімкнено взаємодію з деталями. У 3D, атракціон тільки відбувається в межах області, визначеної GPUParticles3D вершини GPUPaarticle3D.visibility_aabb.


float collision_bounce 🔗

  • void set_collision_bounce(value: float)

  • float get_collision_bounce()

Стрибкість частинок. Значення варіюються від 0 (без пружність) до 1 (повна пружність). Діє лише тоді, коли collision_mode має значення COLLISION_RIGID.


float collision_friction 🔗

  • void set_collision_friction(value: float)

  • float get_collision_friction()

Тертя частинок. Значення варіюються від 0 (без тертя) до 1 (максимальне тертя). Діє лише тоді, коли collision_mode має значення COLLISION_RIGID.


CollisionMode collision_mode = 0 🔗

Режим зіткнення частинок.

Примітка: 3D-частинки можуть поєднуватися з GPUParticlesCollision3D вершинами, не PhysicsBody3D вершинами. Щоб зробити частинки колоїду з різними об'єктами, можна додати GPUParticlesCollision3D вершини, як діти PhysicsBody3D. У 3D зіткнеться тільки в межах області, визначеної GPUParticles3D вершини GPUPaarticle3D.visibility_aabb.

Примітка: 2D частинки можуть поєднуватися з вузлами LightOccluder2D, не PhysicsBody2D.


bool collision_use_scale = false 🔗

  • void set_collision_use_scale(value: bool)

  • bool is_collision_using_scale()

Якщо true, GPUParticles3D.collision_base_size множиться на ефективний масштаб частинки (див. scale_min, scale_max, scale_curve та scale_over_velocity_curve).


Color color = Color(1, 1, 1, 1) 🔗

Початковий колір кожної частинки. Якщо визначено текстуру GPUParticles2D, вона буде помножена на цей колір.

Примітка: color множить кольори вершин сітки частинок. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo повинен бути true. Для ShaderMaterial, ALBEDO *= COLOR.rgb; має бути вставлено у функцію fragment() шейдера. В іншому випадку, color не матиме видимого ефекту.


Texture2D color_initial_ramp 🔗

Кожен початковий колір частинок буде варіюватися вздовж цього GradientTexture1D

Примітка: color_initial_ramp мультиплікації колірних гамок частинки сітки. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo must true. Для ShaderMaterial, ALBEDO *= COLOR.rgb; необхідно вставляти в шейдер `` фрагмент()``. В іншому випадку color_initial_ramp не буде видно ефект.


Texture2D color_ramp 🔗

Кожен колір частинок буде варіюватися вздовж цього GradientTexture1D над його життям (повнений кольором color).

Примітка: color_ramp мультиплікації кольорів вершин частинок сітки. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo must true. Для ShaderMaterial ALBEDO *= COLOR.rgb; необхідно вставляти в фрагменті шейра `` ()``. В іншому випадку color_ramp не буде видимого ефекту.


Texture2D damping_curve 🔗

Пошкодження буде варіюватися вздовж цього CurveTexture.


float damping_max = 0.0 🔗

Максимальна швидкість, при якій частки втрачають швидкість. Наприклад, значення 100 означає, що частинка буде йти з 100 швидкість до 0 в 1 другий.


float damping_min = 0.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 🔗

  • void set_emission_box_extents(value: Vector3)

  • Vector3 get_emission_box_extents()

У разі, якщо emission_shape встановлюється до EMISSION_SHAPE_BOX.

Примітка: emission_box_extents починається з точки центру і стосується значень X, Y і Z в обох напрямках. Розмір в два рази площа міри.


Texture2D emission_color_texture 🔗

  • void set_emission_color_texture(value: Texture2D)

  • Texture2D get_emission_color_texture()

Колір частинок буде модулювати за кольором, визначеним шляхом вибірки цієї текстури в тій же точці, як emission_point_texture.

Примітка: emission_color_texture множить колірні гамки сітки з вершиною. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo must true. Для ShaderMaterial ALBEDO *= COLOR.rgb; необхідно вставляти в фрагмент шейра `` ()``. В іншому випадку, emission_color_texture не буде видимого ефекту.


Texture2D emission_curve 🔗

Колір кожної частинки буде помножено на цю CurveTexture протягом її життя.

**Примітка: ** emission_curve помножує кольори вершин сітки частинок. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo має бути true. Для ShaderMaterial ALBEDO *= COLOR.rgb; потрібно вставити у функцію fragment() шейдера. Інакше emission_curve не матиме видимого ефекту.


Texture2D emission_normal_texture 🔗

  • void set_emission_normal_texture(value: Texture2D)

  • Texture2D get_emission_normal_texture()

Частота частинок і обертання буде встановлена шляхом вибірки цієї текстури в тій же точці, що і emission_point_texture. Використовується тільки в EMISSION_SHAPE_DIRECTED_POINTS. Може бути створений автоматично з сітки або вузла за допомогою вибору "Точки викидів з сітки/Ноду" під інструментом "Пачастки" в панелі інструментів.


int emission_point_count 🔗

  • void set_emission_point_count(value: int)

  • int get_emission_point_count()

Кількість точок емісії, якщо emission_shape встановлюється до EMISSION_SHAPE_POINTS або EMISSION_SHAPE_DIRECTED_POINTS.


Texture2D emission_point_texture 🔗

  • void set_emission_point_texture(value: Texture2D)

  • Texture2D get_emission_point_texture()

На позиціях, визначених шляхом відбору цієї текстури на випадковому положенні. Використовується з EMISSION_SHAPE_POINTS та EMISSION_SHAPE_DIRECTED_POINTS. Може бути створений автоматично з сітки або вузла за допомогою вибору "Точки викидів з сітки/Ноду" під інструментом "Пачастки" в панелі інструментів.


Vector3 emission_ring_axis 🔗

  • void set_emission_ring_axis(value: Vector3)

  • Vector3 get_emission_ring_axis()

Ось кільце при використанні випромінювача EMISSION_SHAPE_RING.


float emission_ring_cone_angle 🔗

  • void set_emission_ring_cone_angle(value: float)

  • float get_emission_ring_cone_angle()

Кут конуса при використанні випромінювача EMISSION_SHAPE_RING. За замовчуванням кут 90 градусів створює кільце, а кут 0 градусів - конус. Проміжні значення призведуть до кільця, де один кінець більший за інший.

Примітка: Залежно від emission_ring_height, кут може бути затиснутий, якщо кінець кільця досягне ідеального конуса.


float emission_ring_height 🔗

  • void set_emission_ring_height(value: float)

  • float get_emission_ring_height()

Висота кільця при використанні випромінювача EMISSION_SHAPE_RING.


float emission_ring_inner_radius 🔗

  • void set_emission_ring_inner_radius(value: float)

  • float get_emission_ring_inner_radius()

Внутрішній радіус кільця при використанні випромінювача EMISSION_SHAPE_RING.


float emission_ring_radius 🔗

  • void set_emission_ring_radius(value: float)

  • float get_emission_ring_radius()

Радіус кільця при використанні випромінювача EMISSION_SHAPE_RING.


EmissionShape emission_shape = 0 🔗

Частинки будуть викидатися всередині цієї області.


Vector3 emission_shape_offset = Vector3(0, 0, 0) 🔗

  • void set_emission_shape_offset(value: Vector3)

  • Vector3 get_emission_shape_offset()

Зміщення для emission_shape, у місцевому просторі.


Vector3 emission_shape_scale = Vector3(1, 1, 1) 🔗

  • void set_emission_shape_scale(value: Vector3)

  • Vector3 get_emission_shape_scale()

Ваги emission_shape, у місцевому просторі.


float emission_sphere_radius 🔗

  • void set_emission_sphere_radius(value: float)

  • float get_emission_sphere_radius()

Радіус сфери, якщо emission_shape встановлюється до EMISSION_SHAPE_SPHERE.


float flatness = 0.0 🔗

  • void set_flatness(value: float)

  • float get_flatness()

Величина spread вздовж осі Y.


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 🔗

  • void set_inherit_velocity_ratio(value: float)

  • float get_inherit_velocity_ratio()

Відсоток швидкості відповідних GPUParticles2D або GPUParticles3D у спадок кожної частинки при спавінгу.


float initial_velocity_max = 0.0 🔗

Максимальна початкова величина швидкості для кожної частинки. Пряме з direction і spread.


float initial_velocity_min = 0.0 🔗

Мінімальний еквівалент initial_velocity_max.


float lifetime_randomness = 0.0 🔗

  • void set_lifetime_randomness(value: float)

  • float get_lifetime_randomness()

Термін служби частинок випадковим чином. Рівень життя частинок lifetime * (1.0 - randf() * life_randomness). Наприклад, life_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 🔗

Мінімальний еквівалент пам'яна орбіта_velocity_max.

Примітка: Анімовані нерівності не будуть вражені пошкодженням, використання velocity_limit_curve замість.


bool particle_flag_align_y = false 🔗

Вирівнююча вісь Y з напрямком її швидкості.


bool particle_flag_damping_as_friction = false 🔗

Зміна поведінки декларуючих властивостей з лінійної декларації до декларації на основі відсотка швидкості.


bool particle_flag_disable_z = false 🔗

Якщо true, частинки не рухаються на осі Z.


bool particle_flag_rotate_y = false 🔗

Якщо 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 замість.


Texture2D scale_curve 🔗

Кожна шкала частинок буде відрізнятися по цьому CurveTexture над його життям. Якщо CurveXYZTexture надходить замість того, що вага буде відокремлена восьми.


float scale_max = 1.0 🔗

Максимальна початкова шкала наноситься на кожну частинку.


float scale_min = 1.0 🔗

Мінімальний еквівалент 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.


float spread = 45.0 🔗

  • void set_spread(value: float)

  • float get_spread()

Діапазон початкового напрямку частинок від `` +спред`` до -спред. градусів.


int sub_emitter_amount_at_collision 🔗

  • void set_sub_emitter_amount_at_collision(value: int)

  • int get_sub_emitter_amount_at_collision()

Кількість частинок для спавна з вузла підсилення при виникненні зіткнення. При поєднанні з COLLISION_HIDE_ON_CONTACT на матеріалі основних частинок, це може бути використаний для досягнення ефектів, таких як плащі, що попадають землю.

Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPUPaarticle3D.amount, визначені на subemitter node (не головного вузла), відносно термінів частинок субеміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.


int sub_emitter_amount_at_end 🔗

  • void set_sub_emitter_amount_at_end(value: int)

  • int get_sub_emitter_amount_at_end()

Кількість частинок для спавна від вузла субекміттера, коли частинка закінчується.

Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPUPaarticle3D.amount, визначені на subemitter node (не головного вузла), відносно термінів частинок субекміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.


int sub_emitter_amount_at_start 🔗

  • void set_sub_emitter_amount_at_start(value: int)

  • int get_sub_emitter_amount_at_start()

Кількість частинок, які породжуються з вузла підвипромінювача, коли частинки породжуються.

Примітка: Це значення не повинно перевищувати GPUParticles2D.amount або GPUParticles3D.amount, визначені на вузлі підвипромінювача (а не на головному вузлі), відносно часу життя частинки підвипромінювача. Якщо кількість частинок перевищено, нові частинки не з’являться із субімітера, доки не закінчиться достатня кількість частинок.


float sub_emitter_frequency 🔗

  • void set_sub_emitter_frequency(value: float)

  • float get_sub_emitter_frequency()

Частота, при якій частинки повинні бути емітовані з вузла підеміттера. Одна частинка буде спарована кожен пам'ятний суб_emitter_частот секунд.

Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPU3D.amount, визначених на subemitter node (не головного вузла), відносно термінів частинок субеміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.


bool sub_emitter_keep_velocity = false 🔗

  • void set_sub_emitter_keep_velocity(value: bool)

  • bool get_sub_emitter_keep_velocity()

Якщо true, субemitter успадкує швидкість батьківських частинок, коли він спавнс.


SubEmitterMode sub_emitter_mode = 0 🔗

Режим субемітера частинок (див. 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 🔗

  • void set_turbulence_enabled(value: bool)

  • bool get_turbulence_enabled()

Якщо 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 🔗

  • void set_turbulence_noise_scale(value: float)

  • float get_turbulence_noise_scale()

Це значення контролює загальний масштаб / частота шаблону шуму турбулентності.

Невелика шкала призведе до менших функцій з більш детальною деталями в той час як висока шкала призведе до гладкого шуму з більшими можливостями.


Vector3 turbulence_noise_speed = Vector3(0, 0, 0) 🔗

  • void set_turbulence_noise_speed(value: Vector3)

  • Vector3 get_turbulence_noise_speed()

Швидкість прокручування для поля турбулентності. Це встановлює спрямовану тенденцію для переміщення в часі.

Значення за замовчуванням Vector3(0, 0, 0) вимкнено прокручування.


float turbulence_noise_speed_random = 0.2 🔗

  • void set_turbulence_noise_speed_random(value: float)

  • float get_turbulence_noise_speed_random()

Зміна поля турбулентності. Це визначає, як швидко шум патерна змінюється з часом.

Значення 0.0 призведе до фіксованого шаблону.


float turbulence_noise_strength = 1.0 🔗

  • void set_turbulence_noise_strength(value: float)

  • float get_turbulence_noise_strength()

Зброя шуму. Збільшення цього призведе до більш міцного, більш контрастного, потоку шаблону.


Texture2D velocity_limit_curve 🔗

CurveTexture, що визначає максимальну швидкість частинок протягом життя.


Vector3 velocity_pivot = Vector3(0, 0, 0) 🔗

  • void set_velocity_pivot(value: Vector3)

  • Vector3 get_velocity_pivot()

Точка pivot використовується для розрахунку радіальної та орбітальної швидкості частинок.


Описи методів

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, якщо вказаний прапор частинок увімкнено.


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

Встановлює Texture2D для вказаного параметра Parameter.


void set_particle_flag(particle_flag: ParticleFlags, enable: bool) 🔗

Встановлює particle_flag на enable.