ParticleProcessMaterial
Наследует: Material < Resource < RefCounted < Object
Содержит конфигурацию частиц для узлов GPUParticles2D или GPUParticles3D.
Описание
ParticleProcessMaterial определяет свойства и поведение частиц. Он используется в process_material узлов GPUParticles2D и GPUParticles3D. Некоторые из свойств этого материала применяются к каждой частице при испускании, в то время как другие могут иметь CurveTexture или GradientTexture1D, применяемые для изменения числовых или цветовых значений в течение жизненного цикла частицы.
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_param_max(param: Parameter) const |
|
get_param_min(param: Parameter) const |
|
get_param_texture(param: Parameter) const |
|
get_particle_flag(particle_flag: ParticleFlags) const |
|
void |
|
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() для установки partial_flag_align_y.
ParticleFlags PARTICLE_FLAG_ROTATE_Y = 1
Используйте с set_particle_flag() для установки partial_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 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 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 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.
Описания свойств
Значение альфа-канала каждого цвета частицы будет умножаться на этот CurveTexture на протяжении всего времени её существования.
Примечание: alpha_curve умножает цвета вершин сетки частиц. Чтобы это оказало видимое воздействие на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo должен быть true. Для ShaderMaterial в функцию fragment() шейдера необходимо вставить ALPHA *= COLOR.a;. В противном случае alpha_curve не окажет видимого эффекта.
Вращение каждой частицы будет анимировано вдоль этой CurveTexture.
Максимальное начальное вращение, применяемое к каждой частице, в градусах.
Применяется только тогда, когда partial_flag_disable_z или partial_flag_rotate_y равны true или BaseMaterial3D, используемый для рисования частицы, использует BaseMaterial3D.BILLBOARD_PARTICLES.
Минимальный эквивалент angle_max.
Texture2D angular_velocity_curve 🔗
Угловая скорость каждой частицы (скорость вращения) будет изменяться вдоль этой CurveTexture в течение ее жизни.
float angular_velocity_max = 0.0 🔗
Максимальная начальная угловая скорость (ск. вращения), применяемая к каждой частице в градусах в секунду.
Применяется только тогда, когда partial_flag_disable_z или partial_flag_rotate_y имеют значение true или BaseMaterial3D, используемый для рисования частицы, использует BaseMaterial3D.BILLBOARD_PARTICLES.
float angular_velocity_min = 0.0 🔗
Минимальный эквивалент angular_velocity_max.
Смещение анимации каждой частицы будет меняться в зависимости от CurveTexture.
Максимальное смещение анимации, соответствующее индексу кадра в текстуре. 0 — первый кадр, 1 — последний. См. CanvasItemMaterial.particles_animation.
Минимальный эквивалент anim_offset_max.
Скорость анимации каждой частицы будет меняться в зависимости от CurveTexture.
Максимальная скорость анимации частиц. Скорость анимации 1 означает, что частицы будут делать полный цикл смещения от 0 до 1 в течение жизни, 2 означает 2 циклов и т. д.
При скорости анимации больше 1 не забудьте включить свойство CanvasItemMaterial.particles_anim_loop, если вы хотите, чтобы анимация повторялась.
Минимальный эквивалент anim_speed_max.
bool attractor_interaction_enabled = true 🔗
Если true, взаимодействие с аттракторами частиц включено. В 3D притяжение происходит только в области, определяемой GPUParticles3D.visibility_aabb узла GPUParticles3D.
Отскок частиц. Значения варьируются от 0 (без отскока) до 1 (полная упругость). Действует только если collision_mode равен COLLISION_RIGID.
Трение частиц. Значения варьируются от 0 (без трения) до 1 (максимальное трение). Действует только если collision_mode равен COLLISION_RIGID.
CollisionMode collision_mode = 0 🔗
void set_collision_mode(value: CollisionMode)
CollisionMode get_collision_mode()
Режим столкновения частиц.
Примечание: 3D-частицы могут сталкиваться только с узлами GPUParticlesCollision3D, а не с узлами PhysicsBody3D. Чтобы частицы сталкивались с различными объектами, можно добавить узлы GPUParticlesCollision3D в качестве дочерних узлов PhysicsBody3D. В 3D-среде столкновения происходят только в области, определяемой GPUParticles3D.visibility_aabb узла GPUParticles3D.
Примечание: 2D-частицы могут сталкиваться только с узлами LightOccluder2D, а не с узлами PhysicsBody2D.
bool collision_use_scale = false 🔗
Если 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 должен быть истинным. Для ShaderMaterial ALBEDO *= COLOR.rgb; должен быть вставлен в функцию fragment() шейдера. В противном случае color не будет иметь видимого эффекта.
Texture2D color_initial_ramp 🔗
Начальный цвет каждой частицы будет меняться вдоль этого GradientTexture1D (умножается на color).
Примечание: color_initial_ramp умножает цвета вершин сетки частиц. Чтобы иметь видимый эффект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo должен быть true. Для ShaderMaterial ALBEDO *= COLOR.rgb; должен быть вставлен в функцию шейдера fragment(). В противном случае color_initial_ramp не будет иметь видимого эффекта.
Цвет каждой частицы будет меняться вдоль этого GradientTexture1D в течение ее жизненного цикла (умножается на color).
Примечание: color_ramp умножает цвета вершин сетки частиц. Чтобы иметь видимый эффект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo должен быть true. Для ShaderMaterial ALBEDO *= COLOR.rgb; должен быть вставлен в функцию шейдера fragment(). В противном случае color_ramp не будет иметь видимого эффекта.
Затухание будет меняться вдоль CurveTexture.
Максимальная скорость, с которой частицы теряют скорость. Например, значение 100 означает, что частица перейдет от скорости 100 до 0 за 1 секунду.
Минимальный эквивалент 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 🔗
Размеры коробки, если emission_shape установлен на EMISSION_SHAPE_BOX.
Примечание: emission_box_extents начинается с центральной точки и применяет значения X, Y и Z в обоих направлениях. Размер в два раза больше площади размеров.
Texture2D emission_color_texture 🔗
Цвет частицы будет модулироваться цветом, определенным путем выборки этой текстуры в той же точке, что и emission_point_texture.
Примечание: emission_color_texture умножает цвета вершин сетки частицы. Чтобы иметь видимый эффект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo должен быть true. Для ShaderMaterial ALBEDO *= COLOR.rgb; должен быть вставлен в функцию шейдера fragment(). В противном случае emission_color_texture не будет иметь видимого эффекта.
Цвет каждой частицы будет умножен на эту CurveTexture в течение ее жизненного цикла.
Примечание: emission_curve умножает цвета вершин сетки частицы. Чтобы иметь видимый эффект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo должен быть true. Для ShaderMaterial ALBEDO *= COLOR.rgb; должен быть вставлен в функцию шейдера fragment(). В противном случае emission_curve не будет иметь видимого эффекта.
Texture2D emission_normal_texture 🔗
Скорость и вращение частиц будут установлены путем выборки этой текстуры в той же точке, что и emission_point_texture. Используется только в EMISSION_SHAPE_DIRECTED_POINTS. Может быть создан автоматически из сетки или узла путем выбора «Создать точки излучения из сетки/узла» под инструментом «Частицы» на панели инструментов.
Количество точек эмиссии, если emission_shape установлен на EMISSION_SHAPE_POINTS или EMISSION_SHAPE_DIRECTED_POINTS.
Texture2D emission_point_texture 🔗
Частицы будут испускаться в позициях, определяемых путем выборки этой текстуры в случайной позиции. Используется с EMISSION_SHAPE_POINTS и EMISSION_SHAPE_DIRECTED_POINTS. Может быть создан автоматически из сетки или узла путем выбора «Создать точки излучения из сетки/узла» под инструментом «Частицы» на панели инструментов.
Ось кольца при использовании излучателя EMISSION_SHAPE_RING.
float emission_ring_cone_angle 🔗
Угол конуса при использовании эмиттера EMISSION_SHAPE_RING. Угол по умолчанию 90 градусов приводит к кольцу, а угол 0 градусов приводит к конусу. Промежуточные значения приведут к кольцу, где один конец больше другого.
Примечание: В зависимости от emission_ring_height угол может быть зафиксирован, если конец кольца достигнут, чтобы сформировать идеальный конус.
Высота кольца при использовании излучателя EMISSION_SHAPE_RING.
float emission_ring_inner_radius 🔗
Внутренний радиус кольца при использовании излучателя EMISSION_SHAPE_RING.
Радиус кольца при использовании излучателя EMISSION_SHAPE_RING.
EmissionShape emission_shape = 0 🔗
void set_emission_shape(value: EmissionShape)
EmissionShape get_emission_shape()
Внутри этой области будут испускаться частицы.
Vector3 emission_shape_offset = Vector3(0, 0, 0) 🔗
Смещение для emission_shape в локальном пространстве.
Vector3 emission_shape_scale = Vector3(1, 1, 1) 🔗
Масштаб emission_shape в локальном пространстве.
float emission_sphere_radius 🔗
Радиус сферы, если emission_shape установлен в EMISSION_SHAPE_SPHERE.
Величина 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 🔗
Процент скорости соответствующих GPUParticles2D или GPUParticles3D, унаследованный каждой частицей при создании.
float initial_velocity_max = 0.0 🔗
Максимальная начальная величина скорости для каждой частицы. Направление определяется из direction и spread.
float initial_velocity_min = 0.0 🔗
Минимальный эквивалент initial_velocity_max.
float lifetime_randomness = 0.0 🔗
Коэффициент случайности времени жизни частицы. Уравнение для времени жизни частицы: 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 🔗
Минимальный эквивалент orbit_velocity_max.
Примечание: Анимированные скорости не будут подвержены демпфированию, вместо этого используйте velocity_limit_curve.
bool particle_flag_align_y = false 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
Совместите ось Y частицы с направлением ее скорости.
bool particle_flag_damping_as_friction = false 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
Изменяет поведение свойств демпфирования с линейного замедления на замедление на основе процента скорости.
bool particle_flag_disable_z = false 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
Если true, частицы не будут двигаться по оси z.
bool particle_flag_rotate_y = false 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
Если 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.
Масштаб каждой частицы будет меняться вдоль этой CurveTexture в течение ее жизни. Если вместо этого предоставлено CurveXYZTexture, масштаб будет разделен по осям.
Максимальный начальный масштаб, применяемый к каждой частице.
Минимальный эквивалент 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.
Начальное направление каждой частицы варьируется от +распространение до -распространение градусов.
int sub_emitter_amount_at_collision 🔗
Количество частиц, которые будут созданы из узла субэмиттера при столкновении. В сочетании с COLLISION_HIDE_ON_CONTACT на основном материале частиц это может быть использовано для достижения таких эффектов, как капли дождя, падающие на землю.
Примечание: Это значение не должно превышать GPUParticles2D.amount или GPUParticles3D.amount, определенных в узле субэмиттера (не главном узле), относительно времени жизни частиц субэмиттера. Если количество частиц превышено, новые частицы не будут созданы из субэмиттера, пока не истечет достаточное количество частиц.
int sub_emitter_amount_at_end 🔗
Количество частиц, которые будут созданы из узла субэмиттера (subemitter), когда частица истекает.
Примечание: Это значение не должно превышать GPUParticles2D.amount или GPUParticles3D.amount, определенных на узле субэмиттера (не главном узле), относительно времени жизни частиц субэмиттера. Если количество частиц превышено, новые частицы не будут созданы из субэмиттера, пока не истекло достаточное количество частиц.
int sub_emitter_amount_at_start 🔗
Количество частиц, которые будут созданы из узла субэмиттера при создании частицы.
Примечание: Это значение не должно превышать GPUParticles2D.amount или GPUParticles3D.amount, определенных на узле субэмиттера (не главном узле), относительно времени жизни частиц субэмиттера. Если количество частиц превышено, новые частицы не будут созданы из субэмиттера, пока не истечет достаточное количество частиц.
Частота, с которой частицы должны испускаться из узла субэмиттера. Одна частица будет порождаться каждые sub_emitter_frequency секунд.
Примечание: Это значение не должно превышать GPUParticles2D.amount или GPUParticles3D.amount, определенные на узле субэмиттера (не главном узле), относительно времени жизни частиц субэмиттера. Если количество частиц превышено, новые частицы не будут порождаться из субэмиттера, пока не истечет достаточное количество частиц.
bool sub_emitter_keep_velocity = false 🔗
Если true, субэмиттер наследует скорость родительской частицы при появлении.
SubEmitterMode sub_emitter_mode = 0 🔗
void set_sub_emitter_mode(value: SubEmitterMode)
SubEmitterMode get_sub_emitter_mode()
Режим субэмиттера частиц (см. 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 🔗
Если true, включает турбулентность для системы частиц. Турбулентность может использоваться для изменения движения частиц в зависимости от их положения (на основе шаблона 3D-шума). В 3D GPUParticlesAttractorVectorField3D с NoiseTexture3D можно использовать в качестве альтернативы турбулентности, которая работает в мировом пространстве и с несколькими системами частиц, реагирующими одинаково.
Примечание: Включение турбулентности имеет высокие затраты производительности на GPU. Включайте турбулентность только на нескольких системах частиц одновременно и рассмотрите возможность ее отключения при ориентации на мобильные/веб-платформы.
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 🔗
Это значение контролирует общий масштаб/частоту картины шума турбулентности.
Малый масштаб приведет к более мелким деталям с большей детализацией, тогда как большой масштаб приведет к более плавному шуму с более крупными деталями.
Vector3 turbulence_noise_speed = Vector3(0, 0, 0) 🔗
Скорость прокрутки для поля турбулентности. Это задает направленный тренд для движения узора со временем.
Значение по умолчанию Vector3(0, 0, 0) отключает прокрутку.
float turbulence_noise_speed_random = 0.2 🔗
Скорость изменения поля турбулентности на месте. Это определяет, насколько быстро меняется картина шума со временем.
Значение 0,0 приведет к фиксированной картине.
float turbulence_noise_strength = 1.0 🔗
Сила шума турбулентности. Увеличение этого параметра приведет к более сильной, контрастной картине потока.
Texture2D velocity_limit_curve 🔗
CurveTexture, определяющий максимальную скорость частицы за время ее жизни.
Vector3 velocity_pivot = Vector3(0, 0, 0) 🔗
Точка опоры, используемая для расчета радиальной и орбитальной скорости частиц.
Описания метода
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) 🔗
Устанавливает partial_flag в значение enable.