¿Cómo hacer pompas de jabón en Blender?

¿Cómo hacer pompas de jabón en Blender?

Ya sabemos cómo hacer burbujas efervescentes, pero si quieres hacer pompas de jabón, grandes e independientes, aquí verás cómo. Por supuesto, lo aprendido en distintas entradas se puede combinar y nada te impide crear una efervescencia de pompas de jabón.

Material de burbuja

Mezclando sombreadores.
La apariencia jabonosa y transparente es similar al método por el que logramos simular el agua, es decir, con un Mezclar sombreadores (Sombreador>Mezclar sombreadores) al que estará conectado un BSDF Transparente y, en este caso, un BSDF Reflectivo. En este BSDF Reflectivo, reducimos la Rugosidad a 0-0.2 y notarás un cambio increíble. Indico que estoy usando Cycles. En Eevee puedes lograr el mismo resultado en este paso, pero se necesitan unos ajustes previos que indicaré luego. Para las imágenes, le he añadido un HDRI para que se note mejor la transparencia, pero no es necesario. Opcional: cambiar el color en el BSDF Reflectivo también cambia el color de la burbuja.
Indicando los nodos Fresnel e Influencia de capa en Sombreado.

Cuando mezclamos sombreadores, el Factor (Fac) indica cuál predomina. En 0.5 ofrece una mezcla homogénea de ambos. En muchos casos, esta opción es muy limitada. Para ello tenemos el conector por el que indicarle cómo y dónde se aplica más un sombreador u otro. Como la burbuja refleja más en su superficie, tenemos dos opciones: usar el nodo Influencia de capa (Entrada>Influencia de capa), conectando De frente la Factor (Fac), o Fresnel (Entrada>Fresnel). En Influencia de capa, los reflejos se irá reduciendo progresivamente hasta llegar el centro, mientras, en Fresnel, se quedarán en la superficie. Por lo tanto, Fresnel ofrece el reflejo directamente en la superficie, pero no tiene la personalización ni el gradiente de Influencia de capa. Si elegimos este último, una Rampa de color (Convertir>Rampa de color), la cantidad de negro nos permitirá lo translúcida que será desde el centro y, el blanco, hasta dónde refleja en la superficie. Puedes añadir una tercera manecilla (el + en el nodo o Ctrl+clic izquierdo), para ajustar el grosor de la burbuja usando un color oscuro, y la interpolación B-spline.

Anillo en Fresnel

Si usando Fresnel se forma un anillo, la solución es la misma que indicaré a continuación para hacer burbujas en Eevee Legacy (antes de 4.2), que soluciona el problema tanto en este motor como en Cycles.

Colores del jabón

Tenemos una malla con una mezcla de transparencia y reflectividad que nos podría servir para una pompa...u otra cosa. Para lograr que sea una pompa de jabón hay que añadirle aquello que proporciona el jabón: una gama de colores en sus reflejos.

Textura ruido conectada a BSDF Reflectivo.
Para ello, necesitaremos una textura Ruido (Textura>Ruido) y, como es habitual cuando conectamos una textura, va de la mano de los nodos Coordenadas de texturizado (Entrada>Coordenadas de texturizado) y Mapeo (Vector>Mapeo), estos dos conectados a través de Objeto-Vector. La textura Ruido la conectamos a BSDF Reflectivo. En la textura Ruido, la Escala la dejamos entre 2-4 y el Detalle en 0.

Ajustando la saturación y brillo.
Si en el BSDF Reflectivo teníamos elegido un color para la superficie, dejará de aplicarse. Para resaltar aquellos que logramos con la textura Ruido, conectamos entre ambos Tono Saturación Valor (Color>Tono Saturación Valor). Saturación hace honor a su nombre y resalta los colores, mientras Valor aumenta el brillo. Este paso no es obligatorio, por lo que usa los valores que más te convenzan.

Añadiendo anillos de Newton.

En el mundo real, en las pompas, pero también en otro tipo de superficies, estos colores forman anillos de Newton debido al reflejo de la luz en sus superficies. En este caso, no vamos a reproducir la física, sino únicamente la apariencia. Para ello, conectamos otra textura Ruido entre la anterior y Tono Saturación Valor o BSDF Reflectivo, según si has realizado o no el paso anterior. La dimensión de esta textura Ruido será 1D y estará conectada con la anterior a través de Factor (Fac)-W. En este caso, el Detalle también lo reducimos a 0.

Aleatoriedad

Esto sería todo en cuanto a la apariencia de una pompa pero, ¿y si tenemos más? Sí, se pueden duplicar y, depende de la escena, eso sería suficiente. Pero si los detalles son bien visibles, podría notarse que siempre tienen la misma apariencia.

