Creating large-scale smoke with the help of FumeFX

Vikrant Dalal takes us through the key processes in creating a convincing plume of large-scale smoke.

Hi everyone, this is the first time I've written a tutorial explaining how to create VFX, so I've tried to make it as simple as I can.

So to start, I'll introduce the idea of large-scale smoke. You may have seen recent Hollywood movies include particle effects of smoke (or dust), which make certain shots appear huge and dramatic. This is because nowadays, many big VFX studios use this plug-in in their pipeline.

In this tutorial, I'll show you how to create large-scale smoke with the help of 3ds Max and the FumeFX plug-in. I can't teach you about the whole plug-in or each and every parameter in this tutorial, as it's a very big plug-in, but I can teach you how to make big effects with the use of minimum parameters.

There are a number of ways you can create the plumed smoke effect in FumeFX; for example, by using
Simple Source, Object Source or Particle Source – but in this tutorial, we will use Particle Source. This will entail using Particle Flow, Standard Lights (Target Spot and Omni), and a Default Scanline Render.

Generate particle flow system

As I mentioned before, there are different types of technique to make this effect, but here we are going to use Particle Source. To begin, there are two ways to open the Particle Flow window: first, you can go Graph Editors > Particle View, or you can simply use the keyboard shortcut ‘6'.

Now we can create the Standard Flow. First, click on the center part of the Particle Flow Window > New > Particle System > Standard Flow. In the viewport check the following positions:

Position of 'PF Source 01'
X: 0.0
Y: 0.0
Z: 20.0

Rotation of 'PF Source 01'
X: -90.0
Y: 0.0
Z: 0.0

The interface you should see in 3ds Max

The interface you should see in 3ds Max

Edit particle flow system

Now rename PF Source 01 to LSS Emitter 01. After this you can remove Shape and Rotation from the Event 01 and add Delete. Then select the LSS Emitter 01 and make the following changes in the parameters in the windows shown in the image below:

An important tip: if you keep the viewport at 50%, then it will only show 50% of the particles in the viewport. Because of that, FumeFX will generate smoke from only 50% of the particles. Therefore, you should always keep it at 100%.

A smaller integration step can improve accuracy at the cost of calculation time. But I am not worried about this because our Particle System is not particularly complicated.

Make sure to change your parameters to the ones shown here

Make sure to change your parameters to the ones shown here

Generate FumeFX System

We are going to use three important things from the FumeFX System: the FumeFX Container, FFX Particle Source and the FFX Gravity Vector.

First, to create the FumeFX Container, go to Create Panel > Geometry and click on FumeFX in the dropdown menu. Now click on the FumeFX button and Generate Container in the viewport. Rename FumeFX01 to LSS Container, and in the viewport, change the position of the LSS Container as follows:

X : 3.0
Y : -150.0
Z : 0.0

To create the FFX Particle Source, go to Create Panel > Helpers and click FumeFX on the Dropdown menu. Click on the Particle Src Button and Generate in Viewport. Now Rename FFX Particle Src01 to LLS Src.

To create the FFX Gravity Vector, go to Create Panel > Helpers > Click on Dropdown menu > FumeFX and click on the Gravity Vector button and Generate in Viewport. The Gravity Vector will change the Gravity Direction according to the icon. In the viewport, change the rotation of the FFX Gravity Vector01 to the following:

X : 90.0
Y : 0.0
Z : 0.0

Setting the FumeFX Container, FFX Particle Source and the FFX Gravity Vector

Setting the FumeFX Container, FFX Particle Source and the FFX Gravity Vector

Editing the FumeFX system

There are five important sections in FumeFX which we are going to modify: Gen (General), Sim (Simulation), Rend (Rendering), Illum (Illumination) and Obj/Src (Objects and Sources).

First, the Gen parameters should be changed as shown in the image below.

These are fairly straightforward number-switches, though to isolate the output path click on the small button next to output path, make a new folder on your storage drive and save your cache file (FXD) as LSS_test_ in that folder. Don't save cache file in your C: Drive though, as sometimes it contains more than 100GB Space, so you might face some problems.

As a tip, to make massive and detailed smoke, you have to make a large container with low spacing. It'll take time to simulate but it will give you a proper result. This said, you should have a good machine to work on – I'm using a Core i7-2700K CPU, with 3.50GHz and 16GB RAM.

These are the parameters you should set your Gen settings to

These are the parameters you should set your Gen settings to

The Simulation settings

You should apply the following settings to the Simulation panel of the FumeFX UI (see the image below). Don't change any parameters from the Fuel, Smoke or Temperature – keep it default.

As a tip - Turbulence Noise is very important to define the volume of smoke.

Apply the following settings to your Simulation panel

Apply the following settings to your Simulation panel

The Rendering settings

You won't need to change anything in the rendering parameters menu, just uncheck the Fire tab in the Fire menu.

The following settings are needed in the Rendering tab

The following settings are needed in the Rendering tab

Lights

Before we start working on this tab, we have to place Lights. We are using two standard lights: Target Spot and Omni.

For the Spot light, you can position it at the following points:
X : -748.23
Y : -359.294
Z : 282.733

And target at the following position:
X : 7.468
Y : -186.347
Z : 0.0

For the Target Spot light you'll need to turn on the shadows. Go to the Shadow Parameters tab and turn on the Atmosphere Shadows, and keep everything else default.

For the Omni light, place this at the following position:
X : 516.716
Y : -466.919
Z : 286.607

For the Omni lights, turn on the shadows and set the multiplier to -0.64. Again, go to the Shadow Parameters Tab and turn on the Atmosphere Shadows. Also, keep everything else default.

You can then add these two lights in the FumeFX Illumination Tab.

You should position your lights before you change settings in the Illumination tab

You should position your lights before you change settings in the Illumination tab

Objects and sources

This is the final step before you hit the Simulation button. First, add FFX Particle Src (LSS Src) and FFX Gravity Vector to the Objects Tab. When you select FFX Particle Src, one more tab will appear: Particle Source Parameters. Now add the Particle System (LSS Emitter 01) that we made earlier to this tab and apply the parameters as seen in the image below.

You can now hit the Simulation button. This will take around 5 – 6 hours to create the simulation, so you can take a break – after all you'll need to rest! After the simulation, go to Render Setup and render the sequence with a HD Resolution (1280 x 720).

Set these parameters to your Objects tab

Set these parameters to your Objects tab

Compositing

To composite, load the sequence into After Effects and apply the following settings for Color Balance and Sharpen (add a solid layer in the background):

R : 25
G : 25
B : 25

Use these settings in After Effects to composite your scene

Use these settings in After Effects to composite your scene

Conclusion

Now our scene is complete. The most important thing to remember when making such an effect is to always try different parameters. First you may try this tutorial, but then move on and try out your own ideas. Use more than one particle system, change the parameters, and just see what happens. I'm looking forward to seeing your alternative tests and own effects after you finish this tutorial – so good luck!

Related links
You can download FumeFX here
After Effects can be downloaded here
Vikrant Dalal's website