KinematicCollision3D

Наследует: RefCounted < Object

Содержит данные о столкновениях при движении PhysicsBody3D.

Описание

Содержит данные о столкновении из движения PhysicsBody3D, обычно из PhysicsBody3D.move_and_collide(). Когда PhysicsBody3D перемещается, он останавливается, если обнаруживает столкновение с другим телом. Если столкновение обнаружено, возвращается объект KinematicCollision3D.

Данные о столкновении включают в себя сталкивающийся объект, оставшееся движение и позицию столкновения. Эти данные можно использовать для определения пользовательского ответа на столкновение.

Методы

float

get_angle(collision_index: int = 0, up_direction: Vector3 = Vector3(0, 1, 0)) const

Object

get_collider(collision_index: int = 0) const

int

get_collider_id(collision_index: int = 0) const

RID

get_collider_rid(collision_index: int = 0) const

Object

get_collider_shape(collision_index: int = 0) const

int

get_collider_shape_index(collision_index: int = 0) const

Vector3

get_collider_velocity(collision_index: int = 0) const

int

get_collision_count() const

float

get_depth() const

Object

get_local_shape(collision_index: int = 0) const

Vector3

get_normal(collision_index: int = 0) const

Vector3

get_position(collision_index: int = 0) const

Vector3

get_remainder() const

Vector3

get_travel() const


Описания метода

float get_angle(collision_index: int = 0, up_direction: Vector3 = Vector3(0, 1, 0)) const 🔗

Возвращает угол столкновения в соответствии с up_direction, который по умолчанию равен Vector3.UP. Это значение всегда положительно.


Object get_collider(collision_index: int = 0) const 🔗

Возвращает прикрепленный к сталкивающемуся телу Object с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


int get_collider_id(collision_index: int = 0) const 🔗

Возвращает уникальный идентификатор экземпляра Object, прикрепленного к сталкивающемуся телу, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение). См. Object.get_instance_id().


RID get_collider_rid(collision_index: int = 0) const 🔗

Возвращает RID сталкивающегося тела, используемый PhysicsServer3D, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


Object get_collider_shape(collision_index: int = 0) const 🔗

Возвращает форму сталкивающегося тела с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


int get_collider_shape_index(collision_index: int = 0) const 🔗

Возвращает индекс формы сталкивающегося тела, заданный индексом столкновения (по умолчанию — самое глубокое столкновение). См. CollisionObject3D.


Vector3 get_collider_velocity(collision_index: int = 0) const 🔗

Возвращает скорость сталкивающегося тела по индексу столкновения (по умолчанию — самое глубокое столкновение).


int get_collision_count() const 🔗

Возвращает количество обнаруженных столкновений.


float get_depth() const 🔗

Возвращает длину перекрытия сталкивающегося тела вдоль нормали столкновения.


Object get_local_shape(collision_index: int = 0) const 🔗

Возвращает форму столкновения движущегося объекта с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


Vector3 get_normal(collision_index: int = 0) const 🔗

Возвращает нормаль формы сталкивающегося тела в точке столкновения с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


Vector3 get_position(collision_index: int = 0) const 🔗

Возвращает точку столкновения в глобальных координатах с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).


Vector3 get_remainder() const 🔗

Возвращает оставшийся вектор движения движущегося объекта.


Vector3 get_travel() const 🔗

Возвращает путь движущегося объекта до столкновения.