En este noveno tutorial de la serie sobre fuego y humo con el simulador de Fluid en Blender 4.5, veremos cómo usar los Force Fields, como Turbulence y Curve Guide, para influir en el comportamiento y la trayectoria de los elementos en la simulación.
Este tutorial forma parte de una miniserie de 10 episodios sobre los fundamentos del Fuego y el Humo en Blender 4.5. Para ver la lista completa de episodios, haz clic aquí.
La versión en video de este tutorial no está disponible actualmente en este idioma. A continuación puedes ver la versión en inglés con subtítulos; debajo del video encontrarás la transcripción traducida al español.
Transcripción del video
Hola a todos. En este noveno tutorial de la serie sobre fuego y humo con el simulador de Fluid en Blender 4.5, veremos cómo usar los Force Fields, como Turbulence y Curve Guide, para influir en el comportamiento y la trayectoria de los elementos en la simulación.
La escena inicial que estoy usando para este tutorial es muy sencilla. Solo contiene el Domain y una esfera que emite fuego y humo en modo Inflow.
Al añadir un Empty a la escena, podemos asignarle un Force Field para perturbar o guiar los elementos de la simulación. Los Force Fields se encuentran en el panel Physics, igual que las simulaciones de Fluid para objetos Mesh. Elegí Arrows como tipo de Empty, ya que algunos Force Fields actúan en direcciones específicas y este tipo de Empty facilita su visualización inmediata.

Luego añado un Force Field que, por defecto, es de tipo Force. Para cada Force Field, un tooltip nos informa de su acción y de las direcciones en las que opera. Force, por defecto, tiene forma Point y actúa radialmente desde su centro. Sin embargo, al reproducir la simulación no notamos ningún efecto, aunque el objeto Inflow parece estar dentro del rango del Force Field.
En estos casos, un procedimiento que suele funcionar es el siguiente. Después de guardar el archivo del proyecto, especifica una carpeta de caché. Luego cambia el modo de Baking del Domain a All y deja que Blender calcule la simulación durante al menos algunos fotogramas.
Una vez finalizado este proceso, pulsa Play para comprobar si la simulación se ha calculado correctamente. Si es así, limpia la Domain Cache y vuelve a establecer el modo de Baking en Replay.
Ajusta tanto la duración de la animación del proyecto como el rango de fotogramas de la simulación en el Domain, y luego haz clic en Play en la Timeline.
Si ahora la simulación se ejecuta correctamente, a partir de este momento puedes probar los distintos efectos en modo Replay.
Para controlar la intensidad de los efectos, los Force Fields ofrecen el campo Strength, que se aplica al Force Field seleccionado y puede animarse.
Como nota adicional, puedes cambiar el valor de un campo para varios objetos seleccionados al mismo tiempo si mantienes pulsada la tecla ALT antes de hacer clic en el campo que quieres editar.

Strength nos permite ajustar, incluso con animaciones, la intensidad de cada Force Field individual. Pero, como aprendimos en los tutoriales sobre el Domain, también es posible controlar la influencia de todos los Force Fields en la escena, o de todos los Force Fields de un tipo determinado. Estos ajustes se encuentran en la sección Field Weights del Domain y, como en muchos casos, también pueden tener keyframes, lo que significa que el efecto de uno o de todos los Force Fields puede animarse a lo largo del tiempo.
El campo Strength de Force, así como el de muchos otros Force Fields, también puede tomar valores negativos. En el caso de Force, esto provoca que el fuego sea atraído hacia el Force Field.
En pantalla estoy mostrando un ejemplo creado animando el movimiento del Empty en la escena y estableciendo Force con un valor negativo. Como puedes imaginar, es una forma interesante de dirigir el fuego y el humo.

Cubrir todos los parámetros de cada Force Field disponible requeriría una mini serie aparte, por lo que no lo haré aquí. Sin embargo, hay una sección que merece la pena analizar: Falloff, que nos permite establecer un rango para la influencia de un Force Field.
En este momento, el Force Field afecta a todo el espacio virtual sin ninguna atenuación. Para mostrar un ejemplo más claro, cambio Force a Wind manteniendo Strength en negativo. Aunque Wind actúa solo en el eje Z y está colocado bastante lejos del objeto Inflow, este sigue viéndose afectado.

Para limitar el rango de influencia del Force Field, podemos usar el campo Max Distance en la sección Falloff. Por defecto, este parámetro está desactivado. Al activarlo, el rango del Force Field se representa mediante un círculo en el 3D Viewport. Como muchos parámetros, Max Distance también puede tener keyframes, lo que lo convierte en otra forma de controlar los efectos de un Force Field en animaciones. En este caso, Wind está atrayendo las llamas y el humo porque he dejado Strength con un valor negativo.

