Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

PhysicsTestMotionParameters2D

Hereda: RefCounted < Object

Proporciona parámetros para PhysicsServer2D.body_test_motion().

Descripción

Cambiando varias propiedades de este objeto, como el movimiento, puedes configurar los parámetros para PhysicsServer2D.body_test_motion().

Propiedades

bool

collide_separation_ray

false

Array[RID]

exclude_bodies

[]

Array[int]

exclude_objects

[]

Transform2D

from

Transform2D(1, 0, 0, 1, 0, 0)

float

margin

0.08

Vector2

motion

Vector2(0, 0)

bool

recovery_as_collision

false


Descripciones de Propiedades

bool collide_separation_ray = false 🔗

  • void set_collide_separation_ray_enabled(value: bool)

  • bool is_collide_separation_ray_enabled()

Si se establece como true, las formas de tipo PhysicsServer2D.SHAPE_SEPARATION_RAY se utilizan para detectar colisiones y pueden detener el movimiento. Puede ser útil al pegarse al suelo.

Si se establece a false, las formas de tipo PhysicsServer2D.SHAPE_SEPARATION_RAY solo se utilizan para la separación cuando se superponen con otros cuerpos. Ese es el uso principal para las formas de rayo de separación.


Array[RID] exclude_bodies = [] 🔗

Array opcional de RID de cuerpos a excluir de la colisión. Usa CollisionObject2D.get_rid() para obtener el RID asociado a un nodo derivado de CollisionObject2D.


Array[int] exclude_objects = [] 🔗

Array opcional de los ID de instancia únicas de objetos para excluir de la colisión. Véase Object.get_instance_id().


Transform2D from = Transform2D(1, 0, 0, 1, 0, 0) 🔗

Transformación en el espacio global donde debería comenzar el movimiento. Normalmente se establece en Node2D.global_transform para la transformación del cuerpo actual.


float margin = 0.08 🔗

  • void set_margin(value: float)

  • float get_margin()

Aumenta el tamaño de las formas involucradas en la detección de colisiones.


Vector2 motion = Vector2(0, 0) 🔗

Vector de movimiento para definir la longitud y la dirección del movimiento a probar.


bool recovery_as_collision = false 🔗

  • void set_recovery_as_collision_enabled(value: bool)

  • bool is_recovery_as_collision_enabled()

Si se establece a true, cualquier despenetración de la fase de recuperación se reporta como una colisión; esto lo usa, por ejemplo, CharacterBody2D para mejorar la detección del suelo durante el ajuste al suelo.

Si se establece a false, solo se reportan las colisiones resultantes del movimiento, que es generalmente el comportamiento deseado.