How to Create Vector Fire in After Effects
Create awesome vector fire in After Effects using Trapcode Particular!
For a recent client project, I was asked to do a motion graphics video that was fire themed. In general, realistic fire effects are crazy hard to pull off well, so I started looking for a different approach. Most of the design collateral for the client revolved around a vector/illustrated look, so I decided to do some searching and experimentation around a “vector fire” theme.
After a short Google session, I ran across a great example of exactly what I wanted to create:
Sadly, they didn’t include a tutorial for how to create this look, so I took what hints I could from the comments and got to work experimenting, and ended up with this:
It’s not exactly what’s in the original example – I modified its look to match my needs, so you’ll notice some key differences, like no little embers/sparks, and it goes straight up, not at an angle. That said, it’s not too hard to create. Here’s how:
Building the Flame in After Effects
To start with, create a new comp at a pretty big size: 1500 x 2500. We want a vector look, so a large size will give it the super-sharp feel of a vector.
Next, create a new solid, name it “Flame”, and apply an instance of Trapcode Particular (the best particle emitter for AE, hands down). We’ll start by getting the particles to look right. Crank the size up to 80 and drop the sphere feather down to 0. Now we’ve got nice, large, sharp circles to work with.
Change the emitter type to “Box”, and set its emission direction to “Directional.” Now, move the base of the emitter to below the bottom of the comp and make the emitter much wider on the X-axis (around 1200 or so worked for me) then adjust the velocity to somewhere around 900. You’ll probably notice that, by default, “Directional” emitters throw particles away from the comp into Z-space, so rotate the emitter by 40º on the X axis to get it going more vertically, but still tapering off a little towards the top.
Set the emitter to start below the bottom of the comp:
Now that the emitter is shooting particles in the right direction, we’ll want to get the emission and velocity settings down to create the base shape. We want to have basically a solid interior, with a little bit of randomness on the edges. To get the solid interior, crank the particles/sec up to 600, then set the direction spread to 10 to control some of the randomness of the edges; we don’t really want any huge pieces outside the main shape on their own. Last, set the life to 6 and the life random to 20, which will get us a taller flame with a nicely random tip.
The base of the flame:
Now that we’ve got the base shape down, what we want to do is create a wide, less dense emitter to cut off the right and left sides of the base to make it look like fire. We’re going to duplicate the Particular layer and change a few things. Place the new layer on top and name it, “Left Obscure.” Set the blend mode to “Silhouette Alpha,” which will cut the alpha of that layer out of anything below it.
We’ll pull the size down a little to 70, but we’ll also crank the size random up to 60 so that we get some really huge ones and some much smaller ones. We’ll also set the life random to 50 to make things a little more sparse. For the emitter itself, we’ll want half the number of particles (so around 300) and a much larger direction spread of 30 to give us some great randomness.
At this point it’s going to look really huge, and we only need it to obscure the edge of the whit emitter, so we can shrink the emitter’s X-axis size down to 200. Now we’ve got it the right shape, so we’ll move it to the left and rotate it on the Y-axis to -8, with the end goal of cutting off the left side of the base emitter at an angle.
Set the emitter to come from the bottom left:
Left side obscured:
That’s one side done, so next we’ll duplicate the “Left Obscure” layer and rename it “Right Obscure.” Move it to the right and change the Y rotation to the opposite of the left side (8).
Move the emitter to the bottom right:
A nice looking flame:
At this point, you may decide that you want a “bottom” instead of a hard cut-off (I did in my case), so you can increase the comp’s size to 1500×3000 if you’d like, and do the same for the base layer (you can leave the obscure layers as-is if you’d like. You’ll make a new obscure layer that overlaps them, so they’re fine as they are).
To make a bottom, duplicate your base layer and rename it “Bottom Obscure.” We’re duplicating the base layer and not an obscure layer because we want the bottom to be more controlled. Don’t forget to set its blend mode to “Silhouette Alpha” so that it cuts away like the other “Obscure” layers.
Move the emitter to the bottom left corner and change it’s rotation to 90º on the X-axis and around 100º on the Y-axis. It should be placed so that it completely covers the bottom.
Next, twirl down Physics => Air => Spherical Field settings (it might help to have “Visualize Fields” on for this next part). What we want to do is create a sphere that pushes the particles away from the base of the flame to create a round “bottom.” Set the strength to around 80 (positive numbers repel, negative numbers attract) and the radius to fit the size of your flame’s base (600 for me). This should make a nice looking flame bottom for you. Don’t forget to turn off “Visualize Fields” before proceeding.
That covers the basic flame shape, but if you look at the DreamWorks example, you’ll notice that the edges are oval, not circles. To recreate this, drop your “Flame” comp into a new comp (I called mine “Flame Stretch”), then stretch the “Flame” layer to be taller vertically and skinnier horizontally.
Building the Fire
To create the whole fire, you’ll be making duplicates of the flame with different colors, and scaling/moving them around. For each duplicate you make, offset the timing of the layer to make sure it’s not showing the exact same frame as any other instance. Create a new comp (I named it “Vector Fire”) and drop the “Flame Stretch” comp into it. For the color, add a Gradient Ramp effect, and set it to yellow at the top of the flame and reddish orange at the bottom. Duplicate it and scale/move it to create a larger base.
Gradient for the base flame:
First instance of the flame:
Two instances of the flame for the base. Don’t forget to offset the time of the second layer:
Duplicate it again a couple times and change the colors of these to a white-to-yellow gradient. These will be smaller and form the brighter middle of the fire, so move/scale them to create that look.
Gradient colors for the top/middle flames:
First “small” flame:
Another “small flame” instance:
Last, we’ll need an in-between, so duplicate one of the orange base flames a few times and swap the gradient colors using the “Swap Colors” button. Use these new ones to create a mid-sized section of the fire behind the lighter/smaller flames.
First “middle” flame instance:
Another “middle” flame on the right:
A third “middle” flame to fill in the right side:
Scales and positions for the above:
There you go! That’s how to make vector fire!
This method uses nested comps, so most of the “physics” don’t apply of the bat, but if you don’t mind slower render times, you can turn on the “Collapse Transformations” switches and use a few parented nulls to get your physics back. On the other hand, if you don’t mind not having physics but want better render times, try pre-rendering the basic flame shape to a codec like ProRes 444 with an alpha, then do the coloring and duplicating for the full fire using the new .mov file.