Como hicimos en los fuegos artificiales para mostrar aleatoriamente distintos colores en las partículas, usamos el nodo Información de objeto (Entrada>Información de objeto) a través del conector Aleatorio. Además, necesitaremos el nodo Adicionar (Convertir>Operar (Vectores)). Este Adicionar irá conectado al vector de la primera textura Ruido. Sumará el vector de Coordenadas de texturizado-mapeo y los valores aleatorios de Información de objeto. Entre este último y el nodo Adicionar, se colocará Adicionar (Convertir>Operar), que tiene un color celeste, con la función Multiplicar. Este servirá para que los cambios sean más notorios.

Jabón animado

Animando la textura.

No solo quieres que se note el jabón y sus colores sean distintos en cada pompa, sino que se muevan. Podríamos cambiar manualmente los valores y marcarlos en la línea del tiempo pero, si buscáramos eso, no estaríamos aquí. Queremos facilitarnos la vida y no perder el tiempo tontamente. Necesitamos un encargado de cambiar esos valores.

No temas probar distintas operaciones, pues el resultado puede degenerar con el tiempo.

Para ello, volvemos a recurrir a Adicionar (Convertir>Operar) y, para que cada fotograma tenga un valor, en la casilla que quede libre introducimos una operación con #frame, como #frame/100 (procura que no alcance valores estratosféricos). Una función trigonométrica es una buena opción en este caso porque sus valores suben y bajan (Primero usan #frame, se pondrá lila y entonces podrán poner la operación con frame, sin la almohadilla). ¿Dónde se puede colocar? En varios lugares:

  • Al haber incluido el nodo de Mapeo, podemos hacer que la textura rote, cambie de tamaño y posición.
  • Entre las dos texturas Ruido, hacemos que los colores se desplacen hacia dentro o fuera de los anillos de Newton. Si vas a usar la función trigonométrica, te recomiendo utilizarla aquí (yo he usado sin(frame)/2. De lo contrario, si los valores suben sin control, ocurrirá lo visto en el gif de arriba.

Eevee (Legacy) y Fresnel

Si, después de todo, ahora cambias el motor a Eevee Legacy (antes de 4.2), no se verá del todo bien. También es normal que aparezcan errores. Como decía, al usar Fresnel en lugar de Influencia de capa, se veía un anillo grueso y denso. El siguiente método funciona en versiones anteriores a Blender 4.2 para ambos problemas. En Eevee Next (posterior a 4.2), el resultado se muestra en la imagen superior. Puede compararse con las anteriores, excluyendo las del apartado anterior, donde usaba Cycles.

Solucionando el problema de Eevee Legacy.

Para solucionarlo, vamos a Propiedades de material y, en el material que estamos usando para la Burbuja, vamos a Opciones. Seleccionamos Descartar caras traseras. En Modo de fundido, elegimos Fundir usando alfa y, en Modo de sombras, Ninguno.

Burbujas deformables

Colisión de 4 pompas.

Si estas burbujas no se van a tocar ni van a interactuar con nada, que mantengan su forma puede ser aceptable, pero se rompe la magia si atraviesan objetos y hacen clipping como si fuera un videojuego de Bethesda. No tienes perder la cabeza ajustando innumerables vértices a mano para lograr una colisión satisfactoria.

Lograrlo es sencillo:

  1. Selecciona la burbuja.
  2. Ir a Propiedades de dinámicas y seleccionar Cuerpo blando (🪼). 
    1. Deseleccionamos Objetivo.
    2. Seleccionamos Colisión propia
      1. Ajustamos la Rigidez y Amortiguación
    3. En Método de resolución, por cuestiones de rendimiento, puede beneficiarte reducir el Intervalo Mín y Máx (p.ej. 1-15). 
    4. En Campos de fuerza - Dinámicas, al ser una burbuja, que no va a caer como un plomo, es recomendarle reducir la Gravedad o anularla (0). 
      1. En Objeto, se puede reducir la Masa (1kg por defecto). No obstante, al acercarse a 0,1 kg, tendía a estallar y en valores entre 0,1-1 actuaba como un trapo si chocaba con elementos con el modificador Colisión, por mucho que aumentara la rigidez.
    5. En Bordes, subir ligeramente Estiramiento, Empujar y Flexión.
    6. Seleccionar Rigidez para que no se deforme toda la esfera.

Para que funcione mejor, es recomendable aumentar los vértices con un modificador (🔧) de subdivisión (Generar>Subdividir superficie). Si vas a usar varias pompas con la misma configuración, duplícalas en el Modo Edición. 

En el gif de arriba, tiene añadido un campo de fuerza (Campo de fuerza>Fuerza) con Intensidad (Propiedades de dinámicas>Opciones>Intensidad) negativa para que atraiga las burbujas al centro.

 

Entradas relacionadas

Comentarios