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

Hérite de : RefCounted < Object

Fournit des paramètres pour les méthodes de PhysicsDirectSpaceState3D.

Description

En changeant diverses propriétés de cet objet, comme la forme, vous pouvez configurer les paramètres pour les méthodes de PhysicsDirectSpaceState3D.

Propriétés

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)


Descriptions des propriétés

bool collide_with_areas = false 🔗

  • void set_collide_with_areas(value: bool)

  • bool is_collide_with_areas_enabled()

Si true, la requête prendra les Area3Ds en compte.


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

Si true, la requête prendra les PhysicsBody3Ds en compte.


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Les couches de physique que la requête détectera (en tant que masque de bits). Par défaut, toutes les couches de collision sont détectées. Voir Niveaux et masques de collisions dans la documentation pour plus d'informations.


Array[RID] exclude = [] 🔗

La liste des RIDs des objets qui seront exclus des collisions. Utilisez CollisionObject3D.get_rid() pour obtenir le RID associé à un nœud dérivé de CollisionObject3D.

Note : Le tableau renvoyé est copié et tout changement apporté à celui-ci ne mettra pas à jour la valeur de la propriété originale. Pour mettre à jour la valeur, vous devez modifier le tableau renvoyé, puis l'affecter à nouveau à la propriété.


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

La marge de collision de la forme.


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

Le mouvement de la forme qui a été demandée.


Resource shape 🔗

La Shape3D qui sera utilisée pour les requêtes de collision/intersection. Ceci stocke la référence réelle ce qui évite de libérer la forme tout en l'utilisant pour les requêtes, donc toujours préférer utiliser ceci plutôt que shape_rid.


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

Le RID de la forme interrogée qui sera utilisée pour les requêtes de collision/intersection. Utilisez ceci plutôt que shape si vous voulez optimiser pour les performances en utilisant l'API Servers :

var rid_forme = PhysicsServer3D.sphere_shape_create()
var rayon = 2.0
PhysicsServer3D.shape_set_data(rid_forme, rayon)

var parametres = PhysicsShapeQueryParameters3D.new()
parametres.shape_rid = rid_forme

# Exécuter les requêtes de physique ici...

# Libérer la forme lorsque les requêtes de physiques sont faites.
PhysicsServer3D.free_rid(rid_forme)

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

La matrice de transformation de la forme recherchée.