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.

PhysicsShapeQueryParameters3D

Eredita: RefCounted < Object

Fornisce parametri per i metodi di PhysicsDirectSpaceState3D.

Descrizione

Modificando varie proprietà di questo oggetto, come la forma, è possibile configurare i parametri per i metodi di PhysicsDirectSpaceState3D.

Proprietà

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

float

margin

0.0

Vector3

motion

Vector3(0, 0, 0)

Resource

shape

RID

shape_rid

RID()

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)


Descrizioni delle proprietà

bool collide_with_areas = false 🔗

  • void set_collide_with_areas(value: bool)

  • bool is_collide_with_areas_enabled()

Se true, l'interrogazione prenderà i nodi Area3D in considerazione.


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

Se true, l'interrogazione prenderà i nodi PhysicsBody3D in considerazione.


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Gli strati di fisica che l'interrogazione rileverà (come una maschera di bit). Per impostazione predefinita, sono rilevati tutti gli strati di collisione. Consulta Strati di collisione e maschere nella documentazione per ulteriori informazioni.


Array[RID] exclude = [] 🔗

La lista degli RID degli oggetti che saranno esclusi dalle collisioni. Usa CollisionObject3D.get_rid() per ottenere il RID associato a un nodo derivato da CollisionObject3D.

Nota: L'array restituito è copiato e qualsiasi modifica non aggiornerà il valore della proprietà originale. Per aggiornare il valore devi modificare l'array restituito e quindi assegnarlo di nuovo alla proprietà.


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

Il margine di collisione per la forma.


Vector3 motion = Vector3(0, 0, 0) 🔗

Il movimento della forma da interrogare.


Resource shape 🔗

Lo Shape3D che sarà utilizzato per le interrogazioni di collisione o intersezione. Questo memorizza il riferimento effettivo, il che evita che la forma sia rilasciata durante l'utilizzo per le interrogazioni, quindi è sempre preferibile utilizzare questo anziché shape_rid.


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

Il RID della forma interrogata che sarà utilizzato per le interrogazioni di collisione o intersezione. Utilizza questo su shape se vuoi ottimizzare le prestazioni attraverso l'API del server:

var shape_rid = PhysicsServer3D.sphere_shape_create()
var radius = 2.0
PhysicsServer3D.shape_set_data(shape_rid, radius)

var params = PhysicsShapeQueryParameters3D.new()
params.shape_rid = shape_rid

# Esegui le interrogazioni di fisica qui...

# Rilascia la forma quando hai finito con le interrogazioni di fisica.
PhysicsServer3D.free_rid(shape_rid)

Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

La matrice di trasformazione della forma interrogata.