RigidBody
RigidBody
El componente RigidBody
habilita la simulación física para una entidad, permitiendo que interactúe con otros objetos que también tengan física en el mundo del juego.
Define cómo se comporta la entidad bajo fuerzas como gravedad, colisiones y velocidades aplicadas.
El componente admite tres tipos de cuerpos:
-
Dynamic: Cuerpos completamente simulados físicamente que responden a fuerzas, colisiones, gravedad y pueden ser movidos por otros cuerpos rígidos.
Ideal para objetos que requieren un comportamiento físico realista como personajes, proyectiles o ítems. -
Kinematic: Cuerpos que pueden moverse con velocidades aplicadas pero no se ven afectados por la gravedad ni por colisiones de otros cuerpos.
Perfecto para plataformas móviles, enemigos con rutas predefinidas o objetos que necesitan movimiento controlado sin simulación física completa.
Más eficiente en rendimiento que los cuerpos Dynamic. -
Static: Cuerpos inmóviles que actúan como obstáculos sólidos. No responden a fuerzas ni colisiones.
La opción más eficiente en rendimiento, ya que requieren cálculos físicos mínimos.
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
type |
RigidBodyType |
Tipo de cuerpo: Dynamic , Kinematic o Static . |
velocity |
Vector2 |
Velocidad en los ejes X e Y expresada en píxeles por segundo. Para cuerpos Dynamic y Kinematic . |
gravity |
number |
Gravedad expresada en píxeles por segundo cuadrado. Solo para cuerpos Dynamic . |
acceleration |
Vector2 |
Aceleración en los ejes X e Y expresada en píxeles por segundo cuadrado. Para cuerpos Dynamic y Kinematic . |
Ejemplo: cuerpo Dynamic
const rigidBody = new RigidBody({
type: RigidBodyType.Dynamic,
gravity: 10,
velocity: new Vector2(1, 0),
acceleration: new Vector2(1, 0),
});
Ejemplo: cuerpo Kinematic
const rigidBody = new RigidBody({
type: RigidBodyType.Kinematic,
velocity: new Vector2(1, 0),
acceleration: new Vector2(1, 0),
});
Ejemplo: cuerpo Static
const rigidBody = new RigidBody({
type: RigidBodyType.Static,
});
Notas
- Los cuerpos
Dynamic
son ideales para objetos que necesitan responder a fuerzas físicas reales. - Los cuerpos
Kinematic
permiten movimiento controlado sin influencia de fuerzas externas. - Los cuerpos
Static
ofrecen la mejor eficiencia para geometría fija o elementos del entorno. - Para que el componente
physics
de los colisionadores tenga efecto, la entidad debe tener también unRigidBody
con tipoDynamic
oKinematic
. Los cuerposStatic
no se desplazan pero sí pueden recibir colisiones.