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.
Checking the stable version of the documentation...
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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Descriptions des propriétés
bool collide_with_areas = false 🔗
Si true, la requête prendra les Area3Ds en compte.
bool collide_with_bodies = true 🔗
Si true, la requête prendra les PhysicsBody3Ds en compte.
int collision_mask = 4294967295 🔗
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.
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é.
La marge de collision de la forme.
Vector3 motion = Vector3(0, 0, 0) 🔗
Le mouvement de la forme qui a été demandée.
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.
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)
RID ridForme = PhysicsServer3D.SphereShapeCreate();
float rayon = 2.0f;
PhysicsServer3D.ShapeSetData(ridForme, rayon);
var parametres = new PhysicsShapeQueryParameters3D();
parametres.ShapeRid = ridForme;
// Exécuter les requêtes de physique ici...
// Libérer la forme lorsque les requêtes de physiques sont faites.
PhysicsServer3D.FreeRid(ridForme);
Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗
void set_transform(value: Transform3D)
Transform3D get_transform()
La matrice de transformation de la forme recherchée.