Files
godot-docs-l10n/classes/ru/class_kinematiccollision3d.rst

241 lines
16 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_KinematicCollision3D:
KinematicCollision3D
====================
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Содержит данные о столкновениях при движении :ref:`PhysicsBody3D<class_PhysicsBody3D>`.
.. rst-class:: classref-introduction-group
Описание
----------------
Содержит данные о столкновении из движения :ref:`PhysicsBody3D<class_PhysicsBody3D>`, обычно из :ref:`PhysicsBody3D.move_and_collide()<class_PhysicsBody3D_method_move_and_collide>`. Когда :ref:`PhysicsBody3D<class_PhysicsBody3D>` перемещается, он останавливается, если обнаруживает столкновение с другим телом. Если столкновение обнаружено, возвращается объект **KinematicCollision3D**.
Данные о столкновении включают в себя сталкивающийся объект, оставшееся движение и позицию столкновения. Эти данные можно использовать для определения пользовательского ответа на столкновение.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_angle<class_KinematicCollision3D_method_get_angle>`\ (\ collision_index\: :ref:`int<class_int>` = 0, up_direction\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0)\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Object<class_Object>` | :ref:`get_collider<class_KinematicCollision3D_method_get_collider>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_collider_id<class_KinematicCollision3D_method_get_collider_id>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_collider_rid<class_KinematicCollision3D_method_get_collider_rid>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Object<class_Object>` | :ref:`get_collider_shape<class_KinematicCollision3D_method_get_collider_shape>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_collider_shape_index<class_KinematicCollision3D_method_get_collider_shape_index>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_collider_velocity<class_KinematicCollision3D_method_get_collider_velocity>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_collision_count<class_KinematicCollision3D_method_get_collision_count>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_depth<class_KinematicCollision3D_method_get_depth>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Object<class_Object>` | :ref:`get_local_shape<class_KinematicCollision3D_method_get_local_shape>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_normal<class_KinematicCollision3D_method_get_normal>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_position<class_KinematicCollision3D_method_get_position>`\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_remainder<class_KinematicCollision3D_method_get_remainder>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_travel<class_KinematicCollision3D_method_get_travel>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_KinematicCollision3D_method_get_angle:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_angle**\ (\ collision_index\: :ref:`int<class_int>` = 0, up_direction\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0)\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_angle>`
Возвращает угол столкновения в соответствии с ``up_direction``, который по умолчанию равен :ref:`Vector3.UP<class_Vector3_constant_UP>`. Это значение всегда положительно.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider:
.. rst-class:: classref-method
:ref:`Object<class_Object>` **get_collider**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider>`
Возвращает прикрепленный к сталкивающемуся телу :ref:`Object<class_Object>` с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_collider_id**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider_id>`
Возвращает уникальный идентификатор экземпляра :ref:`Object<class_Object>`, прикрепленного к сталкивающемуся телу, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение). См. :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_collider_rid**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider_rid>`
Возвращает :ref:`RID<class_RID>` сталкивающегося тела, используемый :ref:`PhysicsServer3D<class_PhysicsServer3D>`, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider_shape:
.. rst-class:: classref-method
:ref:`Object<class_Object>` **get_collider_shape**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider_shape>`
Возвращает форму сталкивающегося тела с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider_shape_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_collider_shape_index**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider_shape_index>`
Возвращает индекс формы сталкивающегося тела, заданный индексом столкновения (по умолчанию — самое глубокое столкновение). См. :ref:`CollisionObject3D<class_CollisionObject3D>`.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collider_velocity:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_collider_velocity**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collider_velocity>`
Возвращает скорость сталкивающегося тела по индексу столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_collision_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_collision_count**\ (\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_collision_count>`
Возвращает количество обнаруженных столкновений.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_depth:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_depth**\ (\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_depth>`
Возвращает длину перекрытия сталкивающегося тела вдоль нормали столкновения.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_local_shape:
.. rst-class:: classref-method
:ref:`Object<class_Object>` **get_local_shape**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_local_shape>`
Возвращает форму столкновения движущегося объекта с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_normal:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_normal**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_normal>`
Возвращает нормаль формы сталкивающегося тела в точке столкновения с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_position:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_position**\ (\ collision_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_position>`
Возвращает точку столкновения в глобальных координатах с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_remainder:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_remainder**\ (\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_remainder>`
Возвращает оставшийся вектор движения движущегося объекта.
.. rst-class:: classref-item-separator
----
.. _class_KinematicCollision3D_method_get_travel:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_travel**\ (\ ) |const| :ref:`🔗<class_KinematicCollision3D_method_get_travel>`
Возвращает путь движущегося объекта до столкновения.
.. |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 (Нет возвращаемого значения.)`