Imagen generada con IA

Océano en Blender: olas y espuma con Ocean (paso a paso)

Diego Cortés

Diego Cortés

Autor

20 octubre, 2026

El agua realista en Blender es la prueba de fuego de una escena: ningún material delata antes un render. Y casi nunca el problema está en el shader, sino en la silueta de la ola, la escala del plano y la espuma que no existe.

Por qué el agua falsa se nota a un kilómetro

Los delatores aparecen en el mismo orden: olas de seno todas iguales, superficie sin detalle a media distancia porque la malla es pobre, crestas limpias sin espuma, y un IOR de 1.0 que convierte el agua en plástico. Antes de tocar el material, mido la escala: un mar con Spatial Size de 2 metros y olas de 40 centímetros se lee como una bañera. La ola mayor debe medir entre un décimo y un veinteavo del ancho del agua en cuadro.

Tres maneras de hacer agua en Blender (y cuándo elegir cada una)

Hay tres técnicas y elegir mal cuesta horas. La pregunta que decide: el agua interactúa con algo o solo existe hasta el horizonte.

Shader plano: agua que no se mueve pero convence

Un plano subdividido con normales animadas y un material transmisivo resuelve el mar lejano, el horizonte o el agua en un vaso sin interacción. Es barato y, si la cámara está lejos, nadie nota que la geometría es plana. Revisa el muestreo en la guía de Cycles.

Modificador Ocean: el mar procedural

El modificador genera la superficie a partir de un espectro de olas y es un puerto del Houdini Ocean Toolkit dentro de Blender. Es el protagonista de este artículo: mar abierto, plano general y agua que no responde a objetos, definida con seis o siete números en vez de una simulación de horas.

Simulación de fluidos: cuando el agua toca algo

Mantaflow entra cuando el agua tiene que responder: una salpicadura contra una roca, un vertido, una ola rompiendo contra un casco. Si el agua interactúa, simulas; si tiene que existir hasta el horizonte, usas Ocean. El paso a paso está en simulación de fluidos con Mantaflow.

El modificador Ocean paso a paso

Parto de un plano, agrego el modificador y activo Generate.

Generate o Displace: dos formas de tener malla

Con Generate el modificador crea una rejilla en mosaico que corresponde a la resolución de los datos y reemplaza la malla del objeto, incluidos los modificadores anteriores; agrega un UV que mapea de 0 a 1, y con Repeat X e Y la malla se baldosa. Con Displace se desplazan los vértices de la geometría existente en el eje Z local: la opción cuando el océano debe adaptarse a una cala o una piscina con bordes.

Resolution, Spatial Size y Depth: lo que decide el detalle

Resolution Viewport y Render son el control de calidad contra velocidad, y las rejillas internas son potencias de dos: un 9 da 512 x 512, un 10 da 1024 x 1024 y un 16 genera 256 x 256. Ojo, más alto no siempre es más resolución, así que leo la fórmula antes de subir. Spatial Size es el ancho del área simulada en metros y no cambia la altura de la ola pero sí su tamaño aparente: es el parámetro que más veces arregla una escena. Depth bajo da agua somera.

Time: cómo se anima un océano

El error de novato más caro: el mar no se anima moviendo la malla, se anima Time. La velocidad con que cambia Time define la velocidad de las olas; si animas los vértices a mano, las olas respiran mal y no loopan. Para un loop, animo Time en lineal y hago que el clip sea múltiplo del periodo a repetir.

Waves: choppiness, viento y dirección

Choppiness es el parámetro que separa un mar de dibujos animados de un mar: en 0 la superficie solo se desplaza en Z y hay hinchazón sin picos; al subir, las olas empujan en X e Y y las crestas se afilan. Wind Velocity va en metros por segundo y los valores bajos dan solo olas pequeñas. Alignment en 0 reparte el viento al azar; alto lo concentra. Direction se mide en grados desde el eje X local, así que si rotas el plano hay que reajustarla. Damping en 0 deja que las olas se reflejen; en 1 solo viajan con el viento.

Spectrum: cuatro mares distintos

