ParticleProcessMaterial
Успадковує: Material < Resource < RefCounted < Object
Утримуйте конфігурацію частинок для GPUParticles2D або GPUParticles3D вузлів.
Опис
ParticleProcessMaterial визначає властивості частинок і поведінку. Використовується в process_material GPUParticles2D і GPUParticles3D nodes. Деякі властивості цього матеріалу застосовуються до кожної частинки при введенні, в той час як інші можуть мати 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() для встановлення 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.
Описи властивостей
Значення альфа кольору кожної частинки буде помножено на цю CurveTexture протягом її життя.
Примітка: alpha_curve помножує кольори вершин сітки частинок. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo має бути true. Для ShaderMaterial ALBEDO *= COLOR.rgb; потрібно вставити у функцію fragment() шейдера. Інакше alpha_curve не матиме видимого ефекту.
Кожне обертання часток буде анімованим по цьому CurveTexture.
Максимальне початкове обертання, що застосовується до кожної частинки, у градусах.
Застосовується лише тоді, коли particle_flag_disable_z або particle_flag_rotate_y чи є true, або BaseMaterial3D, що використовується для малювання частинки, використовує BaseMaterial3D.BILLBOARD_PARTICLES.
Мінімальний еквівалент 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.
Кожна анімація частинки буде змінюватися вздовж цього CurveTexture.
Максимальна анімація зсуву, яка відповідає індексу кадрів в фактурі. 0 є першим кадром, 1 є останній. Див. CanvasItemMaterial.article_animation.
Мінімальний еквівалент anim_offset_max.
Кожна швидкість анімації частинок буде відрізнятися по цій CurveTexture.
Максимальна швидкість анімації частинок. Швидкість анімації 1 означає, що частинки змусять завершити 0 до 1 зсувний цикл протягом життя 2 та 2 цикли і т.д.
З швидкістю анімації більше 1, пам'ятайте, що ввімкнено CanvasItemMaterial.article_anim_loop властивість, якщо ви хочете анімацію повторити.
Мінімальний еквівалент anim_speed_max.
bool attractor_interaction_enabled = true 🔗
Якщо true, ввімкнено взаємодію з деталями. У 3D, атракціон тільки відбувається в межах області, визначеної GPUParticles3D вершини GPUPaarticle3D.visibility_aabb.
Стрибкість частинок. Значення варіюються від 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 вершини GPUPaarticle3D.visibility_aabb.
Примітка: 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 повинен бути 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 не буде видно ефект.
Кожен колір частинок буде варіюватися вздовж цього GradientTexture1D над його життям (повнений кольором color).
Примітка: color_ramp мультиплікації кольорів вершин частинок сітки. Щоб мати видимий ефект на BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo must true. Для ShaderMaterial ALBEDO *= COLOR.rgb; необхідно вставляти в фрагменті шейра `` ()``. В іншому випадку 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 must true. Для ShaderMaterial ALBEDO *= COLOR.rgb; необхідно вставляти в фрагмент шейра `` ()``. В іншому випадку, 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 🔗
Мінімальний еквівалент пам'яна орбіта_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 на матеріалі основних частинок, це може бути використаний для досягнення ефектів, таких як плащі, що попадають землю.
Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPUPaarticle3D.amount, визначені на subemitter node (не головного вузла), відносно термінів частинок субеміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.
int sub_emitter_amount_at_end 🔗
Кількість частинок для спавна від вузла субекміттера, коли частинка закінчується.
Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPUPaarticle3D.amount, визначені на subemitter node (не головного вузла), відносно термінів частинок субекміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.
int sub_emitter_amount_at_start 🔗
Кількість частинок, які породжуються з вузла підвипромінювача, коли частинки породжуються.
Примітка: Це значення не повинно перевищувати GPUParticles2D.amount або GPUParticles3D.amount, визначені на вузлі підвипромінювача (а не на головному вузлі), відносно часу життя частинки підвипромінювача. Якщо кількість частинок перевищено, нові частинки не з’являться із субімітера, доки не закінчиться достатня кількість частинок.
Частота, при якій частинки повинні бути емітовані з вузла підеміттера. Одна частинка буде спарована кожен пам'ятний суб_emitter_частот секунд.
Примітка: Дана вартість не повинна перевищувати GPUPaarticle2D.amount або GPU3D.amount, визначених на subemitter node (не головного вузла), відносно термінів частинок субеміттера. Якщо кількість частинок перевищено, нові частинки не будуть спалюватися від субеміттера до тих пір, поки не закінчуються достатні частинки.
bool sub_emitter_keep_velocity = false 🔗
Якщо true, субemitter успадкує швидкість батьківських частинок, коли він спавнс.
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. Тільки ввімкніть турбулентність на декількох системах частинок одночасно, і врахуйте його відключення при налаштуванні мобільних/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 🔗
Це значення контролює загальний масштаб / частота шаблону шуму турбулентності.
Невелика шкала призведе до менших функцій з більш детальною деталями в той час як висока шкала призведе до гладкого шуму з більшими можливостями.
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) 🔗
Точка 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.