Simulating Tornadoes in Blender
I have been attempting to figure out a technique to create visually appealing tornadoes for some time. Here at long last is a tutorial.
This tutorial will be split into four parts:
Brief intro to tornadoes, and Blender’s smoke simulator.
Method 1: Tornado with particles
Method 2: Tornado with mesh emitter
Rendering your Tornado
I might eventually write a fifth part discussing how to integrate your tornado with filmed footage and/or a synthetic environment.
This tutorial is intended for a an audience that is familiar with Blender features, but that may or may not have ever ventured into the smoke simulator. I'll try to be as clear as possible, and mention any spots that gave me hiccups along the way. So, without further ado, here is the first installment.
This tutorial will be split into four parts:
Brief intro to tornadoes, and Blender’s smoke simulator.
Method 1: Tornado with particles
Method 2: Tornado with mesh emitter
Rendering your Tornado
I might eventually write a fifth part discussing how to integrate your tornado with filmed footage and/or a synthetic environment.
This tutorial is intended for a an audience that is familiar with Blender features, but that may or may not have ever ventured into the smoke simulator. I'll try to be as clear as possible, and mention any spots that gave me hiccups along the way. So, without further ado, here is the first installment.
Brief introduction to Tornadoes, and Blender's Smoke Simulator
We are probably all generally familiar with what a tornado is: a rapidly rotating vortex of air attached to a thunderstorm cloud, more specifically a mesocyclone. A scientific treatment of the subject is beyond the scope of this tutorial (and my own limited knowledge!), but this is enough to go on for now. There is plenty of good information about tornadoes online; below are a couple links I found useful.
http://www.srh.noaa.gov/jetstream/tstorms/tornado.htm
http://www-das.uwyo.edu/~geerts/cwx/notes/chap07/tornado_form.html
Tornadoes do not always form funnel-shaped clouds: They may form thin, rope-like vortexes; giant wedge-shaped clouds; or the actual funnel cloud may be invisible entirely, at least for a short time. They can bend in strange, contorted shapes. They can have multiple vortices, even satellite vortices rotating around a larger main vortex! A collection of tornado images snagged from Wikimedia gives an idea of the shapes and sizes tornadoes can come in:
http://www.srh.noaa.gov/jetstream/tstorms/tornado.htm
http://www-das.uwyo.edu/~geerts/cwx/notes/chap07/tornado_form.html
Tornadoes do not always form funnel-shaped clouds: They may form thin, rope-like vortexes; giant wedge-shaped clouds; or the actual funnel cloud may be invisible entirely, at least for a short time. They can bend in strange, contorted shapes. They can have multiple vortices, even satellite vortices rotating around a larger main vortex! A collection of tornado images snagged from Wikimedia gives an idea of the shapes and sizes tornadoes can come in:
Creating a digital version of this diverse, complex phenomenon stumped me for some time. What method can be used to render such a diversity of effects? A tornado with relatively low turbulence, as in the top left image above, is really the only type of tornado that can be approximated by an animated mesh. In order to render most forms with any approach to realism, the only options that I could think of were using billboard rendering with a massive particle system, or utilizing the smoke simulator with volumetric rendering. I decided on the second option. As we continue throughout the parts, it will become apparent that although each tornado needs a slightly different approach, many of the core concepts will be used over and over again.
The smoke simulator is a relatively new feature in Blender (implemented in the 2.5x series) and is under ongoing development. Because of this, some features will change from version to version. I strongly suggest using the most recent version of Blender, which to date is Blender 2.69.
When setting up any smoke simulation in Blender, there are two objects that must be created in order for the simulation to run:
A Domain object, always rectangular, in which the smoke volume is calculated and rendered; and a Flow object, from which the smoke is emitted. There are others, such as Obstacle, that we may use later, but let's keep going. In Blender, there are two ways in which the smoke emitter object can produce smoke: Mesh and Particle System (available in the drop-down menu labeled Flow Source). We will use the Particle System setting to simulate a small "rope" tornado in the first example, and use the Mesh flow source in the second method to create a giant wedge tornado. Setting up material settings to render a smoke simulation is somewhat tedious. We will be tweaking different rendering settings during the following tutorials, but it would be useful to familiarize yourself with the basic process before continuing. There is a great article by MiikaHweb (who was/is a major force in Blender smoke simulator development) on creating fire in Blender here. The tutorial uses a 2.5x version of Blender, so many features have changed or been renamed, but most of the settings in the Creating a fire-like material section have remained the same. Next time we will dive into the first method for creating tornadoes in the smoke simulator. Happy blendering until then! -Wesley Toler |