En Blender tenemos a Mantaflow, pero hemos de reconocer que tiene sus limitaciones. Por esta razón es posible que necesitemos tener algo más de control en los volúmenes que creamos usando por ejemplo Houdini o EmberGen (pronto habrá otro tutorial de EmberGen). Puedes usar Houdini Apprentice para este tutorial.
Este tutorial pretende sólo mostrar el workflow para exportar VDB desde Houdini e importar VDB a Blender. No se va a explicar el funcionamiento de los volúmenes en Houdini, ya que eso daría para una serie de tutoriales y un curso completo.
Realizar la simulación en Houdini
Lo primero de todo es la creación de la simulación dentro de Houdini. Para realizar este tutorial no hace falta que sepas usar Houdini. Puedes seguirme paso a paso y lo conseguirás. Pero si sabes usar Houdini le podrás sacar mucho partido porque será mucho más fácil hacer que Houdini pueda formar parte como una pieza de tu Workflow de trabajo.
Una vez abierto Houdini vamos a crear una simulación. Para este tutorial no nos vamos a complicar la vida, pero el proceso será igual tanto si es un pequeño humito como si quieres hacer el gran tornado del «Día del mañana».
Crear la simulación en Houdini
Vamos a lo fácil, ya que lo que interesa aquí es la exportación de VDB. Lo primero será crear una simulación de las que tenemos en los presets de PyroFX. Puedes usar el que quieras, pero para este ejemplo usaremos el Sparse Billowy Smoke.
Lo posicionamos en el visor y esperamos a que se generen todos los nodos. Una vez creados los nodos podemos visualizar la simulación presionando el botón de reproducir del timeline.
Nodos de VDB y Cache
La exportación es más sencilla de lo que parece. El problema es saber donde incrustar estos dos nodos: convertvdb y filecache.
En el panel de nodos vamos a subir un nivel para llegar al nivel máximo.
Es aquí donde verás dos grupos de nodos llamados billowy_smoke y billowysmoke_simulation. Para insertar los nodos que nos interesan haremos doble clic en el nodo billowy_smoke donde veremos una serie de nodos conectados, tal y como te enseño aquí:
Para insertar el nodo haremos clic con el botón derecho en una zona vacía del panel. Verás que se despliega un selector con muchísimas categorías. En la primera línea tienes un campo donde puedes escribir las letras del nombre del nodo. Así que empieza a escribir VDB. Verás que se despliegan otro montón de nodos. El que nos interesa se llama convertvdb.
Una vez seleccionado debemos conectarlo a otro nodo para que pueda convertir la simulación a VDB. Pero ¿dónde lo conectamos? En este caso nos interesa conectarlo a la salida del nodo pyroblock, tal y como ves a continuación.
El nodo convertvdb
Si seleccionamos el nodo convertvdb1 podremos ver sus propiedades en el panel superior. Ahí debemos cambiar, en la opción Convert to, de Volume a VDB. En el apartado Group vamos a incluir algunos de los datos que nos puede guardar dentro del VDB como son la densidad, y velocidades en cada eje. Para eso haremos clic en el Y por ahora dejaremos las opciones que nos ofrece tal y como está.
Con esos datos podremos configurar mucho mejor nuestro volumen dentro de Blender. El siguiente nodo que vamos a usar es el que va a guardar cada uno de los fotogramas simulados en un archivo en nuestro disco.
El nodo filecache
Igual que hicimos con el anterior nodo, vamos a buscar filecache. Con este nodo podremos configurar dónde y cómo se van a guardar cada uno de los archivos generados.
Seleccionando el nodo filecache podemos cambiar sus ajustes en el panel superior. Ahí le diremos el nombre del archivo, su extensión, dónde guardarlo y el rango de fotogramas que vamos a guardar. En la imagen puedes ver donde se cambia la extensión del archivo.
Ahora solo queda darle a «Save to disk» o «Save to disk in Background». La segunda opción es la más cómoda de usar, pero el objetivo y el resultado será el mismo.
Si usamos la opción «Save to disk in Background» verás que el icono cambia de forma mostrándote el progreso con una serie de puntos.
Ahora solo queda esperar a que se guarden todos los fotogramas en la ruta que hemos seleccionado. Si todo ha ido correctamente, se habrán guardado los fotogramas.
¡Vamos a Blender!
El último paso es abrir Blender. Eliminamos, como siempre, el cubo y añadimos un nuevo objeto Volume > Import OpenVDB con Shift + A. En el cuadro de diálogo buscamos la ruta donde hayamos guardado los archivos VDB y seleccionamos uno de ellos.
Una vez abierto verás el volumen en el centro del visor. Ahora solo tenemos que decirle que queremos mostrar un secuencia de VDB. Eso lo podemos hacer desde el panel de propiedades en la pestaña de Volumen. Marcamos la casilla Sequence y escribamos la cantidad de fotogramas que necesitamos.
En este momento, si presionamos la tecla espaciadora podremos reproducir la animación en el visor de todos los fotogramas. Dependiendo de tu máquina y/o de la complejidad del volumen, irá más o menos fluido.
Y ya podríamos decir que hemos importado una simulación de volumen desde Houdini a Blender. Como has visto, no es tan complicado. Ahora solo quedaría hacerla bonita con unos shaders y luces adecuadas.
Vídeo del tutorial
Te dejo el vídeo por si eres de los que prefieres la película al libro.