Files
godot-docs-l10n/classes/uk/class_concavepolygonshape3d.rst

120 lines
8.5 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_ConcavePolygonShape3D:
ConcavePolygonShape3D
=====================
**Успадковує:** :ref:`Shape3D<class_Shape3D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Форма 3D обрізки використовується для фізичного зіткнення.
.. rst-class:: classref-introduction-group
Опис
--------
Тривимірна тримеш-фігура, призначена для використання у фізиці. Зазвичай використовується як форма для :ref:`CollisionShape3D<class_CollisionShape3D>`.
Будучи просто набором з'єднаних між собою трикутників, **ConcavePolygonShape3D** є найбільш вільно конфігурованою одиночною 3D-фігурою. Її можна використовувати для формування багатогранників будь-якої природи, або навіть фігур, що не містять об'єму. Однак, **ConcavePolygonShape3D** є *порожнистою*, навіть якщо з'єднані між собою трикутники утворюють об'єм, що часто робить її непридатною для фізики або виявлення.
\ **Примітка:** При використанні для зіткнення **ConcavePolygonShape3D** призначено для роботи зі статичними вузлами :ref:`CollisionShape3D<class_CollisionShape3D>`, такими як :ref:`StaticBody3D<class_StaticBody3D>`, і, ймовірно, він не працюватиме належним чином для :ref:`CharacterBody3D<class_CharacterBody3D>` або :ref:`RigidBody3D<class_RigidBody3D>` у режимі, відмінному від Static.
\ **Попередження:** Фізичні тіла, які мають малий розмір, можуть прорізати цю форму під час швидкого руху. Це відбувається тому, що на одному кадрі фізичне тіло може бути "ззовні" фігури, а на наступному кадрі воно може бути "всередині" фігури. Фігура **ConcavePolygonShape3D** є порожнистою, тому вона не виявляє зіткнення.
\ **Продуктивність:** Через свою складність **ConcavePolygonShape3D** є найповільнішою 3D-фігурою для перевірки зіткнень. Її використання, як правило, слід обмежувати геометрією рівнів. Для опуклої геометрії слід використовувати :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>`. Для тіл динамічної фізики, які потребують увігнутих зіткнень, можна використати декілька :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>` для представлення зіткнення за допомогою опуклої декомпозиції; див. документацію до :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>` для отримання інструкцій.
.. rst-class:: classref-introduction-group
Посібники
------------------
- `Демонстрація тестів з 3D-фізики <https://godotengine.org/asset-library/asset/2747>`__
.. rst-class:: classref-reftable-group
Властивості
----------------------
.. table::
:widths: auto
+-------------------------+------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`backface_collision<class_ConcavePolygonShape3D_property_backface_collision>` | ``false`` |
+-------------------------+------------------------------------------------------------------------------------+-----------+
.. rst-class:: classref-reftable-group
Методи
------------
.. table::
:widths: auto
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_faces<class_ConcavePolygonShape3D_method_get_faces>`\ (\ ) |const| |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_faces<class_ConcavePolygonShape3D_method_set_faces>`\ (\ faces\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) |
+-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи властивостей
------------------------------------
.. _class_ConcavePolygonShape3D_property_backface_collision:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **backface_collision** = ``false`` :ref:`🔗<class_ConcavePolygonShape3D_property_backface_collision>`
.. rst-class:: classref-property-setget
- |void| **set_backface_collision_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_backface_collision_enabled**\ (\ )
Якщо встановити до ``true``, зіткнення відбуваються з обох сторін стиглої форми обличчя. В іншому випадку вони відбуваються тільки по нормам обличчя.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи методів
--------------------------
.. _class_ConcavePolygonShape3D_method_get_faces:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **get_faces**\ (\ ) |const| :ref:`🔗<class_ConcavePolygonShape3D_method_get_faces>`
Повертає обличчя обрізки форми як масив вершин. масив (від довжини дівидимі по три) природним чином розділений на потрій; кожен потрій вершин визначає трикутник.
.. rst-class:: classref-item-separator
----
.. _class_ConcavePolygonShape3D_method_set_faces:
.. rst-class:: classref-method
|void| **set_faces**\ (\ faces\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) :ref:`🔗<class_ConcavePolygonShape3D_method_set_faces>`
Налаштовує обличчя обрізки форми з масиву вершин. ``faces`` масив повинен бути складається з потрій, таких що кожен потрій вершин визначає трикутник.
.. |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 (Значення не повертається.)`