Skip to content

Nubes volumétricas y efectos meteorológicos en los juegos modernos

Por Oleg Sidorkin, CTO y cofundador de Cinevva

Escena AAA estilizada con imponentes nubes volumétricas de tormenta, relámpagos, cortinas de lluvia y un camino de piedra mojado que refleja el cielo

Hace unas semanas escribí sobre las técnicas de renderizado que realmente incluyen los juegos AAA modernos. Un aspecto que traté por encima fue el cielo y el clima, porque merece su propia lista. Las nubes, la niebla, la lluvia y la nieve son los sistemas que convierten una demo de terreno en un lugar. También comparten más código de lo que parece. Las nubes volumétricas, la niebla a ras de suelo y los rayos crepusculares recurren al mismo trazado de rayos por pasos. Las carreteras mojadas, la acumulación de nieve y los rastros de pisadas utilizan el mismo truco de desplazamiento más PBR. El viento es un único vector de dirección que leen todos los elementos de la escena.

Este es un recorrido breve y subjetivo por la forma en que los grandes estudios construyen estos sistemas en 2026, junto con los artículos y las ponencias sobre motores que respaldan cada parte.

1. Cielo y atmósfera basados en principios físicos

La dispersión atmosférica es la base. El color del cielo, la bruma del horizonte, la forma en que las montañas lejanas adquieren un tono azul y el naranja del atardecer proceden de la dispersión de la luz al atravesar el aire. Los motores modernos calculan este fenómeno a partir de la física: dispersión de Rayleigh para el azul, dispersión de Mie para la bruma alrededor del sol y absorción del ozono para el violeta intenso del cenit.

El método original de Bruneton de 2008 precalculaba todos los datos en tablas de consulta 4D, lo que limitaba los cambios dinámicos de la hora del día y añadía artefactos de LUT cuando el sol estaba bajo. La actualización de Sébastien Hillaire de 2020, que es la que incluye el componente Sky Atmosphere de UE5, sustituye la LUT de alta dimensionalidad por unas pocas texturas 2D y una aproximación de dispersión múltiple que se actualiza en cada fotograma. Funciona tanto en un teléfono como en un PC de gama alta.

Cielo basado en principios físicos durante la hora dorada, con un suave gradiente de naranja a azul sobre la silueta de unas montañas lejanas

Para profundizar:

2. Nubes volumétricas con ruido Perlin-Worley

La técnica fundamental para crear nubes en los juegos modernos surgió de la charla de Andrew Schneider sobre Horizon Zero Dawn en 2015. Las nubes no son mallas. Son una función de densidad 3D definida mediante capas de ruido: una mezcla Perlin-Worley de baja frecuencia proporciona la forma general de la nube, mientras que un ruido Worley de mayor frecuencia erosiona la silueta para producir bordes vaporosos. Un mapa meteorológico —una textura 2D muestreada según las coordenadas XZ del mundo— controla la cobertura, el tipo de nube y la precipitación de cada región. Un gradiente basado en la altura mezcla perfiles de cúmulos, estratos y cirros según la altitud.

El renderizador hace avanzar un rayo desde la cámara a través del volumen de nubes, acumulando densidad y dispersión. La iteración «Nubis» de 2017 añadió herramientas de creación y animación a escala regional, y la implementación original para PS4 renderizaba todo el cielo en unos 2 ms. La mayoría de los estudios que publican hoy juegos con nubes volumétricas siguen remontándose a este artículo.

Una forma de nube 3D descompuesta en patrones superpuestos de ruido Perlin y Worley que muestran cómo el detalle erosiona la silueta

Para profundizar:

3. Nubes de vóxeles y Nubis³

La evolución de Nubis de 2023 abandonó por completo la representación de formas en 2.5D en favor de vóxeles 3D reales. Cada vóxel almacena directamente la densidad de la nube, lo que permite a los artistas esculpir y animar sus formas como si modelaran terreno. El coste de pasar a una representación más densa se compensa acelerando el trazado de rayos por pasos mediante campos de distancia con signo comprimidos y técnicas ingeniosas para aumentar la resolución de datos de vóxeles dispersos.

