Para que tu personaje cobre vida en Unity 2D necesitas algo más que gráficos y animaciones: debes definir un mundo físico con reglas claras. Aquí verás cómo configurar la gravedad, activar la física con Rigidbody 2D, evitar que atraviese el suelo con colliders y, además, crear prefabs reutilizables que aceleran la creación de niveles.
¿Cómo se crean prefabs reutilizables en Unity?
Los objetos clave como el personaje, la moneda y el enemigo deben ser reutilizables en toda la escena. Un prefab es como una pieza de Lego que puedes colocar y reconfigurar sin perder consistencia. Así, cualquier cambio en el prefab padre se replica en todas sus instancias.
- Arrastra el objeto desde la jerarquía a la carpeta de prefabs.
- Verás el nombre en azul en la jerarquía: indica que es un prefab.
- Elimina instancias sin miedo: el prefab original sigue en el proyecto.
- Duplica monedas y enemigos arrastrando desde la carpeta: creación de niveles rápida.
¿Qué objetos conviene convertir en prefab?
- Personaje con sus animaciones y etiquetas.
- Moneda con su futura lógica de recolección.
- Enemigo con su comportamiento y animaciones.
- Elementos de escenario como plataformas y suelo si los reutilizas.
¿Qué parámetros de Physics 2D debes configurar?
Desde el menú Edit > Project Settings > Physics 2D defines las reglas globales del mundo. La prioridad es la gravedad, que en 2D actúa en el eje Y.
- Gravedad horizontal nula: el eje X no atrae.
- Eje Y vertical negativo: hacia abajo.
- Valor por defecto: −9,81 m/s², la aceleración terrestre.
- Ajustable con el juego en mente: puedes modificarlo más tarde.
Recuerda: activar física implica consumo de recursos. Cada objeto gobernado por fuerzas necesita memoria RAM y cómputo, sobre todo si responde a colisiones y cambios de trayectoria.
¿Cómo activar Rigidbody 2D y lograr colisiones reales?
Para que el personaje responda a la gravedad, debes añadir un componente Rigidbody 2D. No confundas Rigidbody (3D) con Rigidbody 2D (2D): usar el incorrecto causa comportamientos erráticos.
- Añade componente: Rigidbody 2D.
- Tipo de cuerpo: dinámico, cinemático o estático.
- Dinámico: afectado por fuerzas como la gravedad.
- Cinemático: se mueve con una velocidad, sin fuerzas.
- Estático: no se mueve, consumo mínimo.
Parámetros destacables para afinar el comportamiento:
- Masa: inercia del objeto.
- Resistencia lineal y angular: frenos al movimiento y la rotación.
- Escala de gravedad: multiplica la gravedad global (2, 3 o 4 veces, por ejemplo).
Configura el personaje como dinámico para que caiga con la gravedad. Si al dar a play cae sin parar, no es un error: aún no tiene límites físicos.
¿Por qué el personaje atraviesa el suelo?
Porque falta definir las fronteras de colisión. Necesitas colliders en ambos extremos: en el personaje y en la plataforma.
- Personaje: añade un Capsule Collider 2D que envuelva su silueta.
- Plataforma o suelo: añade un Box Collider 2D que cubra su forma.
- Con Rigidbody 2D + colliders en ambos, al dar a play el personaje cae y se detiene sobre la plataforma.
Consejo práctico del flujo de trabajo:
- Coloca sprites de plataformas y suelo arrastrando imágenes al escenario.
- El personaje “vive” en un entorno cuando existen superficies con colliders.
- Reutiliza prefabs para poblar la escena con monedas y enemigos en segundos.
¿Te gustaría ajustar la gravedad o probar distintos colliders para el personaje? Cuéntame en los comentarios qué setup te funciona mejor y por qué.