PhysicsDirectBodyState¶
Inherits: Object
Direct access object to a physics body in the PhysicsServer.
Descripción¶
Proporciona acceso directo a un cuerpo físico en el PhysicsServer, permitiendo cambios seguros en las propiedades físicas. Este objeto pasa a través de la llamada de estado directo de los cuerpos rígidos/característicos, y está destinado a cambiar el estado directo de ese cuerpo. Ver RigidBody2D._integrate_forces.
Tutoriales¶
Propiedades¶
Métodos¶
void |
add_central_force ( Vector3 force ) |
void |
|
void |
add_torque ( Vector3 torque ) |
void |
apply_central_impulse ( Vector3 j ) |
void |
apply_impulse ( Vector3 position, Vector3 j ) |
void |
apply_torque_impulse ( Vector3 j ) |
get_contact_collider ( int contact_idx ) const |
|
get_contact_collider_id ( int contact_idx ) const |
|
get_contact_collider_object ( int contact_idx ) const |
|
get_contact_collider_position ( int contact_idx ) const |
|
get_contact_collider_shape ( int contact_idx ) const |
|
get_contact_collider_velocity_at_position ( int contact_idx ) const |
|
get_contact_count ( ) const |
|
get_contact_impulse ( int contact_idx ) const |
|
get_contact_local_normal ( int contact_idx ) const |
|
get_contact_local_position ( int contact_idx ) const |
|
get_contact_local_shape ( int contact_idx ) const |
|
get_space_state ( ) |
|
get_velocity_at_local_position ( Vector3 local_position ) const |
|
void |
integrate_forces ( ) |
Descripciones de Propiedades¶
Vector3 angular_velocity
Setter |
set_angular_velocity(value) |
Getter |
get_angular_velocity() |
The body's rotational velocity in axis-angle format. The magnitude of the vector is the rotation rate in radians per second.
Vector3 center_of_mass
Getter |
get_center_of_mass() |
Vector3 inverse_inertia
Getter |
get_inverse_inertia() |
El inverso de la inercia del cuerpo.
float inverse_mass
Getter |
get_inverse_mass() |
El inverso de la masa del cuerpo.
Vector3 linear_velocity
Setter |
set_linear_velocity(value) |
Getter |
get_linear_velocity() |
The body's linear velocity in units per second.
Basis principal_inertia_axes
Getter |
get_principal_inertia_axes() |
bool sleeping
Setter |
set_sleep_state(value) |
Getter |
is_sleeping() |
Si true
, este cuerpo está actualmente durmiendo (no está activo).
float step
Getter |
get_step() |
El paso temporal (delta) utilizado para la simulación.
float total_angular_damp
Getter |
get_total_angular_damp() |
La velocidad a la que el cuerpo deja de girar, si no hay otras fuerzas que lo muevan.
Vector3 total_gravity
Getter |
get_total_gravity() |
El vector de gravedad total que se aplica actualmente a este cuerpo.
float total_linear_damp
Getter |
get_total_linear_damp() |
La velocidad a la que el cuerpo deja de moverse, si no hay otras fuerzas que lo muevan.
Transform transform
Setter |
set_transform(value) |
Getter |
get_transform() |
La matriz de transformación del cuerpo.
Descripciones de Métodos¶
void add_central_force ( Vector3 force )
Añade una fuerza direccional constante sin afectar a la rotación.
Esto equivale a add_force(force, Vector3(0,0,0))
.
Añade una fuerza posicionada al cuerpo. Tanto la fuerza como el desplazamiento del origen del cuerpo están en coordenadas globales.
void add_torque ( Vector3 torque )
Añade una fuerza de rotación constante sin afectar a la posición.
void apply_central_impulse ( Vector3 j )
Aplica un único impulso direccional sin afectar a la rotación.
Esto equivale a apply_impulse(Vector3(0, 0, 0), impulso)
.
Aplica un impulso posicionado al cuerpo. ¡Un impulso es independiente del tiempo! Aplicar un impulso en cada cuadro resultaría en una fuerza dependiente del cuadro. Por esta razón, sólo debe utilizarse cuando se simulan impactos únicos. La posición utiliza la rotación del sistema de coordenadas globales, pero está centrada en el origen del objeto.
void apply_torque_impulse ( Vector3 j )
Aplica un impulso de torsión (que se verá afectado por la masa y la forma del cuerpo). Esto hará girar el cuerpo alrededor del vector j
pasado como parámetro.
Devuelve el RID del colisionador.
Devuelve la identificación del objeto del colisionador.
Devuelve el objeto del colisionador.
Devuelve la posición de contacto en el colisionador.
Devuelve el índice de forma del colisionador.
Devuelve el vector de velocidad lineal en el punto de contacto del colisionador.
int get_contact_count ( ) const
Returns the number of contacts this body has with other bodies.
Note: By default, this returns 0 unless bodies are configured to monitor contacts. See RigidBody.contact_monitor.
Impulso creado por el contacto. Sólo implementado para la física de la Bala.
Devuelve la normalidad local en el punto de contacto.
Devuelve la posición local del punto de contacto.
Devuelve el índice de forma local de la colisión.
PhysicsDirectSpaceState get_space_state ( )
Devuelve el estado actual del espacio, útil para las consultas.
Returns the body's velocity at the given relative position, including both translation and rotation.
void integrate_forces ( )
Llama al código de integración de fuerzas incorporado.