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.
Checking the stable version of the documentation...
CPUParticles2D
Успадковує: Node2D < CanvasItem < Node < Object
Випромінювач частинок процесора 2D.
Опис
Процесорна частина 2D використовується для створення різних систем частинок і ефектів.
Дивись також GPUParticles2D, що забезпечує той самий функціонал з прискоренням обладнання, але не може працювати на старих пристроях.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Vector2 |
|
|
|
||
PackedColorArray |
||
PackedVector2Array |
||
PackedVector2Array |
||
Vector2 |
||
|
||
|
||
|
||
|
||
|
||
Vector2 |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
PhysicsInterpolationMode |
physics_interpolation_mode |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Texture2D |
||
|
Методи
void |
convert_from_particles(particles: Node) |
get_param_curve(param: Parameter) const |
|
get_param_max(param: Parameter) const |
|
get_param_min(param: Parameter) const |
|
get_particle_flag(particle_flag: ParticleFlags) const |
|
void |
request_particles_process(process_time: float, process_time_residual: float = 0.0) |
void |
|
void |
set_param_curve(param: Parameter, curve: Curve) |
void |
set_param_max(param: Parameter, value: float) |
void |
set_param_min(param: Parameter, value: float) |
void |
set_particle_flag(particle_flag: ParticleFlags, enable: bool) |
Сигнали
finished() 🔗
Випробувано, коли всі активні частинки закінчили обробку. Коли one_shot вимкнено, частинки будуть оброблятися безперервно, тому це ніколи не вдається.
Переліки
enum DrawOrder: 🔗
DrawOrder DRAW_ORDER_INDEX = 0
Терміни нараховуються в порядку, передбаченому.
DrawOrder DRAW_ORDER_LIFETIME = 1
Терміни нараховуються в порядку денного життя. Іншими словами, частинка з найвищим терміном придатна на фронті.
enum Parameter: 🔗
Parameter PARAM_INITIAL_LINEAR_VELOCITY = 0
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення початкових властивостей швидкості.
Parameter PARAM_ANGULAR_VELOCITY = 1
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення кутових властивостей швидкості.
Parameter PARAM_ORBIT_VELOCITY = 2
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення орбітальних властивостей швидкості.
Parameter PARAM_LINEAR_ACCEL = 3
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення лінійних властивостей прискорення.
Parameter PARAM_RADIAL_ACCEL = 4
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення радіального прискорення властивостей.
Parameter PARAM_TANGENTIAL_ACCEL = 5
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення тангенціальних властивостей прискорення.
Parameter PARAM_DAMPING = 6
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення демпферних властивостей.
Parameter PARAM_ANGLE = 7
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення кутових властивостей.
Parameter PARAM_SCALE = 8
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення вагових властивостей.
Parameter PARAM_HUE_VARIATION = 9
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення параметрів відтінку.
Parameter PARAM_ANIM_SPEED = 10
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення параметрів анімації.
Parameter PARAM_ANIM_OFFSET = 11
Використовуйте з set_param_min(), set_param_max(), і set_param_curve() для встановлення анімаційних офсетних властивостей.
Parameter PARAM_MAX = 12
Представляємо розмір параметра Parameter.
enum ParticleFlags: 🔗
ParticleFlags PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY = 0
Використовуйте з set_particle_flag() для встановлення particle_flag_align_y.
ParticleFlags PARTICLE_FLAG_ROTATE_Y = 1
Представлений для консистенції з 3D частинками, не використовується в 2D.
ParticleFlags PARTICLE_FLAG_DISABLE_Z = 2
Представлений для консистенції з 3D частинками, не використовується в 2D.
ParticleFlags PARTICLE_FLAG_MAX = 3
Представляємо розмір ParticleFlags enum.
enum EmissionShape: 🔗
EmissionShape EMISSION_SHAPE_POINT = 0
Всі частинки будуть вдаватися з однієї точки.
EmissionShape EMISSION_SHAPE_SPHERE = 1
У об'ємі сфери, що випускається до двох розмірів.
EmissionShape EMISSION_SHAPE_SPHERE_SURFACE = 2
На поверхні сфери, що випускається до двох розмірів.
EmissionShape EMISSION_SHAPE_RECTANGLE = 3
У зоні прямокутника в'яжуть частки.
EmissionShape EMISSION_SHAPE_POINTS = 4
Часті дії будуть видані на позиції, вибраному випадковим чином серед emission_points. Колір частинок буде модулювати emission_colors.
EmissionShape EMISSION_SHAPE_DIRECTED_POINTS = 5
Часті дії будуть видані на позиції, вибраному випадковим чином серед emission_points. Швидкість і обертання частинок буде встановлена на основі emission_normals. Колір частинок буде модулювати emission_colors.
EmissionShape EMISSION_SHAPE_RING = 6
Частинки будуть випромінюватися в області кільця, параметризованого його зовнішнім та внутрішнім радіусами.
EmissionShape EMISSION_SHAPE_MAX = 7
Представляємо розмір EmissionShape enum.
Описи властивостей
Кількість частинок, які випромінюються в одному циклі викидів.
Обертання кожної частинки буде анімовано вздовж цієї Curve. Має бути одиницею Curve.
Максимальне початкове обертання наноситься на кожну частинку, в градусах.
Мінімальний еквівалент angle_max.
Curve angular_velocity_curve 🔗
Кутова швидкість кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float angular_velocity_max = 0.0 🔗
Максимальна початкова кутова швидкістю (швидкість обертання) наноситься на кожну *частинку *.
float angular_velocity_min = 0.0 🔗
Мінімальний еквівалент angular_velocity_max.
Зсув анімації кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
Максимальна анімація зсуву, яка відповідає індексу кадрів в фактурі. 0 є першим кадром, 1 є останній. Див. CanvasItemMaterial.article_animation.
Мінімальний еквівалент anim_offset_max.
Швидкість анімації кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
Максимальна швидкість анімації частинок. Швидкість анімації 1 означає, що частинки змусять завершити 0 до 1 зсувний цикл протягом життя 2 та 2 цикли і т.д.
З швидкістю анімації більше 1, пам'ятайте, що ввімкнено CanvasItemMaterial.article_anim_loop властивість, якщо ви хочете анімацію повторити.
Мінімальний еквівалент anim_speed_max.
Color color = Color(1, 1, 1, 1) 🔗
Кожен початковий колір частинки. Якщо texture визначено, він буде багатопліфікований цим кольором.
Початковий колір кожної частинки змінюватиметься вздовж цього Gradient (помноженого на color).
Колір кожної частинки змінюватиметься вздовж цього Gradient протягом свого життя (помноженого на color).
Демпфування змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
Максимальна швидкість, при якій частки втрачають швидкість. Наприклад, значення 100 означає, що частинка буде йти з 100 швидкість до 0 в 1 другий.
Мінімальний еквівалент damping_max.
Vector2 direction = Vector2(1, 0) 🔗
void set_direction(value: Vector2)
Vector2 get_direction()
Блок векторний, що визначає напрямок викидів частинок.
Порядок малювання частинок.
PackedColorArray emission_colors 🔗
void set_emission_colors(value: PackedColorArray)
PackedColorArray get_emission_colors()
Налаштовує Color для модуляції частинок при використанні EMISSION_SHAPE_POINTS або EMISSION_SHAPE_DIRECTED_POINTS.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedColorArray for more details.
PackedVector2Array emission_normals 🔗
void set_emission_normals(value: PackedVector2Array)
PackedVector2Array get_emission_normals()
При використанні EMISSION_SHAPE_DIRECTED_POINTS ввімкнено частинки.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.
PackedVector2Array emission_points 🔗
void set_emission_points(value: PackedVector2Array)
PackedVector2Array get_emission_points()
Налаштовує початкові позиції для спавних частинок при використанні EMISSION_SHAPE_POINTS або EMISSION_SHAPE_DIRECTED_POINTS.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.
Vector2 emission_rect_extents 🔗
void set_emission_rect_extents(value: Vector2)
Vector2 get_emission_rect_extents()
У випадку, якщо emission_shape встановлюється до EMISSION_SHAPE_RECTANGLE.
float emission_ring_inner_radius 🔗
Внутрішній радіус кільця, якщо для emission_shape встановлено значення ФОРМА_ЕМІСІЇ_КІЛЬЦЯ.
Зовнішній радіус кільця, якщо для параметра emission_shape встановлено значення EMISSION_SHAPE_RING.
EmissionShape emission_shape = 0 🔗
void set_emission_shape(value: EmissionShape)
EmissionShape get_emission_shape()
Частинки будуть викидатися всередині цієї області.
float emission_sphere_radius 🔗
Радіус сфери, якщо emission_shape встановлюється до EMISSION_SHAPE_SPHERE.
Якщо true, частинки вдаються. emitting може бути використаний для запуску та припинення частинок з випромінювання. Тим не менш, якщо one_shot є true налаштування emitting до true не перезапустити цикл випромінювання до після обробки всіх активних частинок. Ви можете використовувати сигнал finished, який буде повідомлено один раз, коли всі активні частинки закінчуються обробкою.
Як швидко викидаються частинки в циклі емісії. Якщо більше 0, з'явиться проміжок викидів до наступного циклу.
Швидкість рами частинок фіксується до значення. Наприклад, зміна значення до 2 призведе до зменшення частинок на 2 кадри на другий. Зверніть увагу, що це не уповільнює моделювання самої системи частинок.
Якщо true, результати розрахунку дробової дельти, яка має ефект відображення гладких частинок.
Vector2 gravity = Vector2(0, 980) 🔗
void set_gravity(value: Vector2)
Vector2 get_gravity()
Гравітність наноситься на кожну частинку.
Відтінок кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float hue_variation_max = 0.0 🔗
Максимальна початкова зміна відтінку, що застосовується до кожної частинки. Він зміщує відтінок частинок.
float hue_variation_min = 0.0 🔗
Мінімальний еквівалент hue_variation_max.
float initial_velocity_max = 0.0 🔗
Максимальна початкова величина швидкості для кожної частинки. Пряме з direction і spread.
float initial_velocity_min = 0.0 🔗
Мінімальний еквівалент initial_velocity_max.
Кількість часу кожної частинки буде існувати.
float lifetime_randomness = 0.0 🔗
Термін служби частинок випадковим чином.
Лінійне прискорення кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float linear_accel_max = 0.0 🔗
Максимальне лінійне прискорення наноситься на кожну частинку в напрямку руху.
float linear_accel_min = 0.0 🔗
Мінімальний еквівалент linear_accel_max.
Якщо true, частинки використовують координаційний простір материнської вершини (відомі як локальні координати). Це спричинить частинки для переміщення та обертання вздовж вершини CPUParticles2D (і його батьки), коли він переміщається або обертається. Якщо false, частинки використовують глобальні координати; вони не перейдуть або обертаються вздовж вузла CPUParticles2D (і його батьки), коли він переміщається або обертається.
Якщо true, виникає лише один цикл викидів. Якщо встановити true під час циклу, емісія буде припинена в кінці циклу.
Орбітальна швидкість кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float orbit_velocity_max = 0.0 🔗
Максимальна орбітальна швидкість наноситься на кожну частинку. Зробіть коло частинок навколо походження. Вказано в кількості повних обертань навколо походження за секунду.
float orbit_velocity_min = 0.0 🔗
Мінімальний еквівалент orbit_velocity_max.
bool particle_flag_align_y = false 🔗
void set_particle_flag(particle_flag: ParticleFlags, enable: bool)
bool get_particle_flag(particle_flag: ParticleFlags) const
Вирівнююча вісь Y з напрямком її швидкості.
Система частинок починається, якщо вона вже була запущена протягом багатьох секунд.
Радіальне прискорення кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float radial_accel_max = 0.0 🔗
Максимальна радіальна прискорення наноситься на кожну частинку. Прискорює часток від походження або до нього, якщо негативно.
float radial_accel_min = 0.0 🔗
Мінімальний еквівалент radial_accel_max.
Відносність термінів життя емісії.
Масштаб кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float scale_amount_max = 1.0 🔗
Максимальна початкова шкала наноситься на кожну частинку.
float scale_amount_min = 1.0 🔗
Мінімальний еквівалент scale_amount_max.
Горизонтальний масштаб кожної частинки змінюватиметься вздовж цієї Curve. Повинна бути одинична Curve.
split_scale має бути ввімкнено.
Вертикальний масштаб кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
split_scale має бути ввімкнено.
Встановлює випадкове початкове число, яке використовується системою частинок. Ефективно, лише якщо use_fixed_seed має значення true.
Співвідношення швидкості масштабування частинок. Значення 0 можна використовувати для паузи частинок.
Якщо значення true, крива масштабування буде розділена на компоненти x та y. Див. scale_curve_x та scale_curve_y.
Діапазон початкового напрямку частинок від `` +спред`` до -спред. градусів.
Curve tangential_accel_curve 🔗
Тангенціальне прискорення кожної частинки змінюватиметься вздовж цієї Curve. Має бути одиницею Curve.
float tangential_accel_max = 0.0 🔗
Максимальне тангенціальне прискорення наноситься на кожну частинку. Танкенціальне прискорення є перпендикулярно швидкості частинок, що дає частинки рухомий рух.
float tangential_accel_min = 0.0 🔗
Мінімальний еквівалент tangential_accel_max.
Texture2D texture 🔗
void set_texture(value: Texture2D)
Texture2D get_texture()
Текстура частинок. Якщо null, частинки будуть квадрати.
Якщо true, частинки використовуватимуть той самий сімпл для кожної симуляції, використовуючи сімпл, визначений у seed. Це корисно у ситуаціях, коли візуальний результат має бути однаковим у всіх відтвореннях, наприклад, при використанні режиму Movie Maker.
Описи методів
void convert_from_particles(particles: Node) 🔗
Налаштовує властивості цього вузла, щоб відповідати даній GPUParticles2D вершині з призначеним ParticleProcessMaterial.
Curve get_param_curve(param: Parameter) const 🔗
Повертає параметр Curve параметра, вказаний параметром Parameter.
float get_param_max(param: Parameter) const 🔗
Повертає максимальний діапазон значень для даного параметра.
float get_param_min(param: Parameter) const 🔗
Повертає діапазон мінімального значення для даного параметра.
bool get_particle_flag(particle_flag: ParticleFlags) const 🔗
Повертає увімкнений стан заданого прапора частинки.
void request_particles_process(process_time: float, process_time_residual: float = 0.0) 🔗
Requests the particles to process for extra process time during a single frame.
process_time defines the time that the particles will process while emitting is on. process_time_residual defines the time that particles will process with emitting turned off for the simulation. When combined with speed_scale set to 0.0, this is useful to be able to seek a particle system timeline.
void restart(keep_seed: bool = false) 🔗
Перезапускає емітер частинок.
Якщо keep_seed має значення true, поточне випадкове початкове число буде збережено. Корисно для пошуку та відтворення.
void set_param_curve(param: Parameter, curve: Curve) 🔗
Встановлює Curve параметра, заданого eunm Parameter. Має бути одиницею вимірювання Curve.
void set_param_max(param: Parameter, value: float) 🔗
Налаштовує максимальне значення для даного параметра.
void set_param_min(param: Parameter, value: float) 🔗
Налаштовує мінімальне значення для даного параметра.
void set_particle_flag(particle_flag: ParticleFlags, enable: bool) 🔗
Вмикає або вимикає заданий прапор частинки.