¿Cómo crear agua fotorrealista en Blender?

¿Cómo crear agua fotorrealista en Blender?

Quieres hacer una piscina, un lago o un área inundada. ¿Qué magia es necesaria para añadir el agua a Blender? No es tan sencillo como añadir un material, pero tampoco tampoco necesitas aprender artes arcanas. En este caso, se trata de darle apariencia acuática a una malla, no otorgarle físicas acuáticas. 

Crear la malla


Esta guía está enfocada principalmente para Cycles y este motor es el usado en las imágenes. En Eevee Next (Blender 4.2 en adelante) puedes lograr transparencia reduciendo Alfa, pero muchos efectos adicionales siguen siendo exclusivos de Cycles. Lo primero será crear la escena en la que se incluirá ese agua. Yo he creado una pequeña piscina cuadrada con una pelota de plástico flotando, pero también puedes usar el modificador Océano, aunque tu objetivo no sea un mar. El cubo escalado que actuará de agua aún no tiene material, por lo que no deja ver a través de él.

No funciona adecuadamente

En el Modo edición, selecciona todo (A) y recalcula las normales hacia afuera (máyus+N).

Material: Agua

Mezclando el sombreador BSDF Vidrio con BSDF Transparente.

Con la malla seleccionada, vamos a la pestaña de Sombreado (Shaders), creamos un material y borramos o desanclamos el BSDF Principista, pues de momento no lo necesitaremos. En su lugar, creamos dos sombreadores: creamos un BSDF Vidrio (Sombreadores>BSDF Vidrio) y un BSDF Transparente (Sombreadores>BSDF Transparente) pulsando mayus+A. Creamos del mismo modo Mezclar sombreadores (Sombreadores>Mezclar sombreadores) y conectamos BSDF de los sombreadores que hemos creado a Sombreador y, en este último nodo, Sombreador a Superficie, que está en Material. En el BSDF Vidrio, indicamos IR (Índice de refracción) como 1.333


Alternativa a BSDF Vidrio

En lugar del BSDF Vidrio, se puede mantener el BSDF Principista en su lugar, que da más juego. Solo debemos hacer unas pocas cosas:

  • Minimizar la Rugosidad (0)
  • Maximizar la Transmisión (1).
  • IR a 1.333. 
  • Alfa a 0.5 (en Eevee)

Transparencia y sombra

El rayo de sombra permite que las sombras atraviesen el agua.

Se ve transparente pero, ¿a que parece que le falta algo? Le añadimos Trayectoria de rayo (Entrada>Trayectoria de rayo) y conectamos Es rayo de sombra con Fac (Factor) de Mezclar sombreadores. Podríamos dejarlo aquí si quisiéramos unas aguas cristalinas y tranquilas, pero ese no aprovecharíamos la versatilidad de esta herramienta.  

Opcionales

Ondulaciones

Ondulaciones en el agua.

Si queremos crear ondulaciones, necesitamos Ruido (Textura>Ruido) y Relieve (Vector>Relieve). Conectamos Fac (Factor) de Ruido a Altura de Relieve y Normal de este último con el homónimo de BSDF Vidrio. Puedes cambiar la escala en Ruido según tus necesidades. En la Escala de la textura Ruido, podemos controlar la cantidad y tamaño de ondulaciones. En Intensidad de Relieve, controlamos su altura aparente, pues no deja de actuar sobre las normales. 

Alternativas a textura Ruido

Olas paralelas.  

En lugar de la textura Ruido, se puede usar, convenientemente, la textura Ondas en la misma posición. Esta crea olas paralelas que puedes deformar con Distorsión.

Zonas llanas

Zonas con relieve y sin él.
Alterando la escala de la textura Ruido, he procurado hacerlo evidente a la vista para este ejemplo.

En grandes cuerpos de agua, quizás hayas percibido que el oleaje no es homogéneo. Hay zonas más llanas que otras. Creamos dos Rampas de color (Convertir>Rampa de color) a la que estará conectada la textura Ruido anterior (o se puede usar una textura Ruido para cada Rampa) a través de Fac (Factor). La primera conectará a su vez con Rugosidad del BSDF Vidrio/BSDF Principista. La segunda se situará entre la textura Ruido y el nodo Relieve. En ambas, sustituimos el color blanco por un gris claro y deslizamos el negro.