Ahora desactivo Max Distance, devuelvo el Force Field a su orientación original y establezco un valor positivo en Strength para revisar rápidamente un par de Force Fields más.
Un Force Field muy útil para añadir algo de movimiento a las llamas es, por supuesto, Turbulence. La perturbación que introduce es tan fuerte que el humo hace que las llamas sean menos visibles, así que lo reduzco usando la opción Dissolve en el Domain.
Turbulence puede volverse aún más aleatorio aumentando el parámetro Noise. Este ruido es en realidad seudoaleatorio, ya que sigue ciertos patrones, y puedes elegir el patrón mediante el parámetro Noise Seed. Si tus llamas se ven demasiado uniformes, incluso después de ajustar Vorticity o añadir Textures, un pequeño Force Field de tipo Turbulence puede ser exactamente lo que necesitas.
Para terminar, veamos el Force Field Curve Guide, que nos permite hacer que los elementos de la simulación sigan una trayectoria. Para este ejemplo, recreé la escena inicial desde cero, guardando el nuevo proyecto en un archivo distinto y configurando una nueva carpeta de caché para el Domain. De este modo, los ajustes iniciales del Domain y de los objetos Inflow que coloqué en la escena son los valores por defecto que se obtienen al crearlos.
Sin embargo, activo Dissolve con un número de fotogramas mayor que el valor por defecto, para evitar que el humo oculte demasiado la vista.
También desplazo el objeto Inflow hacia un lado para dejar espacio a la curva que servirá de trayectoria.

Después de añadir una curva Bezier y posicionarla para asignarle un Force Field Curve Guide, los resultados son bastante decepcionantes.
Si estás familiarizado con las curvas y el modificador Curve Guide, sabes que es una buena práctica establecer el Origin de la curva al inicio de la trayectoria y, sobre todo, asegurarte de que la curva tenga la orientación correcta. Esto puede comprobarse en Edit Mode con Curve Overlays, y una orientación incorrecta puede corregirse con Switch Direction. Tras reiniciar la simulación, el resultado mejora ligeramente, pero todavía no es el deseado.
Probé varios ajustes, como desactivar la gravedad en el Domain y aumentar el valor de Curve Guide en Field Weights. Por supuesto, también intenté reducir Vorticity y Reaction Speed, aumentar la resolución y más opciones. Algo cambió, pero no lo suficiente. Así que te muestro el método que suelo usar para conseguir el resultado que quiero.
Añado un Particle System de tipo Emitter al objeto con Inflow y configuro los parámetros básicos para que las partículas se emitan correctamente. Observa que las partículas siguen inmediatamente la trayectoria de la curva, ya que el emisor está dentro del rango del Force Field.

El rango del Force Field puede establecerse en su panel mediante el parámetro Minimum Distance. Allí también podemos fijar Clumping en 1 para que todas las partículas converjan en el punto final de la curva.
En este punto, establezco el Render del sistema de partículas del emisor en None, ya que estas partículas no deben renderizarse, y luego vuelvo al panel Inflow.
En este panel, cambio Flow Source de Mesh a Particle System, especificando el sistema de partículas que acabo de crear. De este modo, el fuego y el humo se emitirán desde las partículas que siguen la trayectoria.
A partir de aquí, puedes ajustar parámetros como Fuel, Vorticity y otros para dar a las llamas el aspecto que desees.

Antes de terminar el tutorial, también quiero mostrarte cómo vincular un punto de control de una curva a un objeto externo mediante una técnica llamada Hooking, que facilita la animación de la forma de la curva. Primero selecciono la curva, entro en Edit Mode y selecciono el último punto de control. Luego utilizo el operador Hook, eligiendo la opción Hook To New Object, que crea un Empty para este propósito.

En Object Mode, puedes mover este Empty y animar sus movimientos, deformando la curva y las llamas en consecuencia. Por supuesto, puedes usar la misma técnica para añadir más Empties a otros puntos de control de la curva y crear animaciones más complejas.

Como habrás notado, en cierto momento la emisión de partículas se detiene. Este parámetro se llama Frame End y se encuentra en el panel Particle System. En el mismo panel, el parámetro Lifetime controla la rapidez con la que las partículas recorren la curva.

Antes de cerrar, aquí tienes un par de consideraciones adicionales.
El tamaño del objeto Emitter determina el tamaño de la superficie de emisión. Por lo tanto, si quieres que las partículas se concentren a lo largo de una curva más estrecha, ajusta el tamaño de este objeto.
El número de partículas también influye en que la curva de fuego se vea más o menos segmentada, por lo que puede que necesites aumentarlo para que las llamas tengan un aspecto más suave y continuo.
En este sentido, usar Motion Blur, que veremos en el próximo tutorial, también puede ayudar.