Aerial explosion

We will start our aerial explosion by creating a group with three emitters, two will be for the explosion and another one will be the trails. For the explosion we will use an emitter of type Cones, and another type Icosphere for the fireball and the trails will be of type Trails. 

The next step will be to adjust the shape of the emitters and the animation.

It is advisable to have a reference object to get an idea of the size of the explosion. In this case we are going to use a skeleton from the Rigify add-on. If you don't have it activated, you can do it from the menu Edit->Preferences->Add-ons.

To work more comfortably with the explosion we will temporarily hide the icosphere and the trails.

 We adjust the size and radius of the cones to make them bigger, we also change the Spread values to emit in all directions, we should try to get closer to the real size so that the simulation is more credible, always taking into account the limitations of our machine.

To adjust the animation we click on the Animation button. So that our explosion does not start from the beginning we set Start|Duration to 10 and 3

With Animation Curve we can control the acceleration of the explosion.

Remember that we have changed the beginning of the animation, you will have to move along the timeline to see the geometry.

Let's set up the Icosphere which is the fireball of our explosion. First we show it again.

By default Icosphere is configured with a behavior similar to Cones, but we want it to have a sphere shape, so we activate Single Mesh, Full Geometry, Center and set the size to be slightly smaller than the explosion.

Configure the Noise to add detail to the fireball and get more interesting shapes.

In the Animation section we will set Start|Duration to 12 and 5, so that it starts to form two frames after the explosion and lasts a little longer. 

Within Animation we also have a section for noise animation. We activate Animate Noise, reduce the Fade Animation value so that the noise changes during the growth of the fireball and increase the Final Noise a little more to add some more strength.

As with the explosion we can adjust its curve to control the acceleration.

We show the Trails again to work with them. First we are going to increase their height to the size we are interested in.

By default the Trails emitters are configured for surface explosions, but by adjusting the Height Offset and Curvature values we can have trails in all directions.

By modifying the Prune values we can adjust the length of the trails.

We adjust the Noise values so that the path of the trail is irregular. 

We delete or hide the reference we have in the scene.

Our next step is to adjust the animation of the trails. This will always depend on the type of explosion and the effect we want to achieve. We click on Animation and in Start|Duration we assign the values of 12 and 3 so that the start of is the same as the start of the fireball of our explosion. The duration is not really 3 frames since by default we have a Randomize of 50 so random values between 0 and 50 will be added to the duration frames, to modify the duration of the animation we will adjust this value to 30.

We can also adjust the animation curve to control the acceleration of the trails.

Now it is time to configure the flow for each of the emitters. Click on Flow Emitters and then on Add Flow. This step must be repeated for each emitter. 

Enter the following values:

Explosion

Density: 1.0

Fuel: 1.0

Source: 0.1

Fire Ball

Density: 3.0

Fuel: 2.0

Source: 3.0

Trails

Density: 0.5

Fuel: 0.2

Source: 0

These values are approximate and should be adjusted as we perform the simulation. Feel free to experiment with them. If you need help on what each of them is used for visit this link: Flow.

We create the domain of the simulation. Click on the Domain module and then on Add Domain, a list will appear to select to which group of emitters we want to assign it since we can have multiple domains, one for each group or a single domain for all (Emitters), in case we want all the emitters to interact in the simulation. In our case we will only assign it to the group, since later we will duplicate it and we will make use of the Group Offset tool to make a sequence of different explosions in a simple and fast way.

We are going to adjust the size of the domain so that it contains all emitters. You can do this either in object mode or edit mode. Although it is not necessary, if we have scaled in object mode we will try to apply the scale in Menu Object->Apply->Scale or by pressing Ctrl+A. We must adjust its size depending on the type of explosion and its growth.


We are going to configure some parameters of the emitter. Like the Flow Emitter parameters, we will also adjust these parameters when we test the simulation. We will also change the duration of the timeline to 100.

Resolution

Resolution: 64

Use Adaptive: Enable

Threshold: 0.000010

At the beginning we will keep a low resolution to visualize the shape of the explosion, later we will increase the resolution and use Bake.

Gas

Buoyancy Density: 0.3

Heat: 0.3

By lowering these parameters we achieve that the smoke does not rise too fast.

Fire

Reaction Speed: 0.5

Flame Smoke: 3

Vorticity: 0.1

By decreasing Reaction Speed we achieve that the fire is not consumed too fast, increasing Flame Smoke causes more smoke to be generated when the fuel burns and we decrease Vorticity.

It is time to preview the explosion. We can hide the emitters and click the Play button on the timeline. This preview is useful to get an idea of the shape and limits of the explosion to make adjustments. If we want to visualize the explosion in real time we can make a Flipbook.

