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...
PhysicsServer3D
Eredita: Object
Ereditato da: PhysicsServer3DExtension
Un'interfaccia server per l'accesso di basso livello alla fisica 3D.
Descrizione
PhysicsServer3D è il server responsabile di tutta la fisica 3D. Può creare e manipolare direttamente tutti gli oggetti fisici:
Uno spazio è un mondo autonomo per una simulazione fisica. Contiene corpi, aree e giunti. Il suo stato può essere interrogato per informazioni sulle collisioni e le intersezioni. Inoltre, è possibile modificare diversi parametri della simulazione.
Una forma è una forma geometrica come una sfera, una scatola, un cilindro o un poligono. Può essere utilizzata per rilevare le collisioni aggiungendola a un corpo/area, possibilmente con un'ulteriore trasformazione relativa all'origine del corpo/area. Più forme (trasformate) possono essere aggiunte ai corpi/aree e una singola forma può essere aggiunta più volte a corpi/aree con diverse trasformazioni locali.
Un corpo è un oggetto fisico che può essere in modalità statica, cinematica o rigida. Il suo stato (come posizione e velocità) può essere interrogato e aggiornato. È possibile impostare un callback di integrazione della forza per personalizzare la fisica del corpo.
Un'area è una regione nello spazio che può essere utilizzata per rilevare i corpi e le aree che entrano ed escono da essa. È possibile impostare un callback di monitoraggio dei corpi per segnalare le forme dei corpi in entrata/uscita e, allo stesso modo per le forme di altre aree. La gravità e lo smorzamento possono essere ignorati all'interno dell'area impostando i parametri dell'area.
Un giunto è un vincolo, tra due corpi o su un corpo, rispetto a un punto. È possibile regolare i parametri come il bias del giunto e la lunghezza di riposo di un giunto a molla.
Gli oggetti fisici in PhysicsServer3D possono essere creati e manipolati in modo indipendente; non devono essere associati ai nodi nell'albero di scene.
Nota: Tutti i nodi fisici 3D utilizzano internamente il server di fisica. L'aggiunta di un nodo fisico all'albero di scene causerà la creazione di un oggetto fisico corrispondente nel server di fisica. Un nodo corpo rigido registra un callback che aggiorna la trasformazione del nodo con la trasformazione del rispettivo oggetto corpo nel server di fisica (ad ogni aggiornamento della fisica). Un nodo area registra un callback per informare il nodo area sulle sovrapposizioni con il rispettivo oggetto area nel server di fisica. Il nodo raycast interroga lo stato diretto dello spazio rilevante nel server di fisica.
Metodi
Enumerazioni
enum JointType: 🔗
JointType JOINT_TYPE_PIN = 0
Il Joint3D è un PinJoint3D.
JointType JOINT_TYPE_HINGE = 1
Il Joint3D è un HingeJoint3D.
JointType JOINT_TYPE_SLIDER = 2
Il Joint3D è uno SliderJoint3D.
JointType JOINT_TYPE_CONE_TWIST = 3
Il Joint3D è un ConeTwistJoint3D.
JointType JOINT_TYPE_6DOF = 4
Il Joint3D è un Generic6DOFJoint3D.
JointType JOINT_TYPE_MAX = 5
Rappresenta la dimensione dell'enumerazione JointType.
enum PinJointParam: 🔗
PinJointParam PIN_JOINT_BIAS = 0
The strength with which the pinned objects try to stay in positional relation to each other. The higher, the stronger.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
PinJointParam PIN_JOINT_DAMPING = 1
The strength with which the pinned objects try to stay in velocity relation to each other. The higher, the stronger.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
PinJointParam PIN_JOINT_IMPULSE_CLAMP = 2
If above 0, this value is the maximum value for an impulse that this Joint3D puts on its ends.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
enum HingeJointParam: 🔗
HingeJointParam HINGE_JOINT_BIAS = 0
The speed with which the two bodies get pulled together when they move in different directions.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
HingeJointParam HINGE_JOINT_LIMIT_UPPER = 1
La rotazione massima attraverso la cerniera.
HingeJointParam HINGE_JOINT_LIMIT_LOWER = 2
La rotazione minima attraverso la cerniera.
HingeJointParam HINGE_JOINT_LIMIT_BIAS = 3
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
HingeJointParam HINGE_JOINT_LIMIT_SOFTNESS = 4
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
HingeJointParam HINGE_JOINT_LIMIT_RELAXATION = 5
The lower this value, the more the rotation gets slowed down.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
HingeJointParam HINGE_JOINT_MOTOR_TARGET_VELOCITY = 6
Velocità di destinazione per il motore.
HingeJointParam HINGE_JOINT_MOTOR_MAX_IMPULSE = 7
Accelerazione massima per il motore.
enum HingeJointFlag: 🔗
HingeJointFlag HINGE_JOINT_FLAG_USE_LIMIT = 0
Se true, la cerniera ha una rotazione massima e una minima.
HingeJointFlag HINGE_JOINT_FLAG_ENABLE_MOTOR = 1
Se true, un motore fa girare la cerniera.
enum SliderJointParam: 🔗
SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_UPPER = 0
La differenza massima tra i punti di rotazione sul loro asse X prima che si verifichi lo smorzamento.
SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_LOWER = 1
La differenza minima tra i punti di rotazione sul loro asse X prima che avviene lo smorzamento.
SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS = 2
A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION = 3
The amount of restitution once the limits are surpassed. The lower, the more velocity-energy gets lost.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_DAMPING = 4
The amount of damping once the slider limits are surpassed.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_MOTION_SOFTNESS = 5
A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_MOTION_RESTITUTION = 6
The amount of restitution inside the slider limits.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_MOTION_DAMPING = 7
The amount of damping inside the slider limits.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS = 8
A factor applied to the movement across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION = 9
The amount of restitution when movement is across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING = 10
The amount of damping when movement is across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_UPPER = 11
The upper limit of rotation in the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_LOWER = 12
The lower limit of rotation in the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS = 13
A factor applied to the all rotation once the limit is surpassed.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION = 14
The amount of restitution of the rotation when the limit is surpassed.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_DAMPING = 15
The amount of damping of the rotation when the limit is surpassed.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS = 16
A factor that gets applied to the all rotation in the limits.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION = 17
The amount of restitution of the rotation in the limits.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_DAMPING = 18
The amount of damping of the rotation in the limits.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS = 19
A factor that gets applied to the all rotation across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION = 20
The amount of restitution of the rotation across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING = 21
The amount of damping of the rotation across axes orthogonal to the slider.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SliderJointParam SLIDER_JOINT_MAX = 22
Rappresenta la dimensione dell'enumerazione SliderJointParam.
enum ConeTwistJointParam: 🔗
ConeTwistJointParam CONE_TWIST_JOINT_SWING_SPAN = 0
Swing is rotation from side to side, around the axis perpendicular to the twist axis.
The swing span defines, how much rotation will not get corrected along the swing axis.
Could be defined as looseness in the ConeTwistJoint3D. If below 0.05, this behavior is locked.
ConeTwistJointParam CONE_TWIST_JOINT_TWIST_SPAN = 1
Twist is the rotation around the twist axis, this value defined how far the joint can twist. Twist is locked if below 0.05.
ConeTwistJointParam CONE_TWIST_JOINT_BIAS = 2
The speed with which the swing or twist will take place. The higher, the faster.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
ConeTwistJointParam CONE_TWIST_JOINT_SOFTNESS = 3
The ease with which the Joint3D twists, if it's too low, it takes more force to twist the joint.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
ConeTwistJointParam CONE_TWIST_JOINT_RELAXATION = 4
Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
enum G6DOFJointAxisParam: 🔗
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_LOWER_LIMIT = 0
La differenza minima tra gli assi dei punti di rotazione.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_UPPER_LIMIT = 1
La differenza massima tra gli assi dei punti di rotazione.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS = 2
A factor that gets applied to the movement across the axes. The lower, the slower the movement.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_RESTITUTION = 3
The amount of restitution on the axes movement. The lower, the more velocity-energy gets lost.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_DAMPING = 4
The amount of damping that happens at the linear motion across the axes.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY = 5
La velocità che il motore lineare del giunto tenterà di raggiungere.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT = 6
La forza massima che il motore lineare può applicare mentre tenta di raggiungere la velocità di destinazione.
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_STIFFNESS = 7
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_DAMPING = 8
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_EQUILIBRIUM_POINT = 9
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_LOWER_LIMIT = 10
La rotazione minima in direzione negativa per rilasciarsi e ruotare attorno agli assi.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_UPPER_LIMIT = 11
La rotazione minima in direzione positiva per rilasciarsi e ruotare attorno agli assi.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS = 12
A factor that gets multiplied onto all rotations across the axes.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_DAMPING = 13
The amount of rotational damping across the axes. The lower, the more damping occurs.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_RESTITUTION = 14
The amount of rotational restitution across the axes. The lower, the more restitution occurs.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_FORCE_LIMIT = 15
The maximum amount of force that can occur, when rotating around the axes.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_ERP = 16
When correcting the crossing of limits in rotation across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY = 17
Velocità di destinazione per il motore sugli assi.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT = 18
Accelerazione massima del motore sugli assi.
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_STIFFNESS = 19
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_DAMPING = 20
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_EQUILIBRIUM_POINT = 21
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisParam G6DOF_JOINT_MAX = 22
Rappresenta la dimensione dell'enumerazione G6DOFJointAxisParam.
enum G6DOFJointAxisFlag: 🔗
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT = 0
Se impostato, il movimento lineare è possibile entro i limiti indicati.
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT = 1
Se impostato, il movimento rotatorio è possibile.
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_ANGULAR_SPRING = 2
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_SPRING = 3
There is currently no description for this enum. Please help us by contributing one!
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_MOTOR = 4
Se impostato, è presente un motore rotatorio lungo questi assi.
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR = 5
Se impostato, su questo asse è presente un motore lineare che punta a una velocità specifica.
G6DOFJointAxisFlag G6DOF_JOINT_FLAG_MAX = 6
Rappresenta la dimensione dell'enumerazione G6DOFJointAxisFlag.
enum ShapeType: 🔗
ShapeType SHAPE_WORLD_BOUNDARY = 0
Constant for creating a world boundary shape (used by the WorldBoundaryShape3D resource).
ShapeType SHAPE_SEPARATION_RAY = 1
Constant for creating a separation ray shape (used by the SeparationRayShape3D resource).
ShapeType SHAPE_SPHERE = 2
Constant for creating a sphere shape (used by the SphereShape3D resource).
ShapeType SHAPE_BOX = 3
Constant for creating a box shape (used by the BoxShape3D resource).
ShapeType SHAPE_CAPSULE = 4
Constant for creating a capsule shape (used by the CapsuleShape3D resource).
ShapeType SHAPE_CYLINDER = 5
Constant for creating a cylinder shape (used by the CylinderShape3D resource).
ShapeType SHAPE_CONVEX_POLYGON = 6
Constant for creating a convex polygon shape (used by the ConvexPolygonShape3D resource).
ShapeType SHAPE_CONCAVE_POLYGON = 7
Constant for creating a concave polygon (trimesh) shape (used by the ConcavePolygonShape3D resource).
ShapeType SHAPE_HEIGHTMAP = 8
Constant for creating a heightmap shape (used by the HeightMapShape3D resource).
ShapeType SHAPE_SOFT_BODY = 9
Costante utilizzata internamente per la forma di un corpo deformabile. Ogni tentativo di creare questo tipo di forma genera un errore.
ShapeType SHAPE_CUSTOM = 10
Constant used internally for a custom shape. Any attempt to create this kind of shape results in an error when using Godot Physics or Jolt Physics.
enum AreaParameter: 🔗
AreaParameter AREA_PARAM_GRAVITY_OVERRIDE_MODE = 0
Costante per impostare/ottenere la modalità di sostituzione della gravità in un'area. Vedi AreaSpaceOverrideMode per i valori possibili.
AreaParameter AREA_PARAM_GRAVITY = 1
Costante per impostare/ottenere la forza di gravità in un'area.
AreaParameter AREA_PARAM_GRAVITY_VECTOR = 2
Costante per impostare/ottenere il vettore/centro di gravità in un'area.
AreaParameter AREA_PARAM_GRAVITY_IS_POINT = 3
Costante per impostare/ottenere se il vettore di gravità di un'area è una direzione oppure un punto centrale.
AreaParameter AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE = 4
Costante per impostare/ottenere la distanza alla quale la forza di gravità è uguale alla gravità controllata da AREA_PARAM_GRAVITY. Ad esempio, su un pianeta con un raggio di 100 metri, con una gravità superficiale di 4,0 m/s², imposta la gravità su 4,0 e la distanza unitaria su 100,0. La gravità avrà un calo secondo la legge dell'inverso del quadrato, quindi nell'esempio, a 200 metri dal centro la gravità sarà 1,0 m/s² (il doppio della distanza, 1/4 della gravità), a 50 metri sarà 16,0 m/s² (la metà della distanza, 4 volte la gravità) e così via.
Quanto sopra è vero solo quando la distanza unitaria è un numero positivo. Quando la distanza unitaria è impostata su 0,0, la gravità sarà costante a prescindere dalla distanza.
AreaParameter AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE = 5
Costante per impostare/ottenere la modalità di sostituzione dello smorzamento lineare in un'area. Vedi AreaSpaceOverrideMode per i valori possibili.
AreaParameter AREA_PARAM_LINEAR_DAMP = 6
Costante per impostare/ottenere il fattore di smorzamento lineare di un'area.
AreaParameter AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE = 7
Costante per impostare/ottenere la modalità di sostituzione dello smorzamento angolare in un'area. Vedi AreaSpaceOverrideMode per i valori possibili.
AreaParameter AREA_PARAM_ANGULAR_DAMP = 8
Costante per impostare/ottenere il fattore di smorzamento angolare di un'area.
AreaParameter AREA_PARAM_PRIORITY = 9
Costante per impostare/ottenere la priorità (l'ordine di elaborazione) di un'area.
AreaParameter AREA_PARAM_WIND_FORCE_MAGNITUDE = 10
Costante per impostare/ottenere il magnitudo della forza del vento specifica dell'area. Questa forza del vento si applica solo ai nodi SoftBody3D. Altri corpi fisici al momento non sono influenzati dal vento.
AreaParameter AREA_PARAM_WIND_SOURCE = 11
Costante per impostare/ottenere il vettore 3D che specifica l'origine da cui soffia un vento di una determinata area.
AreaParameter AREA_PARAM_WIND_DIRECTION = 12
Costante per impostare/ottenere il vettore 3D che specifica la direzione in cui soffia il vento di una determinata area.
AreaParameter AREA_PARAM_WIND_ATTENUATION_FACTOR = 13
Costante per impostare/ottenere la velocità esponenziale con cui la forza del vento diminuisce con la distanza dalla sua origine.
enum AreaSpaceOverrideMode: 🔗
AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_DISABLED = 0
Questa area non influenza la gravità o lo smorzamento. Queste sono generalmente aree che esistono solo per rilevare collisioni e oggetti che entrano o escono da essa.
AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_COMBINE = 1
Questa area aggiunge i suoi valori di gravità e smorzamento a tutto ciò che è stato calcolato finora. In questo modo, molte aree sovrapposte possono combinare la loro fisica per creare effetti interessanti.
AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_COMBINE_REPLACE = 2
Questa area aggiunge i suoi valori di gravità e smorzamento a tutto ciò che è stato calcolato finora. Infine smette di tenere conto del resto delle aree, anche quella predefinita.
AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_REPLACE = 3
Quest'area sostituisce qualsiasi valore di gravità e smorzamento, anche quelli predefiniti, e smette di tenere conto delle altre aree.
AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_REPLACE_COMBINE = 4
Quest'area sostituisce qualsiasi valore di gravità e smorzamento calcolato finora, ma continua a calcolare le altre aree, fino a quella predefinita.
enum BodyMode: 🔗
BodyMode BODY_MODE_STATIC = 0
Costante per i corpi statici. In questa modalità, un corpo può essere spostato solo dal codice utente e non entra in collisione con altri corpi lungo il suo percorso quando viene spostato.
BodyMode BODY_MODE_KINEMATIC = 1
Costante per i corpi cinematici. In questa modalità, un corpo può essere spostato solo dal codice utente ed entra in collisione con altri corpi lungo il suo percorso.
BodyMode BODY_MODE_RIGID = 2
Costante per i corpi rigidi. In questa modalità, un corpo può essere spinto da altri corpi e avere forze applicate.
BodyMode BODY_MODE_RIGID_LINEAR = 3
Costante per i corpi rigidi lineari. In questa modalità, un corpo non può ruotare e solo la sua velocità lineare è influenzata dalle forze esterne.
enum BodyParameter: 🔗
BodyParameter BODY_PARAM_BOUNCE = 0
Costante per impostare/ottenere il fattore di rimbalzo di un corpo.
BodyParameter BODY_PARAM_FRICTION = 1
Costante per impostare/ottenere l'attrito di un corpo.
BodyParameter BODY_PARAM_MASS = 2
Costante per impostare/ottenere la massa di un corpo.
BodyParameter BODY_PARAM_INERTIA = 3
Costante per impostare/ottenere l'inerzia di un corpo.
BodyParameter BODY_PARAM_CENTER_OF_MASS = 4
Costante per impostare/ottenere la posizione del centro di massa di un corpo nel sistema di coordinate locale del corpo.
BodyParameter BODY_PARAM_GRAVITY_SCALE = 5
Costante per impostare/ottenere il moltiplicatore della gravità di un corpo.
BodyParameter BODY_PARAM_LINEAR_DAMP_MODE = 6
Costante per impostare/ottenere la modalità di smorzamento lineare di un corpo. Vedi BodyDampMode per i valori possibili.
BodyParameter BODY_PARAM_ANGULAR_DAMP_MODE = 7
Costante per impostare/ottenere la modalità di smorzamento angolare di un corpo. Vedi BodyDampMode per i valori possibili.
BodyParameter BODY_PARAM_LINEAR_DAMP = 8
Costante per impostare/ottenere il fattore di smorzamento lineare di un corpo.
BodyParameter BODY_PARAM_ANGULAR_DAMP = 9
Costante per impostare/ottenere il fattore di smorzamento angolare di un corpo.
BodyParameter BODY_PARAM_MAX = 10
Rappresenta la dimensione dell'enumerazione BodyParameter.
enum BodyDampMode: 🔗
BodyDampMode BODY_DAMP_MODE_COMBINE = 0
Il valore di smorzamento del corpo è aggiunto a qualsiasi valore impostato nelle aree o al valore predefinito.
BodyDampMode BODY_DAMP_MODE_REPLACE = 1
Il valore di smorzamento del corpo sostituisce qualsiasi valore impostato nelle aree o il valore predefinito.
enum BodyState: 🔗
BodyState BODY_STATE_TRANSFORM = 0
Costante per impostare/ottenere la matrice di trasformazione attuale di un corpo.
BodyState BODY_STATE_LINEAR_VELOCITY = 1
Costante per impostare/ottenere la velocità lineare attuale di un corpo.
BodyState BODY_STATE_ANGULAR_VELOCITY = 2
Costante per impostare/ottenere la velocità angolare attuale di un corpo.
BodyState BODY_STATE_SLEEPING = 3
Costante per cambiare lo stato di riposo di un corpo, oppure per ottenere se è in riposo.
BodyState BODY_STATE_CAN_SLEEP = 4
Costante per impostare/ottenere se il corpo può essere in riposo.
enum AreaBodyStatus: 🔗
AreaBodyStatus AREA_BODY_ADDED = 0
Il valore del primo parametro e la funzione di callback dell'area ricevuti, quando un oggetto entra in una delle sue forme.
AreaBodyStatus AREA_BODY_REMOVED = 1
Il valore del primo parametro e la funzione di callback dell'area ricevuti, quando un oggetto esce da una delle sue forme.
enum ProcessInfo: 🔗
ProcessInfo INFO_ACTIVE_OBJECTS = 0
Costante per ottenere il numero di oggetti che non sono in riposo.
ProcessInfo INFO_COLLISION_PAIRS = 1
Costante per ottenere il numero di possibili collisioni.
ProcessInfo INFO_ISLAND_COUNT = 2
Costante per ottenere il numero di regioni nello spazio in cui si potrebbe verificare una collisione.
enum SpaceParameter: 🔗
SpaceParameter SPACE_PARAM_CONTACT_RECYCLE_RADIUS = 0
Costante per impostare/ottenere la distanza massima che una coppia di corpi deve percorrere prima che il loro stato di collisione debba essere ricalcolato.
SpaceParameter SPACE_PARAM_CONTACT_MAX_SEPARATION = 1
Costante per impostare/ottenere la distanza massima che una forma può avere da un'altra prima che siano considerate separate e il contatto sia scartato.
SpaceParameter SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION = 2
Costante per impostare/ottenere la distanza massima entro cui una forma può penetrare un'altra forma prima che sia considerata una collisione.
SpaceParameter SPACE_PARAM_CONTACT_DEFAULT_BIAS = 3
Costante per impostare/ottenere il bias predefinito del risolutore per tutti i contatti fisici. Un bias del risolutore è un fattore che controlla quanto due oggetti "rimbalzano", dopo essersi sovrapposti, per evitare di lasciarli in quella situazione a causa di un'imprecisione numerica.
SpaceParameter SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD = 4
Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SpaceParameter SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD = 5
Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
Note: Only supported when using GodotPhysics3D. This parameter is ignored when using Jolt Physics.
SpaceParameter SPACE_PARAM_BODY_TIME_TO_SLEEP = 6
Costante per impostare/ottenere il tempo massimo di attività. Un corpo contrassegnato come potenzialmente inattivo sia per la velocità lineare sia per quella angolare sarà messo in modalità riposo dopo questo tempo.
SpaceParameter SPACE_PARAM_SOLVER_ITERATIONS = 7
Costante per impostare/ottenere il numero di iterazioni del risolutore per i contatti e i vincoli. Maggiore è il numero di iterazioni, più accurate saranno le collisioni e i vincoli. Tuttavia, un numero maggiore di iterazioni richiede una maggiore potenza della CPU, il che può ridurre le prestazioni.
enum BodyAxis: 🔗
BodyAxis BODY_AXIS_LINEAR_X = 1
There is currently no description for this enum. Please help us by contributing one!
BodyAxis BODY_AXIS_LINEAR_Y = 2
There is currently no description for this enum. Please help us by contributing one!
BodyAxis BODY_AXIS_LINEAR_Z = 4
There is currently no description for this enum. Please help us by contributing one!
BodyAxis BODY_AXIS_ANGULAR_X = 8
There is currently no description for this enum. Please help us by contributing one!
BodyAxis BODY_AXIS_ANGULAR_Y = 16
There is currently no description for this enum. Please help us by contributing one!
BodyAxis BODY_AXIS_ANGULAR_Z = 32
There is currently no description for this enum. Please help us by contributing one!
Descrizioni dei metodi
void area_add_shape(area: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false) 🔗
Aggiunge una forma all'area, con una matrice di trasformazione. Le forme sono generalmente referenziate dal loro indice, quindi dovresti tenere traccia di quale forma ha un determinato indice.
void area_attach_object_instance_id(area: RID, id: int) 🔗
Assegna l'area a un discendente di Object, in modo che possa esistere nell'albero dei nodi.
void area_clear_shapes(area: RID) 🔗
Rimuove tutte le forme da un'area. Non elimina le forme, quindi possono essere riassegnate in seguito.
Crea un oggetto area 3D nel server di fisica e restituisce il RID che lo identifica. Le impostazioni predefinite per l'area creata includono gli strati e la maschera di collisione impostati su 1 e monitorable impostato su false.
Usa area_add_shape() per aggiungervi forme, usa area_set_transform() per impostarne la trasformazione e usa area_set_space() per aggiungere l'area a uno spazio. Se desideri che l'area sia rilevabile, usa area_set_monitorable().
int area_get_collision_layer(area: RID) const 🔗
Restituisce lo strato o gli strati di fisica a cui appartiene un'area.
int area_get_collision_mask(area: RID) const 🔗
Restituisce lo strato o gli strati di fisica con cui un'area può entrare in contatto.
int area_get_object_instance_id(area: RID) const 🔗
Ottiene l'ID d'istanza dell'oggetto a cui è assegnata l'area.
Variant area_get_param(area: RID, param: AreaParameter) const 🔗
Restituisce il valore di un parametro di un area. Un elenco di parametri disponibili è presente nelle costanti di AreaParameter.
RID area_get_shape(area: RID, shape_idx: int) const 🔗
Restituisce il RID della ennesima forma di un'area.
int area_get_shape_count(area: RID) const 🔗
Restituisce il numero di forme assegnate a un'area.
Transform3D area_get_shape_transform(area: RID, shape_idx: int) const 🔗
Restituisce la matrice di trasformazione di una forma in un'area.
RID area_get_space(area: RID) const 🔗
Restituisce lo spazio assegnato all'area.
Transform3D area_get_transform(area: RID) const 🔗
Restituisce la matrice di trasformazione per un'area.
void area_remove_shape(area: RID, shape_idx: int) 🔗
Rimuove una forma da un'area. Non elimina la forma, quindi può essere riassegnata in seguito.
void area_set_area_monitor_callback(area: RID, callback: Callable) 🔗
Imposta il callback di monitoraggio aree dell'area. Questa callback sarà chiamata quando qualsiasi altra (forma di un') area entra o esce (da una forma di) l'area fornita, e deve prendere i seguenti cinque parametri:
un intero
status: o AREA_BODY_ADDED o AREA_BODY_REMOVED a seconda che la forma dell'altra area sia entrata o uscita dall'area,un RID
area_rid: il RID dell'altra area che è entrata o uscita dall'area,un intero
instance_id: l'ObjectIDassociato all'altra area,un intero
area_shape_idx: l'indice della forma dell'altra area che è entrata o uscita dall'area,un intero
self_shape_idx: l'indice della forma dell'area in cui l'altra area è entrata o uscita dall'area.
Contando (o tenendo traccia) delle forme che entrano ed escono, è possibile determinare se un'area (con tutte le sue forme) sta entrando per la prima volta o sta uscendo per l'ultima volta.
void area_set_collision_layer(area: RID, layer: int) 🔗
Assegna l'area a uno o più strati di fisica.
void area_set_collision_mask(area: RID, mask: int) 🔗
Imposta quali strati di fisica saranno monitorati dall'area.
void area_set_monitor_callback(area: RID, callback: Callable) 🔗
Imposta il callback di monitoraggio corpi dell'area. Questa callback sarà chiamata quando qualsiasi altra (forma di un) corpo entra o esce (da una forma di) il corpo fornito, e deve prendere i seguenti cinque parametri:
un intero
status: o AREA_BODY_ADDED o AREA_BODY_REMOVED a seconda che la forma dell'altro corpo sia entrata o uscita dall'area,un RID
body_rid: il RID del corpo che è entrato o uscito dall'area,un intero
instance_id: l'ObjectIDassociato al corpo,un intero
body_shape_idx: l'indice della forma dell'altra area che è entrata o uscita dall'area,un intero
self_shape_idx: l'indice della forma dell'area in cui il corpo è entrato o uscito.
Contando (o tenendo traccia) delle forme che entrano ed escono, è possibile determinare se un corpo (con tutte le sue forme) sta entrando per la prima volta o sta uscendo per l'ultima volta.
void area_set_monitorable(area: RID, monitorable: bool) 🔗
There is currently no description for this method. Please help us by contributing one!
void area_set_param(area: RID, param: AreaParameter, value: Variant) 🔗
Imposta il valore di un parametro di un area. Un elenco di parametri disponibili è presente nelle costanti di AreaParameter.
void area_set_ray_pickable(area: RID, enable: bool) 🔗
Imposta l'oggetto come selezionabile dai raggi.
void area_set_shape(area: RID, shape_idx: int, shape: RID) 🔗
Sostituisce una determinata forma di un'area con un'altra. La vecchia forma è selezionata dal suo indice, quella nuova dal suo RID.
void area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) 🔗
There is currently no description for this method. Please help us by contributing one!
void area_set_shape_transform(area: RID, shape_idx: int, transform: Transform3D) 🔗
Imposta la matrice di trasformazione per una forma di un'area.
void area_set_space(area: RID, space: RID) 🔗
Assegna uno spazio all'area.
void area_set_transform(area: RID, transform: Transform3D) 🔗
Imposta la matrice di trasformazione per un'area.
void body_add_collision_exception(body: RID, excepted_body: RID) 🔗
Aggiunge un corpo alla lista dei corpi esenti da collisioni.
void body_add_constant_central_force(body: RID, force: Vector3) 🔗
Aggiunge una forza direzionale costante senza influenzare la rotazione che continua a essere applicata nel tempo finché non viene cancellata con body_set_constant_force(body, Vector3(0, 0, 0)).
Ciò equivale a usare body_add_constant_force() al centro di massa del corpo.
void body_add_constant_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗
Aggiunge una forza posizionata costante al corpo che continua a essere applicata nel tempo finché non viene cancellata con body_set_constant_force(body, Vector3(0, 0, 0)).
position è lo scostamento dall'origine del corpo in coordinate globali.
void body_add_constant_torque(body: RID, torque: Vector3) 🔗
Aggiunge una forza rotazionale costante al corpo che continua a essere applicata nel tempo finché non viene cancellata con body_set_constant_torque(body, Vector3(0, 0, 0)).
void body_add_shape(body: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false) 🔗
Aggiunge una forma al corpo, con una matrice di trasformazione. Le forme sono generalmente referenziate dal loro indice, quindi dovresti tenere traccia di quale forma ha un determinato indice.
void body_apply_central_force(body: RID, force: Vector3) 🔗
Applica una forza direzionale senza influenzare la rotazione. Una forza è dipendente dal tempo e pensata per essere applicata a ogni aggiornamento della fisica.
Ciò equivale a usare body_apply_force() al centro di massa del corpo.
void body_apply_central_impulse(body: RID, impulse: Vector3) 🔗
Applica un impulso direzionale senza influenzare la rotazione.
Un impulso è indipendente dal tempo! Applicare un impulso a ogni frame risulterebbe in a una forza dipendente dal frame rate. Per questo motivo, dovrebbe essere utilizzato solo quando si simulano impatti singoli (altrimenti, utilizza le funzioni "_force").
Ciò equivale a utilizzare body_apply_impulse() al centro di massa del corpo.
void body_apply_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗
Applica una forza posizionata al corpo. Una forza è dipendente dal tempo e deve essere applicata a ogni aggiornamento della fisica.
position è lo scostamento dall'origine del corpo in coordinate globali.
void body_apply_impulse(body: RID, impulse: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗
Applica un impulso posizionato al corpo.
Un impulso è indipendente dal tempo! Applicare un impulso a ogni frame risulterebbe in una forza dipendente dal frame rate. Per questo motivo, dovrebbe essere utilizzato solo quando si simulano impatti singoli (altrimenti, utilizza le funzioni "_force").
position è lo scostamento dall'origine del corpo in coordinate globali.
void body_apply_torque(body: RID, torque: Vector3) 🔗
Applica una forza rotazionale senza influenzare la posizione. Una forza è dipendente dal tempo e pensata per essere applicata a ogni aggiornamento della fisica.
void body_apply_torque_impulse(body: RID, impulse: Vector3) 🔗
Applica un impulso rotazionale al corpo senza influenzare la posizione.
Un impulso è indipendente dal tempo! Applicare un impulso a ogni frame risulterebbe in a una forza dipendente dal frame rate. Per questo motivo, dovrebbe essere utilizzato solo quando si simulano impatti singoli (altrimenti, utilizza le funzioni "_force").
void body_attach_object_instance_id(body: RID, id: int) 🔗
Assegna l'area a un discendente di Object, in modo che possa esistere nell'albero dei nodi.
void body_clear_shapes(body: RID) 🔗
Rimuove tutte le forme da un corpo.
Crea un oggetto corpo 3D nel server di fisica e restituisce il RID che lo identifica. Le impostazioni predefinite per l'area creata includono gli strati e la maschera di collisione impostati su 1 e la modalità del corpo impostata su BODY_MODE_RIGID.
Usa body_add_shape() per aggiungervi forme, usa body_set_state() per impostarne la trasformazione e usa body_set_space() per aggiungere il corpo a uno spazio.
int body_get_collision_layer(body: RID) const 🔗
Restituisce lo strato o gli strati di fisica a cui appartiene un corpo.
int body_get_collision_mask(body: RID) const 🔗
Restituisce lo strato o gli strati di fisica con cui un corpo può entrare in contatto.
float body_get_collision_priority(body: RID) const 🔗
Restituisce la priorità di collisione del corpo.
Vector3 body_get_constant_force(body: RID) const 🔗
Restituisce le forze posizionali costanti totali del corpo applicate durante ogni aggiornamento della fisica.
Vedi body_add_constant_force() e body_add_constant_central_force().
Vector3 body_get_constant_torque(body: RID) const 🔗
Restituisce le forze rotazionali costanti totali del corpo applicate durante ogni aggiornamento della fisica.
Vedi body_add_constant_force() e body_add_constant_central_force().
PhysicsDirectBodyState3D body_get_direct_state(body: RID) 🔗
Restituisce il PhysicsDirectBodyState3D del corpo. Restituisce null se il corpo è distrutto o rimosso dallo spazio fisico.
int body_get_max_contacts_reported(body: RID) const 🔗
Restituisce il numero massimo di contatti che si possono riportare. Vedi body_set_max_contacts_reported().
BodyMode body_get_mode(body: RID) const 🔗
Restituisce la modalità del corpo.
int body_get_object_instance_id(body: RID) const 🔗
Ottiene l'ID d'istanza dell'oggetto a cui è assegnata l'area.
Variant body_get_param(body: RID, param: BodyParameter) const 🔗
Restituisce il valore di un parametro di un corpo. Un elenco di parametri disponibili è presente nelle costanti di BodyParameter.
RID body_get_shape(body: RID, shape_idx: int) const 🔗
Restituisce il RID della ennesima forma di un corpo.
int body_get_shape_count(body: RID) const 🔗
Restituisce il numero di forme assegnate a un corpo.
Transform3D body_get_shape_transform(body: RID, shape_idx: int) const 🔗
Restituisce la matrice di trasformazione di una forma del corpo.
RID body_get_space(body: RID) const 🔗
Restituisce il RID dello spazio assegnato a un corpo.
Variant body_get_state(body: RID, state: BodyState) const 🔗
Restituisce uno stato del corpo.
bool body_is_axis_locked(body: RID, axis: BodyAxis) const 🔗
There is currently no description for this method. Please help us by contributing one!
bool body_is_continuous_collision_detection_enabled(body: RID) const 🔗
Se true, la modalità di rilevamento continuo delle collisioni è abilitata.
bool body_is_omitting_force_integration(body: RID) const 🔗
Restituisce true se il corpo omette l'integrazione predefinita delle forze. Vedi body_set_omit_force_integration().
void body_remove_collision_exception(body: RID, excepted_body: RID) 🔗
Rimuove un corpo dalla lista dei corpi esenti da collisioni.
Il rilevamento continuo delle collisioni cerca di prevedere dove un corpo in movimento entrerà in collisione, invece di spostarlo e correggerne il movimento in caso di collisione.
void body_remove_shape(body: RID, shape_idx: int) 🔗
Rimuove una forma da un corpo. La forma non viene eliminata, quindi può essere riutilizzata in seguito.
void body_reset_mass_properties(body: RID) 🔗
Ripristina l'inerzia e il centro di massa predefiniti in base alle forme, per annullare tutti i valori personalizzati impostati in precedenza tramite body_set_param().
void body_set_axis_lock(body: RID, axis: BodyAxis, lock: bool) 🔗
There is currently no description for this method. Please help us by contributing one!
void body_set_axis_velocity(body: RID, axis_velocity: Vector3) 🔗
Imposta una velocità dell'asse. La velocità nell'asse del vettore specificato verrà impostata come la lunghezza del vettore specificato. Ciò è utile per il comportamento di salto.
void body_set_collision_layer(body: RID, layer: int) 🔗
Imposta lo strato o gli strati di fisica a cui appartiene un corpo.
void body_set_collision_mask(body: RID, mask: int) 🔗
Imposta lo strato o gli strati di fisica con cui un corpo può entrare in contatto.
void body_set_collision_priority(body: RID, priority: float) 🔗
Imposta la priorità di collisione del corpo.
void body_set_constant_force(body: RID, force: Vector3) 🔗
Imposta le forze posizionali costanti totali del corpo applicate durante ogni aggiornamento della fisica.
Vedi body_add_constant_force() e body_add_constant_central_force().
void body_set_constant_torque(body: RID, torque: Vector3) 🔗
Imposta le forze rotazionali costanti totali del corpo applicate durante ogni aggiornamento della fisica.
Vedi body_add_constant_torque().
void body_set_enable_continuous_collision_detection(body: RID, enable: bool) 🔗
Se true, la modalità di rilevamento continuo delle collisioni è abilitata.
Il rilevamento continuo delle collisioni cerca di prevedere dove un corpo in movimento entrerà in collisione, invece di spostarlo e correggerne il movimento in caso di collisione.
void body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant = null) 🔗
Imposta la funzione di callback per l'integrazione personalizzata della forza del corpo su callable. Utilizza un Callable vuoto (Callable()) per cancellare il callback personalizzato.
La funzione callable sarà chiamata a ogni tick di fisica, prima dell'integrazione standard della forza (vedi body_set_omit_force_integration()). Può essere utilizzata, ad esempio, per aggiornare la velocità lineare e angolare del corpo in base al contatto con altri corpi.
Se userdata non è null, la funzione callable deve accettare i due parametri seguenti:
state: un PhysicsDirectBodyState3D, utilizzato per recuperare e modificare lo stato del corpo,userdata: un Variant; il suo valore sarà l'userdatapassato in questo metodo.
Se userdata è null, allora callable deve accettare solo il parametro state.
void body_set_max_contacts_reported(body: RID, amount: int) 🔗
Imposta il numero massimo di contatti da riportare. I corpi possono tenere un registro dei contatti con altri corpi. Ciò è abilitato impostando il numero massimo di contatti riportati a un numero maggiore di 0.
void body_set_mode(body: RID, mode: BodyMode) 🔗
Imposta la modalità del corpo.
void body_set_omit_force_integration(body: RID, enable: bool) 🔗
Imposta se il corpo omette l'integrazione standard della forza. Se enable è true, il corpo non utilizzerà automaticamente le forze, le coppie e lo smorzamento applicati per aggiornare la velocità lineare e angolare del corpo. In questo caso, è possibile utilizzare body_set_force_integration_callback() per aggiornare manualmente la velocità lineare e angolare.
Questo metodo viene chiamato quando la proprietà RigidBody3D.custom_integrator viene impostata.
void body_set_param(body: RID, param: BodyParameter, value: Variant) 🔗
Imposta un parametro di un corpo. Un elenco di parametri disponibili è presente nelle costanti di BodyParameter.
void body_set_ray_pickable(body: RID, enable: bool) 🔗
Imposta il corpo per essere selezionabile con i raggi se enable è impostato.
void body_set_shape(body: RID, shape_idx: int, shape: RID) 🔗
Sostituisce una determinata forma del corpo con un'altra. La vecchia forma è selezionata dal suo indice, quella nuova dal suo RID.
void body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) 🔗
There is currently no description for this method. Please help us by contributing one!
void body_set_shape_transform(body: RID, shape_idx: int, transform: Transform3D) 🔗
Imposta la matrice di trasformazione per una forma del corpo.
void body_set_space(body: RID, space: RID) 🔗
Assegna uno spazio al corpo (vedi space_create()).
void body_set_state(body: RID, state: BodyState, value: Variant) 🔗
Imposta uno stato del corpo.
void body_set_state_sync_callback(body: RID, callable: Callable) 🔗
Imposta la funzione di callback di sincronizzazione dello stato del corpo su callable. Utilizza un Callable vuoto (Callable()) per cancellare il callback.
La funzione callable verrà chiamata a ogni frame di fisica, supponendo che il corpo fosse attivo durante il tick di fisica precedente, e può essere utilizzata per recuperare lo stato più recente dal server di fisica.
La funzione callable deve accettare i seguenti parametri:
state: un PhysicsDirectBodyState3D, utilizzato per recuperare lo stato del corpo.
bool body_test_motion(body: RID, parameters: PhysicsTestMotionParameters3D, result: PhysicsTestMotionResult3D = null) 🔗
Restituisce true se si verificherebbe una collisione spostando il corpo lungo un vettore di movimento da un punto specificato nello spazio. PhysicsTestMotionParameters3D viene passato per impostare parametri di movimento. Facoltativamente, è possibile passare un oggetto PhysicsTestMotionResult3D per restituire ulteriori informazioni sulla collisione risultante.
Creates a 3D box shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the box's half-extents.
Creates a 3D capsule shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the capsule's height and radius.
RID concave_polygon_shape_create() 🔗
Creates a 3D concave polygon shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the concave polygon's triangles.
float cone_twist_joint_get_param(joint: RID, param: ConeTwistJointParam) const 🔗
Ottiene un parametro di un giunto a torsione conica.
void cone_twist_joint_set_param(joint: RID, param: ConeTwistJointParam, value: float) 🔗
Imposta un parametro di un giunto a torsione conica.
RID convex_polygon_shape_create() 🔗
Creates a 3D convex polygon shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the convex polygon's points.
Creates a custom shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the shape's data.
Note: Custom shapes are not supported by the built-in physics servers, so calling this method always produces an error when using Godot Physics or Jolt Physics. Custom physics servers implemented as GDExtensions may support a custom shape.
Creates a 3D cylinder shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the cylinder's height and radius.
Distrugge uno qualsiasi degli oggetti creati dal PhysicsServer3D. Se il RID passato non è uno degli oggetti che possono essere creati dal PhysicsServer3D, un errore verrà inviato alla console.
bool generic_6dof_joint_get_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag) const 🔗
Restituisce il valore di un flag di un giunto generico 6DOF.
float generic_6dof_joint_get_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam) const 🔗
Restituisce il valore di un parametro di un giunto generico 6DOF.
void generic_6dof_joint_set_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag, enable: bool) 🔗
Imposta il valore di un flag di un giunto generico 6DOF.
void generic_6dof_joint_set_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam, value: float) 🔗
Imposta il valore di un parametro di un giunto generico 6DOF.
int get_process_info(process_info: ProcessInfo) 🔗
Restituisce il valore di uno stato del motore di fisica specificato da process_info.
RID heightmap_shape_create() 🔗
Creates a 3D heightmap shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the heightmap's data.
bool hinge_joint_get_flag(joint: RID, flag: HingeJointFlag) const 🔗
Ottiene un flag di un giunto a cerniera.
float hinge_joint_get_param(joint: RID, param: HingeJointParam) const 🔗
Ottiene un parametro di un giunto a cerniera.
void hinge_joint_set_flag(joint: RID, flag: HingeJointFlag, enabled: bool) 🔗
Imposta un flag di un giunto a cerniera.
void hinge_joint_set_param(joint: RID, param: HingeJointParam, value: float) 🔗
Imposta un parametro di un giunto a cerniera.
void joint_clear(joint: RID) 🔗
There is currently no description for this method. Please help us by contributing one!
There is currently no description for this method. Please help us by contributing one!
void joint_disable_collisions_between_bodies(joint: RID, disable: bool) 🔗
Imposta se i corpi attaccati al Joint3D entreranno in collisione tra loro.
int joint_get_solver_priority(joint: RID) const 🔗
Gets the priority value of the Joint3D.
Note: Only supported when using GodotPhysics3D. This method always returns 1 when using Jolt Physics, as it does not support joint solver priority.
JointType joint_get_type(joint: RID) const 🔗
Restituisce il tipo di Joint3D.
bool joint_is_disabled_collisions_between_bodies(joint: RID) const 🔗
Restituisce se i corpi attaccati al Joint3D entreranno in collisione tra loro.
void joint_make_cone_twist(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗
There is currently no description for this method. Please help us by contributing one!
void joint_make_generic_6dof(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗
Rende il giunto uno generico a sei gradi di libertà (6DOF). Usa generic_6dof_joint_set_flag() e generic_6dof_joint_set_param() per impostare rispettivamente i flag e i parametri del giunto.
void joint_make_hinge(joint: RID, body_A: RID, hinge_A: Transform3D, body_B: RID, hinge_B: Transform3D) 🔗
There is currently no description for this method. Please help us by contributing one!
void joint_make_pin(joint: RID, body_A: RID, local_A: Vector3, body_B: RID, local_B: Vector3) 🔗
There is currently no description for this method. Please help us by contributing one!
void joint_make_slider(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗
There is currently no description for this method. Please help us by contributing one!
void joint_set_solver_priority(joint: RID, priority: int) 🔗
Sets the priority value of the Joint3D.
Note: Only supported when using GodotPhysics3D. This method has no effect when using Jolt Physics, as it does not support joint solver priority.
Vector3 pin_joint_get_local_a(joint: RID) const 🔗
Restituisce la posizione del giunto nello spazio locale del corpo A del giunto.
Vector3 pin_joint_get_local_b(joint: RID) const 🔗
Restituisce la posizione del giunto nello spazio locale del corpo B del giunto.
float pin_joint_get_param(joint: RID, param: PinJointParam) const 🔗
Ottiene un flag di un giunto a perno.
void pin_joint_set_local_a(joint: RID, local_A: Vector3) 🔗
Imposta la posizione del giunto nello spazio locale del corpo A del giunto.
void pin_joint_set_local_b(joint: RID, local_B: Vector3) 🔗
Imposta la posizione del giunto nello spazio locale del corpo B del giunto.
void pin_joint_set_param(joint: RID, param: PinJointParam, value: float) 🔗
Imposta un parametro di un giunto a perno.
RID separation_ray_shape_create() 🔗
Creates a 3D separation ray shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the shape's length and slide_on_slope properties.
void set_active(active: bool) 🔗
Attiva o disattiva il motore fisico 3D.
Variant shape_get_data(shape: RID) const 🔗
Returns the shape data that configures the shape, such as the half-extents of a box or the triangles of a concave (trimesh) shape. See shape_set_data() for the precise format of this data in each case.
float shape_get_margin(shape: RID) const 🔗
Restituisce il margine di collisione per la forma.
Nota: Questo non è utilizzato in Godot Physics, quindi restituirà sempre 0.
ShapeType shape_get_type(shape: RID) const 🔗
Restituisce il tipo della forma.
void shape_set_data(shape: RID, data: Variant) 🔗
Sets the shape data that configures the shape. The data to be passed depends on the shape's type (see shape_get_type()):
SHAPE_SEPARATION_RAY: a dictionary containing the key
"length"with a float value and the key"slide_on_slope"with a bool value,SHAPE_SPHERE: a float that is the radius of the sphere,
SHAPE_BOX: a Vector3 containing the half-extents of the box,
SHAPE_CAPSULE: a dictionary containing the keys
"height"and"radius"with float values,SHAPE_CYLINDER: a dictionary containing the keys
"height"and"radius"with float values,SHAPE_CONVEX_POLYGON: a PackedVector3Array of points defining a convex polygon (the shape will be the convex hull of the points),
SHAPE_CONCAVE_POLYGON: a dictionary containing the key
"faces"with a PackedVector3Array value (with a length divisible by 3, so that each 3-tuple of points forms a face) and the key"backface_collision"with a bool value,SHAPE_HEIGHTMAP: a dictionary containing the keys
"width"and"depth"with int values, and the key"heights"with a value that is a packed array of floats of lengthwidth * depth(that is a PackedFloat32Array, or a PackedFloat64Array if Godot was compiled with theprecision=doubleoption), and optionally the keys"min_height"and"max_height"with float values,SHAPE_SOFT_BODY: the input
datais ignored and this method has no effect,SHAPE_CUSTOM: the input
datais interpreted by a custom physics server, if it supports custom shapes.
void shape_set_margin(shape: RID, margin: float) 🔗
Imposta il margine di collisione per la forma.
Nota: Questo non è utilizzato in Godot Physics.
float slider_joint_get_param(joint: RID, param: SliderJointParam) const 🔗
Ottiene un parametro di un giunto scorrevole.
void slider_joint_set_param(joint: RID, param: SliderJointParam, value: float) 🔗
Ottiene un parametro di un giunto scorrevole.
void soft_body_add_collision_exception(body: RID, body_b: RID) 🔗
Aggiunge il corpo specificato alla lista dei corpi esenti da collisioni.
void soft_body_apply_central_force(body: RID, force: Vector3) 🔗
Distribuisce e applica una forza a tutti i punti. Una forza è dipendente dal tempo e pensata per essere applicata a ogni aggiornamento della fisica.
void soft_body_apply_central_impulse(body: RID, impulse: Vector3) 🔗
Distribuisce e applica un impulso a tutti i punti.
Un impulso è indipendente dal tempo! Applicare un impulso a ogni frame risulterebbe in a una forza dipendente dal frame rate. Per questo motivo, dovrebbe essere utilizzato solo quando si simulano impatti singoli (altrimenti, utilizza le funzioni "_force").
void soft_body_apply_point_force(body: RID, point_index: int, force: Vector3) 🔗
Applica una forza a un punto. Una forza è dipendente dal tempo e pensata per essere applicata a ogni aggiornamento della fisica.
void soft_body_apply_point_impulse(body: RID, point_index: int, impulse: Vector3) 🔗
Applica un impulso a un punto.
Un impulso è indipendente dal tempo! Applicare un impulso a ogni frame risulterebbe in a una forza dipendente dal frame rate. Per questo motivo, dovrebbe essere utilizzato solo quando si simulano impatti singoli (altrimenti, utilizza le funzioni "_force").
Crea un nuovo corpo deformabile e restituisce il suo RID interno.
AABB soft_body_get_bounds(body: RID) const 🔗
Restituisce i confini del corpo deformabile fornito in coordinate globali.
int soft_body_get_collision_layer(body: RID) const 🔗
Restituisce gli strati di fisica a cui appartiene il corpo deformabile fornito.
int soft_body_get_collision_mask(body: RID) const 🔗
Restituisce gli strati di fisica con cui il corpo deformabile fornito può collidere.
float soft_body_get_damping_coefficient(body: RID) const 🔗
Restituisce il coefficiente di smorzamento del corpo deformabile fornito.
float soft_body_get_drag_coefficient(body: RID) const 🔗
Restituisce il coefficiente di trascinamento del corpo deformabile fornito.
float soft_body_get_linear_stiffness(body: RID) const 🔗
Restituisce la rigidità lineare del corpo deformabile fornito.
Vector3 soft_body_get_point_global_position(body: RID, point_index: int) const 🔗
Restituisce la posizione corrente del punto del corpo deformabile fornito in coordinate globali.
float soft_body_get_pressure_coefficient(body: RID) const 🔗
Restituisce il coefficiente di pressione del corpo deformabile fornito.
float soft_body_get_shrinking_factor(body: RID) const 🔗
Restituisce il fattore di rimpicciolimento del corpo deformabile specificato.
int soft_body_get_simulation_precision(body: RID) const 🔗
Restituisce la precisione di simulazione del corpo deformabile fornito.
RID soft_body_get_space(body: RID) const 🔗
Restituisce il RID dello spazio assegnato al corpo deformabile fornito.
Variant soft_body_get_state(body: RID, state: BodyState) const 🔗
Restituisce lo stato del corpo deformabile specificato.
Nota: L'implementazione fisica predefinita di Godot non supporta BODY_STATE_LINEAR_VELOCITY, BODY_STATE_ANGULAR_VELOCITY, BODY_STATE_SLEEPING o BODY_STATE_CAN_SLEEP.
float soft_body_get_total_mass(body: RID) const 🔗
Restituisce la massa totale assegnata al corpo deformabile fornito.
bool soft_body_is_point_pinned(body: RID, point_index: int) const 🔗
Restituisce se il punto del corpo deformabile fornito è fissato.
void soft_body_move_point(body: RID, point_index: int, global_position: Vector3) 🔗
Sposta il punto del corpo deformabile fornito a una posizione in coordinate globali.
void soft_body_pin_point(body: RID, point_index: int, pin: bool) 🔗
Fissa o stacca il punto del corpo deformabile specificato in base al valore di pin.
Nota: Fissare un punto lo rende effettivamente cinematico, impedendogli di essere influenzato dalle forze, ma puoi comunque spostarlo tramite soft_body_move_point().
void soft_body_remove_all_pinned_points(body: RID) 🔗
Stacca tutti i punti del corpo deformabile specificato.
void soft_body_remove_collision_exception(body: RID, body_b: RID) 🔗
Rimuove il corpo specificato dalla lista dei corpi esenti da collisioni.
void soft_body_set_collision_layer(body: RID, layer: int) 🔗
Imposta gli strati di fisica a cui appartiene il corpo deformabile fornito.
void soft_body_set_collision_mask(body: RID, mask: int) 🔗
Imposta gli strati di fisica con cui il corpo deformabile fornito può collidere.
void soft_body_set_damping_coefficient(body: RID, damping_coefficient: float) 🔗
Imposta il coefficiente di smorzamento del corpo deformabile specificato. Valori più alti rallenteranno il corpo in modo più evidente quando vengono applicate forze.
void soft_body_set_drag_coefficient(body: RID, drag_coefficient: float) 🔗
Imposta il coefficiente di resistenza del corpo deformabile specificato. Valori più alti aumentano la resistenza all'aria di questo corpo.
Nota: Questo valore è attualmente inutilizzato dall'implementazione fisica predefinita di Godot.
void soft_body_set_linear_stiffness(body: RID, stiffness: float) 🔗
Imposta la rigidità lineare del corpo deformabile specificato. Valori più alti risulteranno in un corpo più rigido, mentre valori più bassi aumenteranno la capacità del corpo di piegarsi. Il valore può essere compreso tra 0.0 e 1.0 (inclusi).
void soft_body_set_mesh(body: RID, mesh: RID) 🔗
Imposta la mesh del corpo deformabile specificato.
void soft_body_set_pressure_coefficient(body: RID, pressure_coefficient: float) 🔗
Imposta il coefficiente di pressione del corpo deformabile specificato. Simula l'accumulo di pressione dall'interno di questo corpo. Valori più alti aumentano la forza di questo effetto.
void soft_body_set_ray_pickable(body: RID, enable: bool) 🔗
Imposta se il corpo deformabile specificato sarà selezionabile quando si utilizza la selezione degli oggetti.
void soft_body_set_shrinking_factor(body: RID, shrinking_factor: float) 🔗
Imposta il fattore di rimpicciolimento del corpo deformabile specificato.
void soft_body_set_simulation_precision(body: RID, simulation_precision: int) 🔗
Imposta la precisione della simulazione del corpo deformabile specificato. Aumentare questo valore migliorerà la simulazione risultante, ma può influire sulle prestazioni. Usa con cautela.
void soft_body_set_space(body: RID, space: RID) 🔗
Assegna uno spazio al corpo deformabile specificato (vedi space_create()).
void soft_body_set_state(body: RID, state: BodyState, variant: Variant) 🔗
Imposta lo stato del corpo specificato per il corpo specificato.
Nota: L'implementazione fisica predefinita di Godot non supporta BODY_STATE_LINEAR_VELOCITY, BODY_STATE_ANGULAR_VELOCITY, BODY_STATE_SLEEPING o BODY_STATE_CAN_SLEEP.
void soft_body_set_total_mass(body: RID, total_mass: float) 🔗
Imposta la massa totale per il corpo deformabile fornito.
void soft_body_set_transform(body: RID, transform: Transform3D) 🔗
Imposta la trasformazione globale del corpo deformabile fornito.
void soft_body_update_rendering_server(body: RID, rendering_server_handler: PhysicsServer3DRenderingServerHandler) 🔗
Richiede che il server fisico aggiorni il server di rendering con le ultime posizioni dei punti del corpo deformabile specificato tramite l'interfaccia rendering_server_handler.
Crea uno spazio. Uno spazio è una collezione di parametri per il motore fisico che può essere assegnato a un'area o a un corpo. Può essere assegnato a un'area con area_set_space(), o a un corpo con body_set_space().
PhysicsDirectSpaceState3D space_get_direct_state(space: RID) 🔗
Restituisce lo stato di uno spazio, un PhysicsDirectSpaceState3D. Questo oggetto può essere utilizzato per effettuare interrogazioni di collisione o intersezione.
float space_get_param(space: RID, param: SpaceParameter) const 🔗
Restituisce il valore di un parametro di uno spazio.
bool space_is_active(space: RID) const 🔗
Restituisce se lo spazio è attivo.
void space_set_active(space: RID, active: bool) 🔗
Contrassegna uno spazio come attivo. Non avrà effetto, a meno che non sia assegnato a un'area o a un corpo.
void space_set_param(space: RID, param: SpaceParameter, value: float) 🔗
Imposta il valore per un parametro di uno spazio. Una lista di parametri disponibili è presente nelle costanti di SpaceParameter.
Creates a 3D sphere shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the sphere's radius.
RID world_boundary_shape_create() 🔗
Creates a 3D world boundary shape in the physics server, and returns the RID that identifies it. Use shape_set_data() to set the shape's normal direction and distance properties.