El resultado es el tipo de paisaje nuboso que puedes atravesar volando sin que los trucos subyacentes queden al descubierto. Es excesivo para la mayoría de los estudios, pero esa es la dirección en la que avanza la gama alta.

Un cúmulo descompuesto en una cuadrícula de vóxeles 3D, con bordes vaporosos y suavizados que se funden con el interior de aspecto cúbico

Para profundizar:

4. Renderizado de nubes por capas y fondos 2D

No todos los estudios pueden permitirse nubes totalmente volumétricas, y no todos los ángulos de cámara las necesitan. Muchos juegos combinan técnicas: cirros a gran altitud renderizados como una capa 2D en desplazamiento, cúmulos a media altitud como volúmenes trazados por rayos y estratos a baja altitud como una fina lámina de medio participativo. Para el horizonte suele utilizarse un cubemap de cielo precalculado, con el que se fusiona la pasada volumétrica más allá de una distancia de desvanecimiento.

Este sistema de capas es lo que mantiene bajo control el presupuesto de las nubes. Un solo tipo de nube a máxima calidad puede consumir entre 4 y 6 ms; usar distintas calidades para diferentes altitudes permite mantener el mismo aspecto por la mitad del coste.

Cielo al atardecer dividido en tres capas de nubes: finas hebras de cirros en lo alto, cúmulos a media altura y bruma de estratos cerca del horizonte

Para profundizar:

5. Niebla volumétrica con cuadrículas de fróxeles

La niebla es un campo 3D, no un efecto de pantalla 2D. El enfoque moderno estándar es la cuadrícula de fróxeles: una textura 3D alineada con el frustum de visión de la cámara, en la que cada celda («fróxel» = frustum + vóxel) almacena la densidad y el color iluminado. Un shader de cómputo inyecta en la cuadrícula la dispersión de cada fuente de luz, acumula la extinción a lo largo del rayo de visión y aplica el resultado como una pasada a pantalla completa.

Esto es lo que genera haces de luz a través de las ventanas, niebla coloreada alrededor de luces puntuales y volúmenes visibles en torno a las explosiones. También es el mecanismo subyacente de la «perspectiva atmosférica», que hace que los objetos lejanos se desvanezcan en el aire. Bart Wronski introdujo la técnica para Assassin's Creed 4 y Sébastien Hillaire la estandarizó en Frostbite.

Frustum de cámara visualizado como una cuadrícula 3D de fróxeles, con celdas más pequeñas cerca de la cámara y más grandes a lo lejos, y partículas de niebla en su interior

Para profundizar:

6. Rayos divinos y haces crepusculares

Los rayos de sol visibles en el aire brumoso no son un efecto independiente. Surgen del mismo sistema de niebla, siempre que tanto la densidad de la niebla como el mapa de sombras estén disponibles para el mismo shader de cómputo. Cuando el shader inyecta luz en un fróxel, muestrea el mapa de sombras en la posición de ese fróxel dentro del mundo. Las celdas en sombra permanecen oscuras y las iluminadas adoptan el color del sol. Al recorrer el resultado con el rayo de la cámara, las celdas brillantes forman haces continuos.

También existen variantes más baratas en espacio de pantalla —un desenfoque radial desde la posición del sol hacia el búfer de profundidad— y siguen siendo la opción adecuada para móviles o hardware de gama baja. No captan el sol cuando está fuera de pantalla, pero su coste es casi nulo.

Bosque al amanecer con rayos de sol que atraviesan los troncos y la niebla a ras de suelo, formando nítidos haces de luz

Para profundizar:

7. Relámpagos y fenómenos meteorológicos estocásticos

