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

Eredita: RefCounted < Object

Fornisce parametri per PhysicsServer2D.body_test_motion().

Descrizione

Modificando varie proprietà di questo oggetto, come il movimento, è possibile configurare i parametri per PhysicsServer2D.body_test_motion().

Proprietà

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


Descrizioni delle proprietà

bool collide_separation_ray = false 🔗

  • void set_collide_separation_ray_enabled(value: bool)

  • bool is_collide_separation_ray_enabled()

Se impostato su true, le forme di tipo PhysicsServer2D.SHAPE_SEPARATION_RAY sono utilizzate per rilevare le collisioni e possono arrestare il movimento. Possono essere utili quando ci si aggancia al suolo.

Se impostato su false, le forme di tipo PhysicsServer2D.SHAPE_SEPARATION_RAY sono utilizzate solo per la separazione quando ci si sovrappone ad altri corpi. Questo è l'uso principale per le forme di raggio di separazione.


Array[RID] exclude_bodies = [] 🔗

Array facoltativo di RID di corpi da escludere dalle collisioni. Utilizza CollisionObject2D.get_rid() per ottenere il RID associato a un nodo derivato da CollisionObject2D.


Array[int] exclude_objects = [] 🔗

Array facoltativo di ID univoci di istanze di oggetto da escludere dalla collisione. Vedi Object.get_instance_id().


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

Trasformazione nello spazio globale dove dovrebbe iniziare il movimento. Solitamente impostato su Node2D.global_transform per la trasformazione del corpo attuale.


float margin = 0.08 🔗

  • void set_margin(value: float)

  • float get_margin()

Aumenta la dimensione delle forme coinvolte nel rilevamento delle collisioni.


Vector2 motion = Vector2(0, 0) 🔗

Vettore di movimento per definire la lunghezza e la direzione del movimento da testare.


bool recovery_as_collision = false 🔗

  • void set_recovery_as_collision_enabled(value: bool)

  • bool is_recovery_as_collision_enabled()

Se impostato su true, qualsiasi penetrazione dalla fase di recupero è segnalata come una collisione; questo è utilizzato ad esempio da CharacterBody2D per migliorare il rilevamento del pavimento durante l'agganciamento al pavimento.

Se impostato su false, sono segnalate solo le collisioni risultanti dal movimento, che è generalmente il comportamento desiderato.