:github_url: hide .. _class_PhysicsShapeQueryParameters3D: PhysicsShapeQueryParameters3D ============================= **Успадковує:** :ref:`RefCounted` **<** :ref:`Object` Надає параметри для методів :ref:`PhysicsDirectSpaceState3D`. .. rst-class:: classref-introduction-group Опис -------- Змінюючи різні властивості цього об'єкта, такі як форма, можна налаштувати параметри для методів :ref:`PhysicsDirectSpaceState3D`. .. rst-class:: classref-reftable-group Властивості ---------------------- .. table:: :widths: auto +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`bool` | :ref:`collide_with_areas` | ``false`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`bool` | :ref:`collide_with_bodies` | ``true`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`int` | :ref:`collision_mask` | ``4294967295`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`Array`\[:ref:`RID`\] | :ref:`exclude` | ``[]`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`float` | :ref:`margin` | ``0.0`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`Vector3` | :ref:`motion` | ``Vector3(0, 0, 0)`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`Resource` | :ref:`shape` | | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`RID` | :ref:`shape_rid` | ``RID()`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ | :ref:`Transform3D` | :ref:`transform` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` | +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описи властивостей ------------------------------------ .. _class_PhysicsShapeQueryParameters3D_property_collide_with_areas: .. rst-class:: classref-property :ref:`bool` **collide_with_areas** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_collide_with_areas**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_collide_with_areas_enabled**\ (\ ) Якщо ``true``, запит буде враховуватися :ref:`Area3D`. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_collide_with_bodies: .. rst-class:: classref-property :ref:`bool` **collide_with_bodies** = ``true`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_collide_with_bodies**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_collide_with_bodies_enabled**\ (\ ) Якщо ``true``, запит буде прийняти ``ФізикаBody3D`` врахування. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_collision_mask: .. rst-class:: classref-property :ref:`int` **collision_mask** = ``4294967295`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_collision_mask**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_collision_mask**\ (\ ) Фізика шарів запиту виявить (як трохимаска). За замовчуванням виявляються всі шари зіткнення. Див. `Коллізійні шари та маски <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ в документації для отримання додаткової інформації. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_exclude: .. rst-class:: classref-property :ref:`Array`\[:ref:`RID`\] **exclude** = ``[]`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_exclude**\ (\ value\: :ref:`Array`\[:ref:`RID`\]\ ) - :ref:`Array`\[:ref:`RID`\] **get_exclude**\ (\ ) Список об'єктів :ref:`RID`, які будуть виключені з зіткнення. Використовуйте :ref:`CollisionObject2D.get_rid()`, щоб отримати :ref:`RID`, пов'язаний з :ref:`CollisionObject2D`-derived node. \ **Примітка:** Повернутий масив копіюється і будь-які зміни до нього не будуть оновлювати оригінальну вартість майна. Для оновлення значення потрібно змінити повернутий масив, а потім знову призначити його в власність. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_margin: .. rst-class:: classref-property :ref:`float` **margin** = ``0.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_margin**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_margin**\ (\ ) Зіткнення поля для форми. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_motion: .. rst-class:: classref-property :ref:`Vector3` **motion** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_motion**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_motion**\ (\ ) Рух форми, що передається. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_shape: .. rst-class:: classref-property :ref:`Resource` **shape** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shape**\ (\ value\: :ref:`Resource`\ ) - :ref:`Resource` **get_shape**\ (\ ) :ref:`Shape3D`, який буде використовуватися для зіткнень/інтерсекційних запитів. Це зберігає актуальну довідку, яка уникає форми, щоб бути вилученою, коли використовується для запитів, тому завжди віддає перевагу використанню цього над :ref:`shape_rid`. .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_shape_rid: .. rst-class:: classref-property :ref:`RID` **shape_rid** = ``RID()`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shape_rid**\ (\ value\: :ref:`RID`\ ) - :ref:`RID` **get_shape_rid**\ (\ ) :ref:`RID` запитуваної фігури, який буде використовуватися для запитів на колізії/перетини. Використовуйте це замість :ref:`shape`, якщо хочете оптимізувати продуктивність за допомогою API серверів: .. tabs:: .. code-tab:: gdscript var shape_rid = PhysicsServer3D.sphere_shape_create() var radius = 2.0 PhysicsServer3D.shape_set_data(shape_rid, radius) var params = PhysicsShapeQueryParameters3D.new() params.shape_rid = shape_rid # Виконуйте тут запити з фізики... # Відпустіть фігуру після завершення фізичних запитів. PhysicsServer3D.free_rid(shape_rid) .. code-tab:: csharp RID shapeRid = PhysicsServer3D.SphereShapeCreate(); float radius = 2.0f; PhysicsServer3D.ShapeSetData(shapeRid, radius); var params = new PhysicsShapeQueryParameters3D(); params.ShapeRid = shapeRid; // Виконуйте тут запити з фізики... // Відпустіть фігуру після завершення фізичних запитів. PhysicsServer3D.FreeRid(shapeRid); .. rst-class:: classref-item-separator ---- .. _class_PhysicsShapeQueryParameters3D_property_transform: .. rst-class:: classref-property :ref:`Transform3D` **transform** = ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_transform**\ (\ value\: :ref:`Transform3D`\ ) - :ref:`Transform3D` **get_transform**\ (\ ) Матриця трансформованої форми. .. |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 (Значення не повертається.)`