mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
972 lines
56 KiB
ReStructuredText
972 lines
56 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_GPUParticles3D:
|
||
|
||
GPUParticles3D
|
||
==============
|
||
|
||
**Успадковує:** :ref:`GeometryInstance3D<class_GeometryInstance3D>` **<** :ref:`VisualInstance3D<class_VisualInstance3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
Випромінювач частинок 3D.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
3D частинний вузол використовується для створення різних систем частинок і ефектів. **GPUParticles3D** містить випромінювач, який генерує певну кількість частинок при даній швидкості.
|
||
|
||
Використовуйте :ref:`process_material<class_GPUParticles3D_property_process_material>`, щоб додати :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>` для налаштування зовнішнього вигляду частинок та поведінки. Крім того, ви можете додати :ref:`ShaderMaterial<class_ShaderMaterial>`, який буде застосовуватися до всіх частинок.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Посібники
|
||
------------------
|
||
|
||
- :doc:`Системи частинок (3D) <../tutorials/3d/particles/index>`
|
||
|
||
- :doc:`Контроль тисяч риб з періодичністю <../tutorials/performance/vertex_animation/controlling_thousands_of_fish>`
|
||
|
||
- `Демо-версія шутера від третьої особи (TPS) <https://godotengine.org/asset-library/asset/2710>`__
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Властивості
|
||
----------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`amount<class_GPUParticles3D_property_amount>` | ``8`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` | ``1.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`collision_base_size<class_GPUParticles3D_property_collision_base_size>` | ``0.01`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` | :ref:`draw_order<class_GPUParticles3D_property_draw_order>` | ``0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Mesh<class_Mesh>` | :ref:`draw_pass_1<class_GPUParticles3D_property_draw_pass_1>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Mesh<class_Mesh>` | :ref:`draw_pass_2<class_GPUParticles3D_property_draw_pass_2>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Mesh<class_Mesh>` | :ref:`draw_pass_3<class_GPUParticles3D_property_draw_pass_3>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Mesh<class_Mesh>` | :ref:`draw_pass_4<class_GPUParticles3D_property_draw_pass_4>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`draw_passes<class_GPUParticles3D_property_draw_passes>` | ``1`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Skin<class_Skin>` | :ref:`draw_skin<class_GPUParticles3D_property_draw_skin>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`emitting<class_GPUParticles3D_property_emitting>` | ``true`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`explosiveness<class_GPUParticles3D_property_explosiveness>` | ``0.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`fixed_fps<class_GPUParticles3D_property_fixed_fps>` | ``30`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`fract_delta<class_GPUParticles3D_property_fract_delta>` | ``true`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`interp_to_end<class_GPUParticles3D_property_interp_to_end>` | ``0.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`interpolate<class_GPUParticles3D_property_interpolate>` | ``true`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`lifetime<class_GPUParticles3D_property_lifetime>` | ``1.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`local_coords<class_GPUParticles3D_property_local_coords>` | ``false`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`one_shot<class_GPUParticles3D_property_one_shot>` | ``false`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`preprocess<class_GPUParticles3D_property_preprocess>` | ``0.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Material<class_Material>` | :ref:`process_material<class_GPUParticles3D_property_process_material>` | |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`randomness<class_GPUParticles3D_property_randomness>` | ``0.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`seed<class_GPUParticles3D_property_seed>` | ``0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`speed_scale<class_GPUParticles3D_property_speed_scale>` | ``1.0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`NodePath<class_NodePath>` | :ref:`sub_emitter<class_GPUParticles3D_property_sub_emitter>` | ``NodePath("")`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`trail_enabled<class_GPUParticles3D_property_trail_enabled>` | ``false`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`trail_lifetime<class_GPUParticles3D_property_trail_lifetime>` | ``0.3`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` | :ref:`transform_align<class_GPUParticles3D_property_transform_align>` | ``0`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`use_fixed_seed<class_GPUParticles3D_property_use_fixed_seed>` | ``false`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`AABB<class_AABB>` | :ref:`visibility_aabb<class_GPUParticles3D_property_visibility_aabb>` | ``AABB(-4, -4, -4, 8, 8, 8)`` |
|
||
+-----------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`AABB<class_AABB>` | :ref:`capture_aabb<class_GPUParticles3D_method_capture_aabb>`\ (\ ) |const| |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`convert_from_particles<class_GPUParticles3D_method_convert_from_particles>`\ (\ particles\: :ref:`Node<class_Node>`\ ) |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`emit_particle<class_GPUParticles3D_method_emit_particle>`\ (\ xform\: :ref:`Transform3D<class_Transform3D>`, velocity\: :ref:`Vector3<class_Vector3>`, color\: :ref:`Color<class_Color>`, custom\: :ref:`Color<class_Color>`, flags\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Mesh<class_Mesh>` | :ref:`get_draw_pass_mesh<class_GPUParticles3D_method_get_draw_pass_mesh>`\ (\ pass\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`request_particles_process<class_GPUParticles3D_method_request_particles_process>`\ (\ process_time\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`restart<class_GPUParticles3D_method_restart>`\ (\ keep_seed\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_draw_pass_mesh<class_GPUParticles3D_method_set_draw_pass_mesh>`\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ ) |
|
||
+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигнали
|
||
--------------
|
||
|
||
.. _class_GPUParticles3D_signal_finished:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**finished**\ (\ ) :ref:`🔗<class_GPUParticles3D_signal_finished>`
|
||
|
||
Випромінюється, коли всі активні частинки закінчили обробку. Щоб негайно перезапустити цикл викидів, викличте :ref:`restart()<class_GPUParticles3D_method_restart>`.
|
||
|
||
Цей сигнал ніколи не випромінюється, коли :ref:`one_shot<class_GPUParticles3D_property_one_shot>` вимкнено, оскільки частинки випромінюються та обробляються постійно.
|
||
|
||
\ **Примітка:** Для випромінювачів :ref:`one_shot<class_GPUParticles3D_property_one_shot>`, через те, що частинки обчислюються графічним процесором, може бути короткий період після отримання сигналу, протягом якого налаштування :ref:`emitting<class_GPUParticles3D_property_emitting>` на ``true`` не перезапустить цикл випромінювання. Цю затримку можна уникнути шляхом виклику :ref:`restart()<class_GPUParticles3D_method_restart>`.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Переліки
|
||
----------------
|
||
|
||
.. _enum_GPUParticles3D_DrawOrder:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **DrawOrder**: :ref:`🔗<enum_GPUParticles3D_DrawOrder>`
|
||
|
||
.. _class_GPUParticles3D_constant_DRAW_ORDER_INDEX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **DRAW_ORDER_INDEX** = ``0``
|
||
|
||
Терміни нараховуються в порядку, передбаченому.
|
||
|
||
.. _class_GPUParticles3D_constant_DRAW_ORDER_LIFETIME:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **DRAW_ORDER_LIFETIME** = ``1``
|
||
|
||
Терміни нараховуються в порядку денного життя. Іншими словами, частинка з найвищим терміном придатна на фронті.
|
||
|
||
.. _class_GPUParticles3D_constant_DRAW_ORDER_REVERSE_LIFETIME:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **DRAW_ORDER_REVERSE_LIFETIME** = ``2``
|
||
|
||
Терміни нараховуються у зворотному порядку решти життя. Іншими словами, частинка з найнижчим терміном наноситься на передній.
|
||
|
||
.. _class_GPUParticles3D_constant_DRAW_ORDER_VIEW_DEPTH:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **DRAW_ORDER_VIEW_DEPTH** = ``3``
|
||
|
||
Терміни натягуються для глибини.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_GPUParticles3D_EmitFlags:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **EmitFlags**: :ref:`🔗<enum_GPUParticles3D_EmitFlags>`
|
||
|
||
.. _class_GPUParticles3D_constant_EMIT_FLAG_POSITION:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>` **EMIT_FLAG_POSITION** = ``1``
|
||
|
||
На вказаному положенні стартує частинка.
|
||
|
||
.. _class_GPUParticles3D_constant_EMIT_FLAG_ROTATION_SCALE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>` **EMIT_FLAG_ROTATION_SCALE** = ``2``
|
||
|
||
Частка починається з вказаного обертання і ваги.
|
||
|
||
.. _class_GPUParticles3D_constant_EMIT_FLAG_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>` **EMIT_FLAG_VELOCITY** = ``4``
|
||
|
||
Частинка починається з вказаного вектора швидкості, який визначає напрямок викидів і швидкість.
|
||
|
||
.. _class_GPUParticles3D_constant_EMIT_FLAG_COLOR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>` **EMIT_FLAG_COLOR** = ``8``
|
||
|
||
Стіч починається з вказаного кольору.
|
||
|
||
.. _class_GPUParticles3D_constant_EMIT_FLAG_CUSTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>` **EMIT_FLAG_CUSTOM** = ``16``
|
||
|
||
Наклад починається з вказаних ``CUSTOM`` даних.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_GPUParticles3D_TransformAlign:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **TransformAlign**: :ref:`🔗<enum_GPUParticles3D_TransformAlign>`
|
||
|
||
.. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_DISABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_DISABLED** = ``0``
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this enum. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
|
||
|
||
.. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Z_BILLBOARD:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Z_BILLBOARD** = ``1``
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this enum. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
|
||
|
||
.. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Y_TO_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Y_TO_VELOCITY** = ``2``
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this enum. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
|
||
|
||
.. _class_GPUParticles3D_constant_TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY** = ``3``
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this enum. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Константи
|
||
------------------
|
||
|
||
.. _class_GPUParticles3D_constant_MAX_DRAW_PASSES:
|
||
|
||
.. rst-class:: classref-constant
|
||
|
||
**MAX_DRAW_PASSES** = ``4`` :ref:`🔗<class_GPUParticles3D_constant_MAX_DRAW_PASSES>`
|
||
|
||
Підтримується максимальна кількість витяжок.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи властивостей
|
||
------------------------------------
|
||
|
||
.. _class_GPUParticles3D_property_amount:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **amount** = ``8`` :ref:`🔗<class_GPUParticles3D_property_amount>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_amount**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_amount**\ (\ )
|
||
|
||
Кількість частинок для випромінювання в одному циклі випромінювання. Ефективна швидкість емісії ``(amount * amount_ratio) / життя`` частинки на секунду. Більші значення підвищать вимоги до GPU, навіть якщо не всі частинки видимі в обумовлений час або якщо знизився кількість пам'яті.
|
||
|
||
\ **Примітка:** Зміна цього значення призведе до перезавантаження системи частинок. Щоб уникнути цього, змініть :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` замість.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_amount_ratio:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **amount_ratio** = ``1.0`` :ref:`🔗<class_GPUParticles3D_property_amount_ratio>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_amount_ratio**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_amount_ratio**\ (\ )
|
||
|
||
Співвідношення частинок, які насправді повинні бути введеними. Якщо встановити значення нижче ``1.0``, це буде встановлено кількість вживаних частинок протягом усього життя ``amount * кількість_ratio``. На відміну від зміни :ref:`amount<class_GPUParticles3D_property_amount>`, зміни :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` при випромінюванні не впливає вже наявні частинки і не викликає системи частинок для перезавантаження. :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` може бути використана для створення ефектів, які роблять число вживаних частинок варіюватися з часом.
|
||
|
||
\ **Примітка:** Зменшення :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>` не має допомоги продуктивності, так як ресурси повинні бути виділені і оброблені для всього :ref:`amount<class_GPUParticles3D_property_amount>` частинок незалежно від :ref:`amount_ratio<class_GPUParticles3D_property_amount_ratio>`. Якщо ви не маєте намір змінити кількість частинок, які випромінюються, тоді як частинки випромінюють, переконайтеся, що :ref:`кількість_ratio<class_GPUParticles3D_property_кількість_ratio>` встановлюється до ``1`` і змініть :ref:`amount<class_GPUParticles3D_property_amount>` до вашої кришки замість.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_collision_base_size:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **collision_base_size** = ``0.01`` :ref:`🔗<class_GPUParticles3D_property_collision_base_size>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_collision_base_size**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_collision_base_size**\ (\ )
|
||
|
||
Діаметр основи зіткнення частинок в метрах. Якщо з'являються частинки, щоб мити в грунт, коли з'єднання, збільшити це значення. Якщо частинки з'являються до плавлення при співвідношенні, знижують це значення. Тільки ефективний, якщо :ref:`ParticleProcessMaterial.collision_mode<class_ParticleProcessMaterial_property_collision_mode>` є :ref:`ParticleProcessMaterial.COLLISION_RIGID<class_ParticleProcessMaterial_constant_COLLISION_RIGID>` або :ref:`ParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT<class_ParticleProcessMaterial_constant_COLLISION_HIDE_ON_CONTACT>`.
|
||
|
||
\ **Примітки:** завжди мають сферичну форму зіткнення.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_order:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **draw_order** = ``0`` :ref:`🔗<class_GPUParticles3D_property_draw_order>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_order**\ (\ value\: :ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>`\ )
|
||
- :ref:`DrawOrder<enum_GPUParticles3D_DrawOrder>` **get_draw_order**\ (\ )
|
||
|
||
Порядок малювання частинок.
|
||
|
||
\ **Примітка:** :ref:`DRAW_ORDER_INDEX<class_GPUParticles3D_constant_DRAW_ORDER_INDEX>` – єдиний параметр, який підтримує вектори руху для ефектів, таких як TAA. Рекомендується використовувати цей порядок малювання, якщо частинки непрозорі, щоб виправити артефакти ореолу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_pass_1:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Mesh<class_Mesh>` **draw_pass_1** :ref:`🔗<class_GPUParticles3D_property_draw_pass_1>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ )
|
||
- :ref:`Mesh<class_Mesh>` **get_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`\ ) |const|
|
||
|
||
:ref:`Mesh<class_Mesh>`, що намальовується для першого розіграшу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_pass_2:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Mesh<class_Mesh>` **draw_pass_2** :ref:`🔗<class_GPUParticles3D_property_draw_pass_2>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ )
|
||
- :ref:`Mesh<class_Mesh>` **get_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`\ ) |const|
|
||
|
||
:ref:`Mesh<class_Mesh>`, що намальовується на другий прохід.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_pass_3:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Mesh<class_Mesh>` **draw_pass_3** :ref:`🔗<class_GPUParticles3D_property_draw_pass_3>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ )
|
||
- :ref:`Mesh<class_Mesh>` **get_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`\ ) |const|
|
||
|
||
:ref:`Mesh<class_Mesh>`, що намальовується на третій прохід.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_pass_4:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Mesh<class_Mesh>` **draw_pass_4** :ref:`🔗<class_GPUParticles3D_property_draw_pass_4>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ )
|
||
- :ref:`Mesh<class_Mesh>` **get_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`\ ) |const|
|
||
|
||
:ref:`Mesh<class_Mesh>`, що намальовується на четвертий прохід.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_passes:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **draw_passes** = ``1`` :ref:`🔗<class_GPUParticles3D_property_draw_passes>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_draw_passes**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_draw_passes**\ (\ )
|
||
|
||
Кількість проходжень при рендерингу частинок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_draw_skin:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Skin<class_Skin>` **draw_skin** :ref:`🔗<class_GPUParticles3D_property_draw_skin>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_skin**\ (\ value\: :ref:`Skin<class_Skin>`\ )
|
||
- :ref:`Skin<class_Skin>` **get_skin**\ (\ )
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this property. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_emitting:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **emitting** = ``true`` :ref:`🔗<class_GPUParticles3D_property_emitting>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_emitting**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_emitting**\ (\ )
|
||
|
||
Якщо ``true``, частинки вдаються. ``пам'ятне випромінювання`` може бути використаний для запуску та припинення частинок з випромінювання. Однак, якщо :ref:`one_shot<class_GPUParticles3D_property_one_shot>` є ``true`` налаштування :ref:`emitting<class_GPUParticles3D_property_emitting>` до ``true`` не перезапустити цикл викидів, якщо всі активні частинки закінчилися обробки. Використовуйте :ref:`finished<class_GPUParticles3D_signal_finished>` сигнал, який буде повідомлено один раз, коли всі активні обробки частинок.
|
||
|
||
\ **Примітка:** Для :ref:`one_shot<class_GPUParticles3D_property_one_shot>` випромінювачів, через частинки, що комп'ютерні на GPU, може бути короткий період після отримання сигналу :ref:`finished<class_GPUParticles3D_signal_finished>`, під час якого налаштування цього ``true`` не буде перезапустити цикл емісії.
|
||
|
||
\ **Підказка:** Якщо ваш :ref:`one_shot<class_GPUParticles3D_property_one_shot>` випромінювач повинен негайно перезапустити частинки після отримання сигналу, розгляньте виклик :ref:`restart()<class_GPUParticles3D_method_restart>` замість налаштування :ref:`emitting<class_GPUParticles3D_property_emitting>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_explosiveness:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **explosiveness** = ``0.0`` :ref:`🔗<class_GPUParticles3D_property_explosiveness>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_explosiveness_ratio**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_explosiveness_ratio**\ (\ )
|
||
|
||
Часовий співвідношення між комісією. Якщо ``0``, частинки безперервно випускаються. Якщо ``1``, всі частинки одночасно продаються.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_fixed_fps:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **fixed_fps** = ``30`` :ref:`🔗<class_GPUParticles3D_property_fixed_fps>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_fixed_fps**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_fixed_fps**\ (\ )
|
||
|
||
Швидкість рами частинок фіксується до значення. Наприклад, зміна значення до 2 призведе до зменшення частинок на 2 кадри на другий. Зверніть увагу, що це не уповільнює моделювання самої системи частинок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_fract_delta:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **fract_delta** = ``true`` :ref:`🔗<class_GPUParticles3D_property_fract_delta>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_fractional_delta**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_fractional_delta**\ (\ )
|
||
|
||
Якщо ``true``, результати розрахунку дробової дельти, яка має ефект відображення гладких частинок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_interp_to_end:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **interp_to_end** = ``0.0`` :ref:`🔗<class_GPUParticles3D_property_interp_to_end>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_interp_to_end**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_interp_to_end**\ (\ )
|
||
|
||
Причини всіх частинок в цій вершині, щоб міжполятися до кінця їх життя.
|
||
|
||
\ **Примітка:** Це тільки працює при використанні :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>`. Необхідно вручну втілювати шейкери на замовлення.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_interpolate:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **interpolate** = ``true`` :ref:`🔗<class_GPUParticles3D_property_interpolate>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_interpolate**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_interpolate**\ (\ )
|
||
|
||
Вмикає інтерполяцію частинок, що робить рух частинок плавнішим, коли їхній :ref:`fixed_fps<class_GPUParticles3D_property_fixed_fps>` нижчий за частоту оновлення екрана.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_lifetime:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **lifetime** = ``1.0`` :ref:`🔗<class_GPUParticles3D_property_lifetime>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_lifetime**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_lifetime**\ (\ )
|
||
|
||
Кількість часу кожної частинки буде існувати (в секундах). Ефективна швидкість емісії `` (amount * amount_ratio) / термін служби`` частинки на секунду.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_local_coords:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **local_coords** = ``false`` :ref:`🔗<class_GPUParticles3D_property_local_coords>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_use_local_coordinates**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_use_local_coordinates**\ (\ )
|
||
|
||
Якщо ``true``, частинки використовують координаційний простір материнської вершини (відомі як локальні координати). Це спричинить частинки для переміщення і обертання вздовж вузла **GPUParticles3D** (і його батьки), коли він переміщається або обертається. Якщо ``false``, частинки використовують глобальні координати; вони не рухаються або обертаються вздовж вузла **GPUParticles3D** (і його батьки), коли він переміщається або обертається.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_one_shot:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **one_shot** = ``false`` :ref:`🔗<class_GPUParticles3D_property_one_shot>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_one_shot**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_one_shot**\ (\ )
|
||
|
||
Якщо ``true``, буде випромінено лише кількість частинок, що дорівнює :ref:`amount<class_GPUParticles3D_property_amount>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_preprocess:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **preprocess** = ``0.0`` :ref:`🔗<class_GPUParticles3D_property_preprocess>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_pre_process_time**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_pre_process_time**\ (\ )
|
||
|
||
Час для попередньої обробки частинок перед початком анімації. Дозволяє запускати анімацію через деякий час після початку випромінювання частинок.
|
||
|
||
\ **Примітка:** Це може бути дуже дорогим, якщо встановлено велике число, оскільки це вимагає запуску шейдера частинок кількість разів, що дорівнює :ref:`fixed_fps<class_GPUParticles3D_property_fixed_fps>` (або 30, якщо :ref:`fixed_fps<class_GPUParticles3D_property_fixed_fps>` дорівнює 0) за кожну секунду. У крайніх випадках це може навіть призвести до збою GPU через обсяг роботи, виконаної в одному кадрі.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_process_material:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Material<class_Material>` **process_material** :ref:`🔗<class_GPUParticles3D_property_process_material>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_process_material**\ (\ value\: :ref:`Material<class_Material>`\ )
|
||
- :ref:`Material<class_Material>` **get_process_material**\ (\ )
|
||
|
||
:ref:`Material<class_Material>` для обробки частинок. Може бути :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>` або :ref:`ShaderMaterial<class_ShaderMaterial>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_randomness:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **randomness** = ``0.0`` :ref:`🔗<class_GPUParticles3D_property_randomness>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_randomness_ratio**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_randomness_ratio**\ (\ )
|
||
|
||
Співвідношення випадковості випромінювання.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_seed:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **seed** = ``0`` :ref:`🔗<class_GPUParticles3D_property_seed>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_seed**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_seed**\ (\ )
|
||
|
||
Встановлює випадкове початкове число, яке використовується системою частинок. Ефективно, лише якщо :ref:`use_fixed_seed<class_GPUParticles3D_property_use_fixed_seed>` має значення ``true``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_speed_scale:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **speed_scale** = ``1.0`` :ref:`🔗<class_GPUParticles3D_property_speed_scale>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_speed_scale**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_speed_scale**\ (\ )
|
||
|
||
Співвідношення швидкості масштабування. Значення ``0`` можна використовувати для паузи частинок.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_sub_emitter:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`NodePath<class_NodePath>` **sub_emitter** = ``NodePath("")`` :ref:`🔗<class_GPUParticles3D_property_sub_emitter>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_sub_emitter**\ (\ value\: :ref:`NodePath<class_NodePath>`\ )
|
||
- :ref:`NodePath<class_NodePath>` **get_sub_emitter**\ (\ )
|
||
|
||
Шлях до іншої **GPUParticles3D** вершина, яка буде використовуватися як підеміттер (див. :ref:`ParticleProcessMaterial.sub_emitter_mode<class_ParticleProcessMaterial_property_sub_emitter_mode>`). Для досягнення ефектів, таких як феєрверки, іскри на зіткненні, бульбашки, що тиснуть на краплі води, і багато іншого.
|
||
|
||
\ **Примітка:** Коли :ref:`sub_emitter<class_GPUParticles3D_property_sub_emitter>` встановлюється, ціль **GPUParticles3D** вузол більше не буде випромінювати частинки самостійно.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_trail_enabled:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **trail_enabled** = ``false`` :ref:`🔗<class_GPUParticles3D_property_trail_enabled>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_trail_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_trail_enabled**\ (\ )
|
||
|
||
Якщо ``true``, що дозволяє причіпам частинок за допомогою системи обробки сітки. Призначений для роботи з :ref:`RibbonTrailMesh<class_RibbonTrailMesh>` і :ref:`TubeTrailMesh<class_TubeTrailMesh>`.
|
||
|
||
\ **Note:** :ref:`BaseMaterial3D.use_particle_trails<class_BaseMaterial3D_property_use_particle_trails>` також повинен бути включений на матеріалі сітки. В іншому випадку налаштування :ref:`trail_enabled<class_GPUParticles3D_property_trail_enabled>` до ``true`` не буде ефектно.
|
||
|
||
\ **Note:** На відміну від :ref:`GPUParticles2D<class_GPUParticles2D>`, кількість розділів причепів і підрозділів встановлюється в :ref:`RibbonTrailMesh<class_RibbonTrailMesh>` або :ref:`TubeTrailMesh<class_TubeTrailMesh>` властивості.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_trail_lifetime:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **trail_lifetime** = ``0.3`` :ref:`🔗<class_GPUParticles3D_property_trail_lifetime>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_trail_lifetime**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_trail_lifetime**\ (\ )
|
||
|
||
Кількість часу слід представляти частинку (в секундах). ``true``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_transform_align:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **transform_align** = ``0`` :ref:`🔗<class_GPUParticles3D_property_transform_align>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_transform_align**\ (\ value\: :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>`\ )
|
||
- :ref:`TransformAlign<enum_GPUParticles3D_TransformAlign>` **get_transform_align**\ (\ )
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this property. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_use_fixed_seed:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **use_fixed_seed** = ``false`` :ref:`🔗<class_GPUParticles3D_property_use_fixed_seed>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_use_fixed_seed**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_use_fixed_seed**\ (\ )
|
||
|
||
Якщо ``true``, частинки використовуватимуть той самий сімпл для кожної симуляції, використовуючи сімпл, визначений у :ref:`seed<class_GPUParticles3D_property_seed>`. Це корисно у ситуаціях, коли візуальний результат має бути однаковим у всіх відтвореннях, наприклад, при використанні режиму Movie Maker.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_property_visibility_aabb:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`AABB<class_AABB>` **visibility_aabb** = ``AABB(-4, -4, -4, 8, 8, 8)`` :ref:`🔗<class_GPUParticles3D_property_visibility_aabb>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_visibility_aabb**\ (\ value\: :ref:`AABB<class_AABB>`\ )
|
||
- :ref:`AABB<class_AABB>` **get_visibility_aabb**\ (\ )
|
||
|
||
:ref:`AABB<class_AABB>`, що визначає область вершини, який повинен бути видимим на екрані для системи частинок, щоб бути активним. :ref:`GeometryInstance3D.extra_cull_margin<class_GeometryInstance3D_property_extra_cull_margin>` додається на кожному з осей AABB. У цій зоні відбуваються лише зіткнення частинок і залучення.
|
||
|
||
Вирощувати коробку, якщо частинки раптово з'являються / з'являються, коли вершина надходить / виводить екран. :ref:`AABB<class_AABB>` може бути вирощений за допомогою коду або з **Пачастини → Generate AABB**.
|
||
|
||
\ **Примітка:** :ref:`visibility_aabb<class_GPUParticles3D_property_visibility_aabb>` передається :ref:`GeometryInstance3D.custom_aabb<class_GeometryInstance3D_property_custom_aabb>`, якщо ця властивість встановлена до невидимого значення.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_GPUParticles3D_method_capture_aabb:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`AABB<class_AABB>` **capture_aabb**\ (\ ) |const| :ref:`🔗<class_GPUParticles3D_method_capture_aabb>`
|
||
|
||
Повертає вісь вирівнюючу коробку, яка містить всі частинки, які активні в поточній рамі.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_convert_from_particles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **convert_from_particles**\ (\ particles\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GPUParticles3D_method_convert_from_particles>`
|
||
|
||
Налаштовує властивості цього вузла, щоб відповідати даній :ref:`CPUParticles3D<class_CPUParticles3D>` вершини.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_emit_particle:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **emit_particle**\ (\ xform\: :ref:`Transform3D<class_Transform3D>`, velocity\: :ref:`Vector3<class_Vector3>`, color\: :ref:`Color<class_Color>`, custom\: :ref:`Color<class_Color>`, flags\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GPUParticles3D_method_emit_particle>`
|
||
|
||
Випромінює одну частинку. Чи застосовуються ``xform``, ``velocity``, ``color`` і ``custom``, залежить від значення ``flags``. Див. :ref:`EmitFlags<enum_GPUParticles3D_EmitFlags>`.
|
||
|
||
За замовчуванням ParticleProcessMaterial перезапише ``color`` і використає вміст ``custom`` як ``(rotation, age, animation, lifetime)``.
|
||
|
||
\ **Примітка:** :ref:`emit_particle()<class_GPUParticles3D_method_emit_particle>` підтримується лише методами візуалізації Forward+ і Mobile, а не Compatibility.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_get_draw_pass_mesh:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Mesh<class_Mesh>` **get_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_GPUParticles3D_method_get_draw_pass_mesh>`
|
||
|
||
Повертає :ref:`Mesh<class_Mesh>`, що намальований за індексом ``pass``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_request_particles_process:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **request_particles_process**\ (\ process_time\: :ref:`float<class_float>`\ ) :ref:`🔗<class_GPUParticles3D_method_request_particles_process>`
|
||
|
||
Запитує у частинок додатковий час на обробку протягом одного кадру.
|
||
|
||
Корисно для відтворення частинок, якщо використовується у поєднанні з :ref:`use_fixed_seed<class_GPUParticles3D_property_use_fixed_seed>` або викликом :ref:`restart()<class_GPUParticles3D_method_restart>` з параметром ``keep_seed``, встановленим у ``true``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_restart:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **restart**\ (\ keep_seed\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_GPUParticles3D_method_restart>`
|
||
|
||
Перезапускає цикл викиду частинок, очищаючи існуючі частинки. Щоб уникнути зникнення частинок із вікна перегляду, дочекайтеся сигналу :ref:`finished<class_GPUParticles3D_signal_finished>` перед викликом.
|
||
|
||
\ **Примітка:** Сигнал :ref:`finished<class_GPUParticles3D_signal_finished>` випромінюють лише випромінювачі :ref:`one_shot<class_GPUParticles3D_property_one_shot>`.
|
||
|
||
Якщо ``keep_seed`` має значення ``true``, поточне випадкове початкове число буде збережено. Корисно для пошуку та відтворення.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GPUParticles3D_method_set_draw_pass_mesh:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_draw_pass_mesh**\ (\ pass\: :ref:`int<class_int>`, mesh\: :ref:`Mesh<class_Mesh>`\ ) :ref:`🔗<class_GPUParticles3D_method_set_draw_pass_mesh>`
|
||
|
||
Встановлює :ref:`Mesh<class_Mesh>`, що мальований в індексі ``pass``.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
|
||
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
|
||
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
|
||
.. |void| replace:: :abbr:`void (Значення не повертається.)`
|