Un relámpago es un efecto de un solo fotograma con dos partes: la malla del rayo y la respuesta de la iluminación y el mapeo de tonos de toda la escena. El rayo propiamente dicho suele ser una malla de billboards procedural creada mediante un algoritmo recursivo de subdivisión de segmentos, con variaciones aleatorias para darle un aspecto caótico y un estrechamiento progresivo hacia el suelo. Algunos motores lo renderizan como un destello aditivo en espacio de pantalla; otros, como geometría emisiva totalmente iluminada que proyecta luz sobre el mundo mediante la inyección de una luz puntual durante un fotograma.

Lo interesante es todo lo demás: la parte inferior de las nubes se ilumina desde abajo, el suelo resplandece durante dos fotogramas, la medición de la exposición automática tarda unos cuantos fotogramas en recuperarse y se reproduce un trueno con un retardo basado en la distancia. Bien ejecutado, esto convierte un destello de 16 ms en una secuencia de cinco segundos que transmite la sensación de que el clima ocurre dentro del mundo y no simplemente por encima de él.

Relámpago ramificado que cae desde una nube de tormenta al anochecer e ilumina la base de las nubes y la silueta de un pequeño pueblo

Para profundizar:

8. Partículas de lluvia, mallas de lluvia y gotas en espacio de pantalla

En los juegos modernos, la lluvia rara vez se compone únicamente de partículas. La solución barata y convincente consiste en un pequeño conjunto de texturas en desplazamiento extendidas sobre quads verticales o alineados con la pantalla, iluminados por las mismas sondas de sol y cielo que el resto de la escena. Cerca de la cámara, partículas individuales con forma de estela añaden detalle. En la propia lente de la cámara, las texturas de gotas, los regueros deslizantes y las ondas de impacto refuerzan la sensación de «estar dentro de la tormenta».

El viento afecta a la dirección de la lluvia. El mismo vector de viento desplaza el mapa meteorológico de las nubes, dobla la hierba e inclina los quads de lluvia. Un solo vector para toda la escena y decenas de sistemas que lo utilizan. Fuerte tormenta nocturna con cortinas de lluvia iluminadas por faros lejanos y ondas sobre una carretera mojada

Para profundizar:

9. Superficies mojadas, charcos y ondas

La lluvia que no cambia el suelo parece falsa de inmediato. Las superficies mojadas responden oscureciendo su albedo (el agua absorbe la luz incidente), suavizando sus normales (la película de agua alisa la microsuperficie) y reduciendo su rugosidad (el agua es un espejo casi perfecto en ángulos rasantes). El cambio en el shader es pequeño; el cambio visual es enorme.

Los charcos se controlan mediante máscaras: una máscara basada en la altura o pintada sobre los vértices define las zonas bajas que se llenan de agua a medida que aumenta un parámetro de «humedad». Las ondas son texturas de mapas de normales en flipbook que se activan con los impactos de las gotas de lluvia. Las implementaciones realmente buenas acumulan el estado de humedad con el tiempo, de modo que una tormenta larga empapa lentamente el mundo, mientras que un chaparrón breve solo oscurece las zonas altas.

Calle adoquinada y mojada de noche, con charcos poco profundos que reflejan letreros de neón y anillos de ondas causados por las gotas de lluvia

Para profundizar:

10. Acumulación y deformación de nieve

La nieve plantea el problema simétrico al de la lluvia: el mundo debe recordarla, no solo recibirla. El enfoque habitual utiliza una textura cenital de «acumulación de nieve» que se incrementa con el tiempo allí donde el cielo es visible (calculado mediante un mapa de profundidad o de sombras cenital). El shader del terreno muestrea esta máscara y mezcla el material de nieve en las zonas sombreadas, además de aplicar desplazamiento según la profundidad de la nieve en las áreas expuestas.

Las huellas y las rodadas se renderizan en un mapa de deformación deslizante centrado en el jugador. A medida que la cámara se mueve, las huellas antiguas salen del mapa y la textura se repite. El shader del terreno o de la nieve muestrea este mapa de deformación y desplaza los vértices hacia abajo en las zonas donde se ha escrito. La nieve de Battlefield 5 lo hace con teselación por hardware; los enfoques más económicos utilizan una malla de terreno de alta densidad únicamente con desplazamiento de vértices.

