3D DIRECT July 24, 2000
Smoke & Mirrors
by Alex Lindsay
If you've ever sat on a tarmac for hours waiting for your flight to finally take off (a common occurrence for me), you may have been graced with the beautiful emanation of heat from the back of the jets. This very subtle ripple almost defines a jet on the runway.
While the jets are excellent sources of reference, this phenomenon happens everywherefrom asphalt to cars to fires to small candlesanything that produces heat significantly hotter than the air around it.
Even if we are only dealing with engines, adding heat ripples is a fairly effective way to create realism beyond the stereotypical contrails. In fact, it's not much different from creating smoke. The main distinctions are A) the lack of color, B) short life span, and C) Higher velocity.
Warning! This is not a single pass process! It's also not a trick you will usually do in your 3D application alone. You will generally need to render your background and foreground separately and then sandwich the heat between them as a post process in your compositing program.
The main issue you need to deal with is the nature of heat. In general, being less dense and thus lighter than air, heat moves upward fairly quickly and, in open air, dissipates quickly as it rises and is absorbed into its surroundings. This flow subtly warps the scene behind it. It is important to note that adding this effect is something to do at the end of the animation, not the beginning. If you start playing with the heat before you really know where the animation is going you will be heading down a long, dark hole. How you approach the problem greatly depends on what the problem is. You want to make sure that this is clearly established before you start to play. Otherwise you will fix many problems which, while useful and fun to know (great for geek parties), will not help the job at hand.
Step one: the particle system
Obviously, you will need to carefully build and position emitters to focus the flow of heat from your object. You can see that in Image 1, in this case a simple cylinder was used. While the more complicated solutions are sometimes necessary, simple cylinders are usually all you need. There may be a temptation to simply use a point source. This can work, but point sources often provide substandard results as heat usually originates from an object, not just a specific point.
1) Our particles elevated from the ground.
The second step is to set the flow of particles. You need to balance between velocity and readability. You essentially want the particles to move from the emitter as fast as possible while still getting some sense of direction. If you move too fast it will just look like static.
2) As the ship approached the ground, the angle of emission was widened to look as though it were interacting.
3) Add a little blur to the particles to get a softer reaction to the image.
You can set up collision objects for the ground (or other surfaces like a wall) for the particle system to interact with. But most of the time simply animating the cone angle of the emitter will provide enough shift to be believable. Look at Image 2 and 3. You will see that by simply adjusting the cone angle of emission, the particle system appears to be interacting with the ground. Another factor to weigh here is the interaction with the general environment. The gravity (or lack thereof) will pull the particles upward (quickly). Also, adding dampening (viscosity) factors will help slow the particles as they move away from the subject and mix with the cooler air.
Make sure to keep the lifespan very short. Typical heat particles will probably only last 20 frames or so. Any longer and you will get too much heat and the ripple will interact with things it shouldn't and won't make sense. Also make sure to add variance to your particle system. The particles shouldn't all appear and disappear at the same time. You want a ragged edge to your effect.
The next steps will occur in your compositing package. While many packages can achieve the effect, I used Adobe After Effects (www.adobe.com) for this example. As I said earlier, this is a multipass project. You need to render the background separately so you can control the interaction of the particles with the environment. In fact, nine passes were used for this animation. They include Background pass, Shadow pass, Heat Ripple pass, Diffuse pass, Specular pass, Reflection pass, Interactive Light pass, Luminance pass, and Grunge pass. This way, there is explicit control over all the elements in the compositing program.
4) The background blurred
Once we have our elements inserted (Image 4), we need to soften them with a little blur (Image 5). From there, we will use this layer to both blur and displace the background. Both of these effects ship with the Production bundle of After Effects (which I highly recommend). You first need to displace the back subtly, based on the color of the particles. Then add a compound blur to the element that uses the luminance values of the particles to affect the amount of blur to the background layerthe higher the luminance (in the particle layer), the more blur is applied to the background layer. You can then add your foreground layer to the process.
5) The final image
Of course, there will be times where your foreground ship or object needs to be displaced and blurred in some areas too. You still want to render the particles as a separate pass. The distinction is that you will need to also render either an alpha zero or luminant black version of the object with the particles so they are appropriately obscured.
This should help you warm up your animations a little bit. As with everything else in this business, the true key to success is carefully observing the world around you. This gives you one more thing to amuse yourself with at the airport, in traffic (tractor trailers rule), and around the fire. If you carefully watch what's going on all the time, reproducing it all at will becomes much easier.
Alex Lindsay has been involved in computer graphics for more than 15 years. He has extensive experience in digital production including print, realtime games, multimedia titles, forensic animation, television, and film. Alex spent several years working on the production of Star Wars: Episode 1 (at JAK Films, and then at Industrial Light and Magic). He is the founder of dvGarage, a company dedicated to empowering people to express themselves with digital media.