Comenzaremos nuestra explosión aérea creando un grupo con tres emisores, dos serán para la explosión y otro será los trails. Para la explosión utilizaremos un emisor de tipo Cones, y otro tipo Icosphere para la bola de fuego y los trails serán de tipo Trails.
El siguiente paso será ajustar la forma de los emisores y la animación.
Es aconsejable tener un objeto de referencia para hacernos una idea del tamaño de la explosión. En este caso vamos a utilizar un esqueleto del add-on Rigify. Si no lo tienes activado, puedes hacerlo desde el menú Edit->Preferences->Add-ons.
Para trabajar más cómodamente con la explosión ocultaremos temporalmente la icosphere y los trails.
Ajustamos el tamaño y el radio de los conos para hacerlos más grandes, también cambiamos los valores de Spread para que emita en todas direcciones, debemos procurar acercarnos al tamaño real para que la simulación sea más creíble, siempre teniendo en cuenta las limitaciones de nuestra máquina.
Para ajustar la animación hacemos click en el botón de Animation. Para que nuestra explosión no comience desde el principio fijaremos Start|Duration en 10 y 3.
Con Animation Curve podemos controlar la aceleración de la explosión.
Recuerda que hemos cambiado el comienzo de la animación, deberás moverte por la linea de tiempo para poder ver la geometría.
Vamos a configurar la Icosphere que es la bola de fuego de nuestra explosión. Primero volvemos a mostrarla.
Por defecto Icosphere esta configurado con un comportamiento parecido a Cones, pero nos interesa que tenga forma de esfera, para ello activaremos Single Mesh, Full Geometry, Center y estableceremos el tamaño para que sea algo menor que la explosión.
Configuramos el Noise para que añada detalle a la bola de fuego y obtener formas más interesantes.
En el apartado Animation estableceremos Start|Duration en 12 y 5, para que comience a formarse dos fotogramas después de la explosión y dure un poquito más.
Dentro de Animation también disponemos de un apartado para la animación del ruido. Activamos Animate Noise, reducimos el valor de Fade Animation para que el ruido cambie durante el crecimiento de la bola de fuego y aumentamos un poco más el Final Noise para añadir algo más de fuerza.
Al igual que con la explosión podemos ajustar su curva para controlar la aceleración.
Volvemos a mostrar los Trails para trabajar con ellos. Primero vamos a aumentar su altura hasta el tamaño que nos interese.
Por defecto los emisores tipo Trails están configurados para explosiones sobre superficie, pero ajustando los valores de Height Offset y Curvature podemos lograr tener trails en todas direcciones.
Modificando los valores de Prune podemos ajustar la longitud de los trails.
Ajustamos los valores de Noise para que la trayectoria del trail sea irregular.
Borramos u ocultamos la referencia que tenemos en la escena.
Nuestro siguiente paso es ajustar la animación de los trails. Esto siempre dependerá del tipo de explosión y del efecto que queramos conseguir. Hacemos click en Animation y en Start|Duration asignamos los valores de 12 y 3 para que el comienzo de sea el mismo que el de la bola de fuego de nuestra explosión. La duración realmente no son 3 frames ya que por defecto tenemos un Randomize de 50 por lo tanto se sumarán valores aleatorios entre 0 y 50 a los frames de duración, para modificar la duración de la animación ajustaremos ese valor a 30.
También podemos ajustar la curva de animación para controlar la aceleración de los trails.
Es el momento de configurar el fluido para cada uno de los emisores. Hacemos click en Flow Emitters y continuación en Add Flow. Este paso lo tendremos que repetir para cada emisor.
Introducimos los siguientes valores:
Density: 1.0
Fuel: 1.0
Source: 0.1
Density: 3.0
Fuel: 2.0
Source: 3.0
Density: 0.5
Fuel: 0.2
Source: 0
Estos valores son orientativos y debemos ir ajustándolos cuando realicemos la simulación. Siéntete libre de experimentar con ellos. Si necesitas ayuda de para qué se utiliza cada uno de ellos visita este enlace: Flow.
Creamos el dominio de la simulación. Haz click en el módulo Domain y posteriormente en Add Domain, aparecerá un listado para seleccionar a qué grupo de emisores queremos asignarlo ya que podemos tener múltiples dominos, uno para cada grupo o un único domain para todo (Emitters), por si queremos que todos los emisores interactúen en la simulación. En nuestro caso solo lo asignaremos al grupo, ya que posteriormente lo duplicaremos y haremos uso de la herramienta Group Offset para hacer un secuencia de explosiones distintas de manera sencilla y rápida.
Ajustamos el tamaño del domino para que contenga todos los emisores. Puedes hacerlo tanto en modo objeto como modo edición. Aunque no es necesario, si hemos escalado en modo objeto procuraremos aplicar la escala en Menu Object->Apply->Scale o pulsando Ctrl+A. Debemos ir ajustando su tamaño dependiendo del tipo de explosión y su crecimiento.
Vamos a configurar algunos parámetros del emisor. Al igual que los parámetros del Flow Emitter, estos parámetros también los iremos ajustando cuando comprobemos la simulación. También cambiaremos la duración de la línea de tiempo a 100.
Resolution: 64
Use Adaptative: Enable
Threshold: 0.000010
Al comienzo mantendremos una resolución baja para visualizar la forma de la explosión, posteriormente aumentaremos la resolución y usaremos Bake.
Buoyancy Density: 0.3
Heat: 0.3
Al bajar estos parámetros conseguimos que el humo no se eleve demasiado rápido.
Reaction Speed: 0.5
Flame Smoke: 3
Vorticity: 0.1
Al disminuir Reaction Speed logramos que el fuego no se consuma muy rápido, aumentar Flame Smoke hace que se genere más humo cuando el combustible se quema y disminuimos Vorticity.
Es el momento de previsualizar la explosión.Vamos a ocultar los emisores haciendo click sobre el ojo del grupo o de cada emisor y hacer click en el botón Play de la línea de tiempo. Esta previsualización nos sirve para hacernos una idea de la forma y límites de la explosión para hacer ajustes. Si queremos visualizar la explosión en tiempo real podemos hacer un Flipbook.
Vista 3D
Flipbook + Pretty Viewport
Cache Flipbook
Parece que de momento todo está correcto, podéis hacer cambios en los parámetros para dejar la explosión a vuestro gusto.
El siguiente paso es incrementar la resolución del dominio y configurar el Bake para guardar la caché en disco. Fijamos Resolution a 128, este valor es relativo ya que dependerá del tamaño del dominio, para esta explosión es suficiente para poder hacer pruebas antes de asignarle la resolución final.
Cambiamos el modo de caché a All y asignamos una carpeta para almacenar los archivos .vdb de la caché. También fijamos el valor End para que coincida con el final de la linea de tiempo.
Una vez realizados los cambios hacemos click sobre Bake All.
Force Field Settings
Vamos añadir detalle al humo, como puedes observar se ve claramente las setas generadas en la explosión y lo suaves que se ven.
Primero añadiremos una turbulencia para romper un poco la forma de las setas. Hacemos click en el módulo Forces y a continuación sobre Add para crear un grupo de fuerzas. Una vez creado hacemos click sobre Add en la columna de Forces para añadir un campo de fuerza.
Por defecto la hemos creado en Global, de esta forma se añade la fuerza a la escena y nos permite modificar o animar su posición si fuera necesario en la vista 3D.
Utilizaremos Turbulence con los parámetros que se muestran en la imagen. Los parámetros de los campos de fuerza dependerán mucho de la simulación, por lo tanto es normal que dediquemos tiempo haciendo pruebas hasta obtener el resultado deseado.
En este caso hemos aplicado un Strength de 10 y un Size de 0.4, esto nos permite romper la seta de forma rápida y no perder su forma ya que el tamaño no es excesivo. Por otro lado hemos fijado Power en 1.8, este valor atenúa la fuerza dependiendo de la distancia, por lo tanto al principio de la explosión es donde más fuerza ejerce y disminuye cuando el humo está más alejado de la posición del campo de fuerza. También se podría animar la posición del campo de fuerza o asignarle un área de influencia, pero eso dependerá del tipo de explosión y el resultado que queramos obtener.
En el módulo de Domain vamos a activar Noise para añadir más detalle a la simulación y pequeñas turbulencias. Podríamos añadir otro Force Field con un tamaño más pequeño para ese pequeño ruido y prescindir del Noise.
Turbulence. 128 Res.
Turbulence + Noise. 128 Res.
Vamos a hacer unos pequeños ajustes en los Trails para que no sean tan gruesos, reducimos el Radius a 0.05 antes de realizar el Bake con Resolution a 256, que será nuestra resolución final.
Turbulence + Noise. 256 Res.
Final Parameters
Vamos a configurar el shader de la explosión haciendo click en el módulo Shading. A continuación seleccionamos el domino al que queremos asignarlo y hacemos click en Add Shader to Domain.
El shader de VDBLab nos permite un número inmenso de posibilidades a la hora de crear los shaders para nuestras explosiones. La previsualización que vemos en el Viewport corresponde a los atributos de Temperature y Flame. Por defecto estos atributos se encuentra prefijados en Blackbody, pero podemos enriquecer mucho si mezclamos con Fire y Heat, por ejemplo para alargar el tiempo que permanece el fuego en la escena o añadir incandescencia y potenciar el fuego. Siéntete libre de ajustar parámetros y podrás conseguir efectos increíbles rápidamente.
Para el shader de nuestra explosión mezclaremos Fire y Blackbody. Si quieres obtener más información sobre como utilizar el shader haz click en el siguiente enlace: Shading.
A continuación se muestras los parámetros utilizados para nuestra explosión.
Fire Parameters
Blackbody Parameters
Smoke Parameters
Viewport 3D
Blackbody
Blackbody + Fire
El render lo haremos desde la pestaña de Rendering y utilizaremos uno de los Presets que nos ofrece VDBLab. Si quieres más información acerca del módulo Rendering haz click en el siguiente enlace: Rendering.
Ya tenemos nuestra explosión terminada, ahora vamos a utilizar Group Offset, otra de las fabulosas herramientas que ofrece VDBLab, para crear una secuencia de explosiones diferentes partiendo de la que ya tenemos.
Comenzamos ocultando el la simulación de nuestra explosión desactivando el icono del monitor en el listado de dominios, esto nos permite trabajar más cómodamente. Vamos a ocultar también el los Emitters anteriores o el Group Emitter si aún no lo tienes oculto.
Si observas en la vista 3d todos los elementos de la explosión han desaparecido excepto el dominio, esto nos ayuda a ubicar donde se encuentra la explosión que hemos creado.
Debemos llevar cuidado porque aunque esté oculto podemos modificar sus parámetros y esto supone perder el Bake que ya teníamos de la simulación.
Hacemos click en el icono desplegable que se encuentra a la derecha de Add dentro de la columna de Groups y seleccionamos Duplicate Group. Asignamos un nuevo nombre o podemos incrementar la numeración, pulsamos Ok y ya tendríamos un duplicado del grupo con todos sus emisores y configuraciones, excepto el Domain y los Force Fields.
Justo debajo de botón Add está el desplegable de Group Offset, donde vamos a poder introducir variaciones para el inicio y la duración de la explosión, cambiar el tamaño y el Seed para generar explosiones similares pero con diferencias. También puedes cambiar los parámetros de los nuevos emisores en el módulo Emitters.
Vamos a seleccionar los nuevos Emitters con la opción de 0 y vamos a modificar su posición para volver a mostrar los anteriores y poder ajustar la animación.
Es el momento de duplicar el Domain. En el módulo de Domain, seleccionamos el dominio que que queremos duplicar, cambiamos el modo a Replay con una resolución más baja y en el desplegable elegimos Duplicate Domain.
Un poco más abajo, en Domain Modules hacemos click sobre Collection y cambiamo el Flow al nuevo Emitters Group.
Ubicamos el Domain para que contenga a los nuevos Emitters.
De esta forma tan sencilla puedes crear miles de explosiones diferentes con un único Emitter Group.
Si lo deseas puedes añadir un Force Field igual que el anterior para que afecte a la nueva simulación. Antes de crearla ubicamos el cursor 3D en la zona de la nueva explosión, posteriormente creamos un nuevo Force Group y a continuación añadimos la fuerza con los mismos parámetros que la anterior. No lo mencioné anteriormente pero es aconsejable añadir algo de Noise Amount a la turbulencia para variar la el Strength.