Espuma

Cúmulos

Motas de espuma sobre la superficie.

En el mar, en ocasiones se forman pequeños círculos de espuma que flotan sobre la superficie cuando hay poco oleaje. Para lograrlo son necesarios dos pasos:

  1. Mezclamos (Sombreadores>Mezclar sombreadores) el BSDF Vidrio/BSDF Principista con un BSDF Difuso (Sombreadores>BSDF Difuso), que irá en el conector de abajo. 
  2. Creamos una textura Ruido con la Escala a 500 y la conectamos, por medio de una Rampa de color, al Fac del Mezclar sombreadores que acabamos de incorporar. En dicha Rampa de color, desplazamos sin miedo el negro a la derecha hasta que se vea el agua con pequeñas motas de espuma.
En torno a elementos en el agua

Espuma en torno a los objetos.
Errata: en Oclusión ambiental, se usa el conector homónimo.

La espuma también se puede formarse en los bordes, sea en los límites del cuerpo de agua, de objetos flotantes o emergidos. Para lograrlo, son necesarios tres pasos:

  1. Mezclamos el BSDF Vidrio/BSDF Principista con un BSDF Principista. No puede ser un BSDF Vidrio porque necesitamos la conexión de Emisión.
  2. El elemento primordial es la Oclusión ambiental (Entrada>Oclusión ambiental) que estará conectada con una Rampa de color. El negro se colocará en el extremo derecho, con el blanco a su izquierda, no muy lejos. Lo conectaremos al Fac del Mezclar sombreadores al que están conectados los BSDF anteriores.
    1. Alternativa: en lugar de Oclusión ambiental, usar Geometría (Entrada>Geometría). Requiere, en lugar de usar Relieve para las normales, usar Desplazamiento conectado en Material, el último nodo.
  3. Dos texturas Ruido conectadas a Luz lineal (Color>Mezclar (Color), en Modo de fundido>Luz lineal). La primera textura Ruido tiene una Escala grande (p.ej. 1000), y la segunda más pequeña (p.ej. 100-200). Se conectan por a una Rampa de color al Color de Emisión del último BSDF Principista.
    1. Opcional: conectarlo también a Alfa para controlar la transparencia de estas zonas.

¡Ojo! Aunque aquí esté conectando un Mezclar sombreadores tras otro, usa tan solo las secciones que necesites.

Cáustica

Con nodos

Cáustica en un bloque de agua.

Estos son los patrones de luz en forma de polígonos variables. A diferencia de las demás variables, aquí voy a usar tan solo los nodos básicos, sin volumen ni normales, es decir, el BSDF Transparente mezclado con el BSDF Principista. 

  1. Necesitamos dos texturas Voronoi (Textura>Voronoi). La característica usada en la primera será F1 y, en la segunda, F1 suavizado. Los dos tendrán dimensiones 4D.
  2. Se crearán dos Valores (Entrada>Valor). El primero irá conectado a Escala ambas texturas Voronoi. El segundo a todas las W de todas las texturas Voronoi presentes. Si no está la W es porque no has elegido 4D. El Valor conectado a Escala tendrá un número mayor que el conectado a W, que puede mantenerse con 0.
  3. Se sustraen (Convertir>Operar, en Funciones>Sustraer) las Escalas de ambos.
    1. Opcional: Repetir estos dos pasos. Tendríamos 4 Voronoi con 3 Valores, dos de ellos unidos a Escala de cada pareja (con números distintos) de Voronoi y uno unido a todas las W. 
    2. Si se hace esto, los resultados de ambos Sustraer se combinan con Mezclar (Color).
  4. Una Rampa de color conectada a Emisión, cuya Intensidad deberá subirse levemente, permitirá controlar el color y la visibilidad de la cáustica.
  5. El Color base del BDSF Principista, o el nodo que usemos en su lugar, controlará el color general. 
Sin nodos

