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

Vector3

angular_velocity

Vector3

center_of_mass

Vector3

inverse_inertia

float

inverse_mass

Vector3

linear_velocity

Basis

principal_inertia_axes

bool

sleeping

float

step

float

total_angular_damp

Vector3

total_gravity

float

total_linear_damp

Transform

transform

Métodos

void

add_central_force ( Vector3 force )

void

add_force ( Vector3 force, Vector3 position )

void

add_torque ( Vector3 torque )

void

apply_central_impulse ( Vector3 j )

void

apply_impulse ( Vector3 position, Vector3 j )

void

apply_torque_impulse ( Vector3 j )

RID

get_contact_collider ( int contact_idx ) const

int

get_contact_collider_id ( int contact_idx ) const

Object

get_contact_collider_object ( int contact_idx ) const

Vector3

get_contact_collider_position ( int contact_idx ) const

int

get_contact_collider_shape ( int contact_idx ) const

Vector3

get_contact_collider_velocity_at_position ( int contact_idx ) const

int

get_contact_count ( ) const

float

get_contact_impulse ( int contact_idx ) const

Vector3

get_contact_local_normal ( int contact_idx ) const

Vector3

get_contact_local_position ( int contact_idx ) const

int

get_contact_local_shape ( int contact_idx ) const

PhysicsDirectSpaceState

get_space_state ( )

Vector3

get_velocity_at_local_position ( Vector3 local_position ) const

void

integrate_forces ( )

Descripciones de Propiedades

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.


Getter

get_center_of_mass()


Getter

get_inverse_inertia()

El inverso de la inercia del cuerpo.


Getter

get_inverse_mass()

El inverso de la masa del cuerpo.


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()


Setter

set_sleep_state(value)

Getter

is_sleeping()

Si true, este cuerpo está actualmente durmiendo (no está activo).


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.


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.


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.


  • RID get_contact_collider ( int contact_idx ) const

Devuelve el RID del colisionador.


  • int get_contact_collider_id ( int contact_idx ) const

Devuelve la identificación del objeto del colisionador.


  • Object get_contact_collider_object ( int contact_idx ) const

Devuelve el objeto del colisionador.


  • Vector3 get_contact_collider_position ( int contact_idx ) const

Devuelve la posición de contacto en el colisionador.


  • int get_contact_collider_shape ( int contact_idx ) const

Devuelve el índice de forma del colisionador.


  • Vector3 get_contact_collider_velocity_at_position ( int contact_idx ) const

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.


  • float get_contact_impulse ( int contact_idx ) const

Impulso creado por el contacto. Sólo implementado para la física de la Bala.


  • Vector3 get_contact_local_normal ( int contact_idx ) const

Devuelve la normalidad local en el punto de contacto.


  • Vector3 get_contact_local_position ( int contact_idx ) const

Devuelve la posición local del punto de contacto.


  • int get_contact_local_shape ( int contact_idx ) const

Devuelve el índice de forma local de la colisión.


Devuelve el estado actual del espacio, útil para las consultas.


  • Vector3 get_velocity_at_local_position ( Vector3 local_position ) const

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.