2. Física y Movimiento del Jugador: Programando en C# 💻⚽
El Sistema de Física de Unity: Rigidbody
Para que un objeto 3D caiga, ruede y reaccione a colisiones de forma realista, debe integrarse con el motor físico de Unity. Esto se logra a través del componente Rigidbody.
Si presionas el botón de Play en la parte superior del editor, verás que la esfera ahora cae por efecto de la gravedad y se detiene firmemente sobre el piso (gracias a sus componentes Rigidbody y Sphere Collider).
Creando el Primer Script C#
Para controlar cuándo y hacia dónde se mueve la pelota, escribiremos nuestro primer script en C#:
- En la ventana Project, haz clic derecho, selecciona
Create -> C# Script. Nómbralo exactamente comoPlayerController(sin espacios y respetando mayúsculas/minúsculas). - Haz doble clic en el script para abrirlo en tu editor de código (como Visual Studio o VS Code).
- Reemplaza el código por defecto con el siguiente bloque:
Explicación del Código:
[SerializeField]: Le dice a Unity que muestre la variablespeeden el Inspector del editor. Así podemos cambiar la velocidad de la pelota sin volver a abrir el editor de código.GetComponent<Rigidbody>(): Busca y guarda la referencia de las físicas del objeto en la variablerbal iniciar el juego.Input.GetAxis("Horizontal"): Devuelve un valor entre-1y1dependiendo de si presionas las teclas A/D (Flechas Izquierda/Derecha). "Vertical" hace lo mismo para W/S (Flechas Arriba/Abajo).rb.AddForce(): Aplica un empuje físico en 3D sobre la esfera multiplicando la dirección del teclado por nuestra velocidad.
PlayerController desde tu carpeta de Proyecto sobre tu esfera Player en la jerarquía para activarlo.
Cámara en Seguimiento: Creando el Script de Cámara
Si mueves la pelota fuera de la vista de la cámara, no podrás ver a dónde va. Necesitamos que la cámara principal siga al jugador de forma fluida.
- Crea un nuevo C# Script y nómbralo
CameraFollow. - Escribe el siguiente código dentro del script:
Configuración de la Cámara:
- Arrastra el script
CameraFollowsobre el objeto Main Camera en la jerarquía. - Selecciona la Main Camera y busca el script en el Inspector. Verás un campo vacío llamado Target.
- Arrastra tu objeto Player desde la jerarquía y suéltalo dentro del campo Target.
¡Listo! Si das Play y mueves la esfera con las flechas o WASD, la cámara la seguirá manteniendo un ángulo perfecto en tercera persona.
Ponte a prueba
Comprueba si has comprendido los fundamentos del control de físicas mediante C# en Unity.