Paisaje nevado estilizado con huellas recientes, ventisqueros acumulados contra las rocas, copos de nieve cayendo y montañas lejanas entre la bruma

Para profundizar:

11. El viento como sistema global

El viento no es un efecto de partículas. En los motores de producción es un único vector global (a veces, un campo 3D de baja resolución) que todos los sistemas dinámicos leen desde su shader de vértices. Las briznas de hierba se doblan, las ramas de los árboles se mecen, la tela ondea, las hojas flotan, la lluvia se inclina, el humo es arrastrado y los mapas meteorológicos de nubes se desplazan. Un valor uniforme actualizado por fotograma, decenas de consumidores.

La versión más completa es una «cuadrícula de viento» que almacena la dirección y la intensidad muestreadas según la posición en el mundo, lo que permite crear tormentas con ráfagas localizadas, valles resguardados y estelas detrás de los edificios. Además, el follaje suele recibir un desplazamiento por vértice horneado durante la creación del recurso para que los árboles idénticos no se mezan al unísono. El resultado es un mundo que respira al mismo ritmo.

Viento fuerte que inclina lateralmente la hierba y los árboles, con hojas arremolinándose en primer plano bajo nubes tormentosas

Para profundizar:

12. Tormentas de arena, ventiscas y meteorología densa

La meteorología extrema constituye una categoría de renderizado propia. Una tormenta de arena es una niebla espesa y opaca, alineada con el suelo, con un marcado sesgo direccional y una niebla de distancia muy intensa. Una ventisca añade una ráfaga de partículas cerca de la cámara y reduce la visibilidad. La ceniza volcánica y el humo utilizan la misma arquitectura con colores distintos.

Lo que hace convincentes estos fenómenos no son las partículas, sino el acoplamiento: el sol se oscurece, el cielo cambia de tono, la gradación de color del posprocesado se modifica, el audio ambiental cambia, los sonidos de las pisadas se alteran y la voz del jugador se amortigua, si la tiene. El renderizador es el mensajero; la inmersión surge cuando todos los sistemas del juego responden al mismo tiempo.

Un muro de polvo y arena naranja avanzando sobre una llanura desértica, con un cielo amoratado encima y azul despejado detrás

Para profundizar:

13. Hora del día y cielos dinámicos

La hora del día en tiempo real es el multiplicador que hace que merezca la pena publicar todos los demás sistemas de esta lista. La dirección y el color del sol se actualizan durante un ciclo de 24 minutos o 24 horas. La LUT de la atmósfera se actualiza con el ángulo del sol. La iluminación de las nubes se recalcula en cada fotograma. Las cascadas de sombras se reorientan. Las sondas de reflexión se actualizan. El color ambiental cambia. La exposición del posprocesado se adapta.

Conseguirlo sin artefactos visibles consiste, sobre todo, en gestionar la caché de texturas y la estabilidad temporal. Las técnicas rápidas precalculan el cielo para ángulos solares fijos e interpolan entre ellos; las más lentas lo recalculan en cada fotograma. El modelo atmosférico de Hillaire de 2020 es lo bastante rápido como para recalcularse, por eso UE5 lo incluye. El mapa meteorológico de nubes se desplaza con el viento, de modo que la cobertura cambia de forma natural sin que nadie tenga que crear fotogramas clave.

Tres franjas verticales sobre un mismo paisaje: amanecer rosado, mediodía azul y atardecer rojo, todas con la misma silueta de colinas

Para profundizar:

14. La máquina de estados meteorológicos

Debajo de todo esto hay una pequeña máquina de estados. La mayoría de los juegos incluyen entre 4 y 12 estados meteorológicos (despejado, parcialmente nublado, cubierto, lluvia ligera, lluvia intensa, tormenta eléctrica, niebla, nieve, ventisca y tormenta de arena), cada uno definido por un conjunto de parámetros: cobertura y tipo de nubes, velocidad y dirección del viento, tipo e intensidad de las precipitaciones, tintes del color ambiental, perfil de audio y gradación del posprocesado.

