Resumen

Lograr que los objetos de tu escena caigan, choquen y vuelen como en el mundo real es uno de los momentos más satisfactorios al trabajar con Unity. Todo se reduce a dos componentes fundamentales que transforman cualquier GameObject estático en un cuerpo que obedece las leyes de la física: el Rigidbody y el Collider.

¿Cómo funcionan el Rigidbody y el Collider juntos?

El Rigidbody es el componente que le otorga comportamiento físico a un objeto. Se comunica directamente con el transform del GameObject, lo que significa que toda la simulación física se traduce en cambios de posición y rotación [01:06]. Sin embargo, el Rigidbody por sí solo no basta.

El Collider define los límites del cuerpo del objeto, es decir, su forma física. Gracias al collider, el motor sabe dónde empieza y termina un objeto para que pueda chocar e interactuar con otros [01:15]. Ambos componentes trabajan en conjunto: el Rigidbody aplica las fuerzas y el Collider determina la superficie de contacto.

¿Por qué los colliders deben ser convexos y no cóncavos?

Un detalle crucial es que los colliders deben ser convexos, no cóncavos [01:30]. Un objeto cóncavo tiene cavidades, como las muelas dentales. Piensa en un martillo: su forma irregular genera bordes cóncavos entre el mango y la cabeza.

La solución está en la jerarquía de objetos [02:03]. Puedes separar el martillo en partes: asignar un collider convexo al mango y otro a la cabeza. Luego, haces que ambos sean hijos de un objeto padre con un Rigidbody. Así, todos los colliders convexos actúan como uno solo, formando una figura compuesta que puede ser cóncava sin romper las reglas del motor de física [02:28].

¿Cuál es la diferencia entre un Rigidbody dinámico y uno cinemático?

Un Rigidbody dinámico obedece normalmente las leyes de la física: cae por gravedad, rebota y responde a golpes [02:44]. Un Rigidbody cinemático, en cambio, funciona como si una mano invisible lo sostuviera. No se cae, se queda estático, pero si choca con otros Rigidbodys los empuja y los hace volar [02:57].

En la demostración, un cubo sin Rigidbody no logra interactuar de forma consistente con esferas flotantes. La interacción resulta caótica e impredecible [05:15]. Al convertirlo en un Rigidbody cinemático, el cubo ya puede desplazar las esferas, aunque no detecta la fuerza del movimiento porque se modifica el transform directamente en lugar de usar el sistema de física [05:43].

Para resolver esto se requiere un script que mueva el Rigidbody respetando las leyes físicas y detectando la fuerza de los golpes [06:06].

¿Por qué un cubo sólido no contiene objetos en su interior?

Cuando colocas esferas con Rigidbody dentro de un cubo grande, las esferas salen volando [08:05]. Unity optimiza el renderizado y la simulación: un cubo sólido solo calcula colisiones desde el exterior. Las caras internas no se renderizan ni se simulan porque el motor interpreta el cubo como un bloque macizo de concreto.

La alternativa es construir una estructura compuesta con varios box colliders individuales, como paredes separadas [08:22]. Este contenedor sí tiene un interior real, y las esferas quedan contenidas dentro de él.

  • Un cubo simple: las colisiones solo ocurren por fuera.
  • Una caja compuesta de varios colliders: las colisiones funcionan también por dentro.

Otro dato importante: no puedes tener dos Rigidbodys en un mismo GameObject [08:50]. Unity lanza un error si lo intentas.

¿Qué diferencia hay entre la física 2D y la física 3D en Unity?

Para objetos en dos dimensiones, Unity utiliza componentes específicos: Box Collider 2D y Rigidbody 2D [10:18]. No son intercambiables con sus versiones 3D; si un objeto tiene un collider 2D, su Rigidbody también debe ser 2D [10:55].

La diferencia más relevante es que la física 2D ignora la profundidad. Dos objetos que visualmente están separados en el eje Z colisionan igualmente porque la simulación ocurre en un solo plano [11:24]. Esto puede generar situaciones confusas si la cámara no está perfectamente paralela al plano de juego.

  • En 3D: lo que se ve es lo que pasa.
  • En 2D: hay que imaginar que todo sucede en un único plano, sin importar la posición en Z [12:03].

Esta particularidad hace que desarrollar juegos 2D requiera mayor cuidado en la colocación de objetos y la configuración de la cámara.

Ahora es tu turno de experimentar. Crea un efecto dominó utilizando Rigidbodys, colliders y la jerarquía de objetos. Comparte tus resultados en los comentarios y muestra qué tan creativa puede ser tu simulación física.