¡Arranca! — Tu primer juego de coches 3D en Unity
Del garaje
al ¡brum!
¿Te gustaría crear un juego de coches? Vamos paso a paso: prepara el coche, dale ruedas que obedezcan, elige un escenario y pisa el acelerador. No necesitas un equipo de Fórmula 1 para empezar.
Guía para principiantes · prototipo arcade · sin comprar assets para empezar
Primero lo primero:
un coche que ruede.
Empieza con un circuito sencillo y un coche feíto si hace falta. El cubo con ruedas también merece su oportunidad. Lo importante es probar la conducción antes de decorar.
Prepara el garaje
Crea un proyecto 3D. Añade un suelo, importa el modelo del coche y coloca un Rigidbody en el objeto raíz. Usa un collider sencillo en la carrocería.
Cuatro ruedas, cuatro colliders
Crea un WheelCollider por rueda. Ajusta posición, radio y suspensión para que el círculo del collider coincida con el neumático visible.
Conduce, choca, repite
Asigna las ruedas al script de abajo, pulsa Play y calibra. La física mejora mucho con el centro de masa bajo y una pista con buen collider.
WheelCollider calcula la suspensión, el agarre y el contacto con el suelo. Mantén ambas piezas alineadas.Cuatro mundos.
Un mismo volante.
Un buen escenario no solo se ve bonito: propone una manera distinta de jugar. Prueba la misma curva en asfalto, barro o arena y verás cómo cambia la carrera.
Montaña y bosque
Subidas, horquillas y un mirador para la foto de victoria.
Carretera costera
Rectas junto al mar y curvas para poner a prueba los frenos.
Rally entre árboles
Una ruta de tierra, saltos pequeños y cero miedo a ensuciarse.
Desierto de dunas
Menos agarre, más derrape y polvo para el efecto dramático.
El copiloto se llama
CarController.
Este controlador de ejemplo usa Wheel Colliders, dirección delantera, tracción trasera y freno de mano. Cópialo en un archivo C# con el mismo nombre y conecta las referencias en el Inspector.
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class CarController : MonoBehaviour
{
[Header("Ruedas: colliders")]
[SerializeField] private WheelCollider ruedaDelanteraIzq;
[SerializeField] private WheelCollider ruedaDelanteraDer;
[SerializeField] private WheelCollider ruedaTraseraIzq;
[SerializeField] private WheelCollider ruedaTraseraDer;
[Header("Ruedas: mallas visibles")]
[SerializeField] private Transform mallaDelanteraIzq;
[SerializeField] private Transform mallaDelanteraDer;
[SerializeField] private Transform mallaTraseraIzq;
[SerializeField] private Transform mallaTraseraDer;
[Header("Ajustes de conducción")]
[SerializeField] private float fuerzaMotor = 1500f;
[SerializeField] private float fuerzaFreno = 3000f;
[SerializeField] private float anguloDireccion = 30f;
[SerializeField] private Transform centroDeMasa;
private Rigidbody cuerpo;
private float acelerador;
private float direccion;
private bool frenoDeMano;
private void Awake()
{
cuerpo = GetComponent<Rigidbody>();
if (centroDeMasa != null)
cuerpo.centerOfMass = transform.InverseTransformPoint(centroDeMasa.position);
}
private void Update()
{
acelerador = Input.GetAxis("Vertical");
direccion = Input.GetAxis("Horizontal");
frenoDeMano = Input.GetKey(KeyCode.Space);
}
private void FixedUpdate()
{
ruedaDelanteraIzq.steerAngle = direccion * anguloDireccion;
ruedaDelanteraDer.steerAngle = direccion * anguloDireccion;
ruedaTraseraIzq.motorTorque = acelerador * fuerzaMotor;
ruedaTraseraDer.motorTorque = acelerador * fuerzaMotor;
float freno = frenoDeMano ? fuerzaFreno : 0f;
ruedaDelanteraIzq.brakeTorque = freno;
ruedaDelanteraDer.brakeTorque = freno;
ruedaTraseraIzq.brakeTorque = freno;
ruedaTraseraDer.brakeTorque = freno;
ActualizarMalla(ruedaDelanteraIzq, mallaDelanteraIzq);
ActualizarMalla(ruedaDelanteraDer, mallaDelanteraDer);
ActualizarMalla(ruedaTraseraIzq, mallaTraseraIzq);
ActualizarMalla(ruedaTraseraDer, mallaTraseraDer);
}
private static void ActualizarMalla(WheelCollider collider, Transform malla)
{
collider.GetWorldPose(out Vector3 posicion, out Quaternion rotacion);
malla.SetPositionAndRotation(posicion, rotacion);
}
}
Si una rueda se queda quieta, revisa que el collider esté asignado y que su radio coincida con la rueda visible. Baja el centro de masa si el coche vuelca demasiado.
¿Quieres otra implementación para comparar? Este proyecto de GitHub ↗ incluye conducción, derrapes, boost y efectos; su repositorio indica licencia MIT. Comprueba sus instrucciones y compatibilidad antes de reutilizarlo.
Assets gratis para
llenar el garaje.
En la Asset Store busca por tipo de contenido y activa el filtro de precio gratuito. Los resultados pueden cambiar; estos accesos abren búsquedas de la tienda oficial.
Vehículos low-poly
Modelos ligeros para prototipos, karts y juegos con estilo simpático.
Buscar coches gratis en Unity ↗Pistas y circuitos
Elementos de carretera, barreras, señales y piezas para montar tu primer trazado.
Buscar pistas gratis en Unity ↗Escenarios y naturaleza
Árboles, rocas y paisajes low-poly para convertir una pista vacía en una aventura.
Buscar entornos gratis en Unity ↗Carreteras y ciudad
Busca tramos urbanos, asfalto y accesorios para carreras entre edificios.
Buscar carreteras gratis en Unity ↗Terreno y montañas
Materiales y piezas de terreno para crear rutas de montaña o de rally.
Buscar terrenos gratis en Unity ↗Polvo, humo y derrapes
Efectos visuales para saltos, ruedas que patinan y una salida espectacular.
Buscar efectos gratis en Unity ↗Antes de importar: comprueba que el precio siga siendo 0, la licencia, la versión de Unity y si el paquete usa Built-in, URP o HDRP. Un asset gratis puede cambiar de precio o de compatibilidad.
¿Qué ha cambiado
en Unity?
La física básica de coches sigue basándose en Rigidbody y Wheel Colliders. Las novedades del Editor afectan al flujo de trabajo y al render, no sustituyen el montaje del vehículo.
Unity 6 · notas actuales: 6000.6.7f1
En la consulta del 25 de octubre de 2026, la página oficial de novedades dirige a las notas de Unity 6000.6.7f1. Unity 6 publica versiones LTS y actualizaciones con mejoras y soporte de plataformas; revisa allí los cambios y la compatibilidad antes de actualizar el proyecto.
Notas oficiales de Unity Editor ↗Wheel Collider: la guía práctica
Unity documenta el flujo para construir un coche de cuatro ruedas, configurar colliders, ajustar la suspensión y sincronizar las mallas. Es la referencia ideal si quieres ir más allá del script de ejemplo.
Tutorial oficial: crear un coche con Wheel Colliders ↗Tu pista te está esperando.
Empieza con el coche más sencillo, consigue que doble y frene, y luego dale un mundo que merezca la pena explorar. La primera vuelta puede ser lenta; la diversión, no.

Deja un comentario