CarX Street llega a PC con una propuesta de simulación de carreras callejeras que aprovecha al máximo el motor Unity. El título no solo destaca por su jugabilidad, sino por un apartado técnico que busca el realismo visual en entornos urbanos nocturnos. La clave de su estética reside en el uso de Screen Space Reflections (SSR) para generar reflejos dinámicos sobre las carrocerías, combinado con una iluminación puntual muy trabajada que simula farolas, neones y semáforos.
SSR, SpeedTree y Simplygon en el pipeline de Unity 🏎️
Los reflejos en tiempo real mediante SSR permiten que cada vehículo refleje el entorno urbano cambiante sin necesidad de cubemaps estáticos. Sin embargo, esta técnica es costosa a nivel de rendimiento. Para contrarrestarlo, el equipo ha utilizado Simplygon para reducir el conteo de polígonos en los modelos de coches y edificios lejanos, manteniendo la calidad en primer plano. Además, aunque el juego es urbano, incorpora vegetación mediante SpeedTree, que genera árboles y arbustos con un LOD eficiente. Para desarrolladores indie que busquen resultados similares, se recomienda priorizar la cantidad de luces real-time sobre la calidad de las sombras, y usar SSR solo en superficies metálicas o pintura de coches.
Lecciones para indies que quieran correr de noche 🌃
CarX Street demuestra que Unity puede competir visualmente en el género de carreras si se aplican las herramientas de optimización adecuadas. La lección principal es no abusar de los reflejos: aplicar SSR selectivamente (solo en vehículos y charcos) ahorra recursos. Asimismo, la combinación de Simplygon para assets de alto poligonaje y SpeedTree para detalles orgánicos permite mantener una ciudad viva sin sacrificar frames. Para un indie, empezar con un ciclo día-noche fijo (solo noche) reduce la complejidad de iluminación y permite centrarse en la calidad de los reflejos urbanos.
Considerando que CarX Street en PC utiliza reflejos SSR en tiempo real, ¿cómo logra Unity manejar el coste computacional de estos reflejos junto con la iluminación nocturna dinámica sin comprometer la tasa de frames en entornos urbanos densos?
(PD: optimizar para móvil es como intentar meter un elefante en un Mini Cooper)