Las transiciones son interpolaciones lineales entre conjuntos de parámetros durante periodos de 30 a 120 segundos. La transición no es un caso especial: son simplemente dos estados interpolados, mientras cada subsistema de renderizado lee en ese fotograma los valores actuales de los parámetros. La meteorología puede estar guionizada (una cinemática necesita una tormenta), basarse en una semilla (determinista por región y por día del juego, para que dos jugadores del mismo mundo vean el mismo tiempo) o definirse por completo sobre una cuadrícula de regiones. Los pipelines más limpios tratan los tres como planificadores diferentes que escriben en el mismo búfer de parámetros.

La misma escena, lado a lado: a la izquierda bajo un sol despejado y a la derecha bajo lluvia tormentosa, con superficies mojadas y relucientes

Para profundizar:

15. Los momentos cinematográficos

Toda la pila existe para crear unos pocos momentos emblemáticos. Permanecer en una cresta mientras se acerca un frente tormentoso. Ver cómo un rayo de sol atraviesa un claro entre las copas de los árboles. Salir de una cueva y adentrarse en la nieve. Volar a través de una nube cúmulo y ver la luz en su interior.

Estos son los momentos de los que los jugadores hacen capturas de pantalla. También son los momentos en los que todos los sistemas anteriores deben funcionar a la vez: nubes volumétricas, dispersión atmosférica, niebla con integración de sombras, PBR para superficies mojadas, viento sobre el follaje, gradación de color según la hora del día y una transición entre estados meteorológicos, todo ello compuesto en un único fotograma. Si cualquiera de ellos falla, la magia se rompe.

Vista desde arriba de un mar de nubes del que emerge una única cima montañosa, con las partes superiores de las nubes iluminadas por el sol y valles en sombra debajo

Qué significa esto para el navegador

La mayoría de estas técnicas se trasladan directamente a WebGPU. Ya hemos publicado niebla atmosférica básica, mezcla de skyboxes equirectangulares y bruma de distancia en espacio de pantalla en el motor de mundo abierto para navegador. Las piezas más difíciles —nubes volumétricas completas, niebla con cuadrícula de froxels, PBR para superficies mojadas con charcos dinámicos y mapas de deformación de nieve— son el siguiente paso evidente ahora que el pipeline del terreno es estable. El muestreo por fragmento del color de la niebla a partir del skybox de Spike 24 es una pieza de este rompecabezas. Lo siguiente es un raymarcher de nubes basado en shaders de cómputo que alimente la misma LUT atmosférica.

La buena noticia es que el mínimo de hardware de los navegadores ya es lo bastante potente. WebGPU ofrece cómputo, texturas 3D, despacho indirecto y consultas de marcas de tiempo. La atmósfera de Hillaire de 2020 se ha portado varias veces a WebGL. Nubis, de Schneider, cuenta con implementaciones de referencia de código abierto en GLSL que se traducen a WGSL mediante cambios mecánicos. Ya no hay ningún motivo relacionado con el renderizado que impida que un juego de navegador tenga el mismo cielo que uno de consola. Solo quedan motivos de ingeniería, y los motivos de ingeniería son los que nos gustan.

Lecturas adicionales sobre toda la pila

Si quieres una única fuente que reúna todo esto, el archivo de SIGGRAPH «Advances in Real-Time Rendering in Games» (advances.realtimerendering.com) contiene las ponencias canónicas sobre meteorología y atmósfera desde 2014. Para análisis de producción sobre cómo juegos concretos renderizan el cielo y la meteorología, los artículos de perfilado de GPU de Adrian Courrèges incluyen desgloses detallados fotograma a fotograma de GTA V, Horizon Zero Dawn y Doom Eternal. En cuanto a las matemáticas del cielo y la atmósfera, el capítulo sobre renderizado volumétrico de scratchapixel.com es la introducción más accesible, y el repositorio de la implementación de código abierto de Hillaire es la referencia con calidad de producción.