El sistema anterior se puede usar incluso en diseños en Eevee, pues la transparencia no es obligatoria ni vale únicamente para el agua. En el método sin nodos, se requiere Cycles, una luz y al menos dos mallas: una para el agua (yo he usado el modificador Océano con únicamente un BSDF Principista) y otra donde se proyectará la luz.

Cáusticas en sombras.

Seleccionamos la luz y en Propiedades de datos de objeto (💡) cambiamos a Sol (🌞), con la intensidad más baja, y marcamos Cáusticas en sombras. Es importante que la luz entre en ángulo en el agua.

Proyectar cáusticas.

Seleccionamos la malla que actúe de agua y en Propiedades de objeto (▣), en la pestaña de Sombreado, en la sección de Cáusticas, marcamos Proyectar cáusticas en sombras.

Recibir cáusticas.

En en objeto donde se vayan a proyectar, el procedimiento será el mismo pero, en cambio, elegimos Recibir cáusticas en sombras. 

El modificador Océano viene bien en este caso porque puede usarse para animarlo.

Profundidad y color

El agua gana volumen.

Para terminar, creamos Sumar sombreadores (Sombreador>Sumar sombreadores) y conectamos Sombreador de este (el que está a la derecha) con Volumen de Material. En este nodo vamos a conectar dos sombreadores en este preciso orden:

  • Primer nodo: elige uno de estos tres en la misma posición.
    • BSDF Principista (Sombreadores>Principista): si no lo borraste, puedes usar el que desconectaste al principio. Funciona mejor antes de Blender 4.
    • Emisión (Sombreadores>Emisión):  Emisión se usa a partir de Blender 4, con la Intensidad a 0.1, como máximo. 
    • Volumen principista (Sombreadores>Volumen principista): reduce la Densidad
    • Dispersión volumétrica (Sombreadores>Dispersión volumétrica).
  • Absorción volumétrica (Sombreadores>Absorción volumétrica).

Cambiando colores del agua.

Lo conectas, empezando desde arriba, con Sombreador de Sumar sombreadores. Podría parecer que hemos dado un paso atrás, pero aquí es cuando puedes hacer tu agua o el líquido que te parezca:

  • Transparencia: en Absorción volumétrica, puedes controlar la transparencia con Densidad. Para hacerlo más transparente, disminúyelo a valores menores a 1. Las zonas más profundas o voluminosas mostrarán más el color elegido.
  • Color: hay varios puntos que, en conjunto, añaden color. En primer lugar, en Color base y Color de BSDF Principista y Absorción volumétrica, respectivamente. En Emisión, tenemos otra opción para el brillo, que podemos ajustar con Intensidad de emisión. Los colores del BSDF Vidrio y Transparente también cambian el color, pero de forma homogénea.

Puedes jugar con los colores para crear la escena deseada.

Animar

Nodos para animar la superficie del agua.

Para que el agua se mueva, debemos utilizar la textura Ruido u Ondas que usamos en el apartado de ondulaciones. 

  • Si has usado una textura Ruido, cambia las dimensiones a 4D. En W, que acaba de aparecer, escribe #frame y pulsa la tecla Entrar del teclado. Cambiará de color y entonces escribes frame. Así se moverá con cada fotograma. Es recomendable introducir alguna fórmula, como frame/2. Para movimientos de vaivén, acepta fórmulas trigonométricas.
    • Para moverlo en una dirección, añade el nodo Coordenadas de texturizado (Entrada>Coordenadas de texturizado) y Mapeo (Vectores>Mapeo). En la posición X y/o Y de este último puedes desplazarlo con cada fotograma del mismo modo.
  • Si has usado la textura Ondas, en la sección de Desplazamiento puedes seguir el mismo procedimiento. La Dirección bandas (X, Y, Z o Diagonal) dirige las olas. 

Todos los nodos y resultado final

Todos los nodos al completo, salvo los usados en la cáustica, se verían de la siguiente manera:

Todos los nodos usados.

 Con estos parámetros, el resultado es el siguiente:

Piscina cuadrada de ladrillos con una pelota flotando en el agua.
 

Entradas relacionadas

Comentarios