Turbulent Ocean, basado en Phillips, da mar turbulento con espuma. Established Ocean, Pierson-Moskowitz, describe un océano en equilibrio con viento de días. Sharp Peaks combina JONSWAP con Pierson-Moskowitz y sus picos crecen con el tiempo. Shallow Water, JONSWAP con TMA, es para profundidades menores a unos diez metros. Los dos últimos usan Fetch; mal ajustado, el mar abierto sale con olas demasiado cortas.

Espuma: el dato que hace creíble la ola

Data Layer y Coverage

La espuma no es un material: es un dato que el modificador escribe en la malla y que el shader lee. Activo Foam y le pongo nombre al Data Layer, el color attribute donde queda el mapa; nombrarlo es obligatorio para que el renderer acceda. Se lee con un nodo Color Attribute y se usa como máscara. Coverage, de -1.0 a 1.0, decide cuánto cubre: en negativo queda solo en los picos, en positivo se desborda hacia los valles.

Foam Fade y Spray

Al hornear, la espuma se acumula de frames anteriores y permanece mientras se disipa: eso es Foam Fade, la diferencia entre espuma real y espuma de calcomanía. Spray, con su Spray Map e Invert, genera un mapa de dirección como color attribute: no crea las gotas, crea el dato para que las partículas sepan desde dónde salen y hacia dónde van.

El shader del agua: transmisión, IOR y profundidad

Principled: los tres valores que importan

Transmission Weight en 1 para que el material sea transmisivo. Roughness bajo, entre 0.01 y 0.05 en agua en calma y más alto en mar picado. IOR cerca de 1.33; con 1.0 se comporta como aire y delata todo.

Volume Absorption y normales

El color del agua no viene del base color sino de la absorción: Volume Absorption está descrito en el manual para agua y vidrio coloreado, con Color y Density. A densidad baja tiñe de verdoso los volúmenes gruesos y deja pasar la luz en los finos, y así una ola se lee como masa y no como lámina. Para el microdetalle activo Generate Normals y uso ese mapa como bump: un noise genérico flota porque no está pegado al movimiento de la ola, las normales del océano sí acompañan cada cresta.

Hornear el océano: Bake, EXR y cuándo conviene

Bake guarda la simulación en archivos y bypassa el simulador: al leer un frame los datos se cachean, el render es más rápido y se pueden usar en motores externos. Son secuencias OpenEXR por canal, disp_####.exr, normal_####.exr y foam_####.exr, en Cache Path, con Frame Start y End definiendo el rango. Horneo en planos largos, cuando el equipo no puede re-simular o cuando el viewport es injugable. Para ajustar la espuma en post conviene separar el mar en colecciones y renderizar por passes, como explico en compositing y render passes.

Luz y cámara: lo que hace que el agua realista en Blender parezca mojada

El agua es un espejo casi perfecto de su entorno: sin un cielo creíble no hay agua creíble, y un HDRI con el sol en su sitio hace más que cualquier parámetro del modificador. El punto de partida es iluminación exterior con HDRI. Trabajo con la vista AgX, que maneja unos 16,5 stops de rango dinámico y desatura las zonas claras, y así las crestas no se queman en blanco puro; Filmic está deprecado. Los caustics valen la pena solo si la cámara mira a través del agua (caustics en Blender), y el motion blur convierte el océano en una mancha, así que lo dosifico con la profundidad de campo. El pipeline de color está en gestión de color en Blender.

Conclusión

El agua realista en Blender se construye por capas y por decisiones: técnica según la distancia de cámara, escala, espectro de olas, espuma como dato, shader con transmisión y absorción, y por último luz y color. Si algo falla, los sospechosos de siempre son el IOR en 1.0, el choppiness en 0, el Spatial Size en metros cuando se pensó en unidades de escena, la Foam sin nombre en Data Layer y animar la malla en vez de Time. Ningún paso aislado salva la escena, pero cada uno la arruina si falta. Mi ejercicio: un plano de diez segundos de mar con espuma horneada y un primer plano de una ola rompiendo.

Dónde practicar con vídeo

La plataforma tiene tutoriales curados sobre el tema: How To Create Realistic Water in Blender de ChuckCG, Photorealistic Water In Blender de Extra 3d y Blender Tutorial - Creating a Stormy Ocean de Blender Made Easy. Hay más en la búsqueda y en la categoría de Blender.