PROCEDURAL CARTOON FIRE
Or "How to make quick and cheap 2d fire", by Leo Santos

 

This tutorial is specific to 3DS Max, but you'll be able to get similar results in any software that allows you to map the density of a noise map. Coincidentally, Max doesn't allow it... and that's why we'll use an old Blur Studio shader, called "Blur Noise". Follow the link to get it, if you don't have it. You'll also need Blur Lib to run it.

Well, first thing we need is a surface to apply the shader. Remember, this is a 2D effect, a FLAT effect, if you're looking for realistic fire, there are much better alternatives. Let's start with a bent plane, like this:

For the material, a self illuminated yellowish color will do just right.

Keep it very simple. No Shininess, just the plain color.

After you're done with the rest, you can go back and add some color variation and maybe even try to make it look more realistic, if you want. But for this tutorial we'll stick with a flat looking fire.

 


Now we'll add the "SuperNoise" map to the opacity slot (You have to install the Blur Noise map to see this)

One cool thing about this noise is that you can map everything. We're going to use the density map feature, but for now, let's adjust the "high" and "low" parameters, in order to get more contrast.

 

If you render it now, it should look like this.

Ouch, what's that, a cow? Ok, let's keep working...

When you add the density map, you control, based on the luminosity level, the density on the noise.

If you apply a gradient, the noise is going To be visible where the gradient is white, and disappear where it's black.

After some trial and error, I got to this gradient. Of course, you can customize it any way you want, and even do animated maps as the density map, to get a more natural look.

 

Now it looks like this.

Ok, it's getting there. Let's proceed with the animation.

There are two things we must animate to get the proper effect: the Phase and the Offset.

The Phase controls the shape of the noise, and if you animate it it's going to change from frame to frame. Fire usually moves fast, but the size of it affects the speed, so keep that in mind when playing with the parameters.

The Offset simply moves the whole noise in one axis. It's important to get the feeling that the flames are going up, so we'll animate the offset in the Z axis (right now the effect is in Object XYZ space. You can use UVW space if you want).

In my file, the animation is playing at 24 frames per second, so these are the values for that animation you see on the top of this page:

  Frame 0 Frame 80
Phase 0 10
Z Offset 0 -450

 

Ok, that's it for the 3D side. The rest is done in composition, or using the built-in render effects. In my case, I used a compositing program to duplicate the layer with rendered sequence, set the new layer to additive mode and blurred it a little, until it looked right.

There's much more you can do, including applying the map to objects with different shapes, or animated shapes You can also tweak and animate the density map, and tweak the color so it changes accordingly with the opacity map. But I'll leave that up to you!

 

All images and text are copyrighted, don't use without permission !

 

Back to Tutorials

Back to Leo Santos home