3D View

Flipbook + Pretty Viewport

Flipbook Cache 

It seems that for the moment everything is correct, you can make changes in the parameters to leave the explosion to your liking. 

The next step is to increase the resolution of the domain and configure the Bake to save the cache on disk. We set Resolution to 128, this value is relative since it will depend on the size of the domain, for this explosion it is enough to be able to make tests before assigning the final resolution.

We change the cache mode to All and assign a folder to store the cache .vdb files. We also set the End value to match the end of the timeline.

Once the changes are done we click on Bake All.


Force Field Settings

Let's add detail to the smoke, as you can clearly see the mushrooms generated in the explosion and how smooth they look. 

First we will add a turbulence to break a little the shape of the mushrooms. Click on the Forces module and then on Add to create a group of forces. Once created we click on Add in the Forces column to add a force field.

By default we have created it in Global, this way the force is added to the scene and allows us to modify or animate its position if necessary in the 3D view.

We will use Turbulence with the parameters shown in the image. The parameters of the force fields will depend a lot on the simulation, so it is normal that we spend time testing until we get the desired result.

In this case we have applied a Strength of 10 and a Size of 0.4, this allows us to break the mushroom quickly and not lose its shape because the size is not excessive. On the other hand we have set Power at 1.8, this value attenuates the force depending on the distance, therefore at the beginning of the explosion is where it exerts more force and decreases when the smoke is farther away from the position of the force field. We could also animate the position of the force field or assign it an area of influence, but that will depend on the type of explosion and the result we want to obtain.

In the Domain module we are going to activate Noise to add more detail to the simulation and small turbulences. We could add another Force Field with a smaller size for that small noise and dispense with Noise.

Turbulence. 128 Res.

Turbulence + Noise. 128 Res.

We are going to make some small adjustments to the Trails so that they are not so thick, we reduce the Radius to 0.05 before performing the Bake with Resolution at 256, which will be our final resolution.

Turbulence + Noise. 256 Res.

Final Parameters

Let's configure the explosion shader by clicking on the Shading module. Then we select the domain to which we want to assign it and click on Add Shader to Domain.

The VDBLab shader allows us an immense number of possibilities when creating the shaders for our explosions. The preview we see in the Viewport corresponds to the Temperature and Flame attributes. By default these attributes are preset to Blackbody, but we can enrich them a lot if we mix them with Fire and Heat, for example to lengthen the time the fire stays in the scene or to add incandescence and enhance the fire. Feel free to adjust parameters and you will be able to achieve incredible effects quickly.

For our explosion shader we will mix Fire and Blackbody. If you want to get more information about how to use the shader click on the following link: Shading

Below are the parameters used for our explosion.

Fire Parameters

Blackbody Parameters

Smoke Parameters

Viewport 3D

Blackbody

Blackbody + Fire

The rendering will be done from the Rendering tab and we will use one of the Presets offered by VDBLab. If you want more information about the Rendering module click on the following link: Rendering.

We already have our explosion finished, now we are going to use Group Offset, another of the fabulous tools offered by VDBLab, to create a sequence of different explosions starting from the one we already have.

We start by hiding the simulation of our explosion by deactivating the monitor icon in the domain list, this allows us to work more comfortably. We will also hide the previous Emitters or the Group Emitter if it is not already hidden.

If you observe in the 3d view all the elements of the explosion have disappeared except the domain, this helps us to locate where is the explosion that we have created.

We must be careful because even if it is hidden we can modify its parameters and this means losing the Bake we already had from the simulation.

Click on the drop-down icon to the right of Add in the Groups column and select Duplicate Group. We assign a new name or we can increase the numbering, click Ok and we would already have a duplicate group with all its senders and configurations, except the Domain and Force Fields.

Just below the Add button is the Group Offset drop-down, where we will be able to introduce variations for the start and duration of the explosion, change the size and the Seed to generate similar but different explosions.

We are going to select the new Emitters with the 0 option and we are going to modify their position to show again the previous ones and to be able to adjust the animation.

It is time to duplicate the Domain. In the Domain module, we select the domain we want to duplicate, we change the mode to Replay with a lower resolution and in the dropdown we choose Duplicate Domain.

A little further down, in Domain Modules click on Collection and change the Flow to the new Emitters Group.

Place the Domain to contain the new Emitters.

In this simple way you can create thousands of different explosions with a single Emitter Group.

If you want you can add a Force Field like the previous one to affect the new simulation. Before creating it we place the 3D cursor in the area of the new explosion, then create a new Force Group and then add the force with the same parameters as the previous one. I did not mention it before but it is advisable to add some Noise Amount to the turbulence to vary the Strength.