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

Hérite de : RefCounted < Object

Fournit des paramètres pour PhysicsServer2D.body_test_motion().

Description

En changeant diverses propriétés de cet objet, comme le mouvement, vous pouvez configurer les paramètres de PhysicsServer2D.body_test_motion().

Propriétés

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


Descriptions des propriétés

bool collide_separation_ray = false 🔗

  • void set_collide_separation_ray_enabled(value: bool)

  • bool is_collide_separation_ray_enabled()

Si défini à true, les formes du type PhysicsServer2D.SHAPE_SEPARATION_RAY sont utilisés pour détecter les collisions et peuvent arrêter le mouvement. Peut être utile lors de l'aimantation au sol.

Si défini à false, les formes du type PhysicsServer2D.SHAPE_SEPARATION_RAY ne sont utilisées que pour la séparation lors du chevauchement avec d'autres corps. C'est l'usage principal des formes de rayons de séparation.


Array[RID] exclude_bodies = [] 🔗

Tableau facultatif de RIDs de corps à exclure de la collision. Utilisez CollisionObject2D.get_rid() pour obtenir le RID associé à un nœud dérivé de CollisionObject2D.


Array[int] exclude_objects = [] 🔗

Tableau optionnel d'identifiants d'instance uniques à exclure de la collision. Voir Object.get_instance_id().


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

Transformation dans l'espace global où le mouvement devrait commencer. Habituellement défini à Node2D.global_transform pour la transformation du corps actuel.


float margin = 0.08 🔗

  • void set_margin(value: float)

  • float get_margin()

Augmente la taille des formes impliquées dans la détection de collision.


Vector2 motion = Vector2(0, 0) 🔗

Vecteur de mouvement pour définir la longueur et la direction du mouvement à tester.


bool recovery_as_collision = false 🔗

  • void set_recovery_as_collision_enabled(value: bool)

  • bool is_recovery_as_collision_enabled()

S'il est défini à true, toute dé-pénétration de la phase de redressement est rapportées comme une collision, ceci est par exemple utilisé par CharacterBody2D pour améliorer la détection du sol lors de l'aimantation au sol.

S'il est défini à false, seules les collisions résultant du mouvement sont rapportées, ce qui est généralement le comportement souhaité.