Tornado Effects

One thing that has been asked fairly often was how to make a tornado effect. To tell the truth, I didn't really know, so I've been experimenting with things off and on through the last few months. All of a sudden, it hit me! I was creating a spiral shape using a well-known method, when I noticed that the effect made a very tornado-like shape. The rest developed from that. So, let's go through it step-by-step!
First, create a curve going straight up from the origin, with a CV placed about every 2 grid lines or so (using a default grid arrangement) as in Fig 1. Figure 1
Create a Nurbs Circle. Make the following changes:

Translate X : -.5
Rotate X : 90
Radius : .04
Sweep : 90
Sections : 3

You should see something similar to Fig 2.

Figure 2
While the Circle is selected, press Insert (above the Delete key on the keyboard) and Grid Snap (X) the pivot of the circle to the origin. (Fig 3) Figure 3
Now, select the Nurbs Circle and then the Curve in that order. Go to the Modeling Menu Set and Surfaces > Extrude. In the Channel Box, under Inputs, make these changes:

Fixed Path : ON
Use Component Pivot : ON
Use Profile Normal : OFF
Rotation : 5000
Scale : 6

You will hopefully see something similar to Fig 4. You can adjust your Rotation and Scale numbers and the orientation of the circle to get the kind of overall shape you'd like to model your tornado after.

You can delete the history of the new "tornado" shape (Edit > Delete by Type > History) and delete the curves. Rename the object Tornado.

Figure 4
Now, select the new tornado shape. In the channel box, select Rotate Y. Right click and select Expressions from the menu. The Expression Editor will open. In the Expression area, type the following:

Tornado.rotateY = frame * #

Put a number in the "#" spot. The higher the number, the faster the tornado will spin. You can always edit this later. Now, if you play your animation, the tornado should spin like a top. (Fig 5)

Figure 5
Ok, now we're gonna add Dynamics. Select the Tornado and go to the Dynamics Menu Set and Particles > Emit from Object > Options. In the options, choose Surface for emitter type and create it. When you press play, particles should be emitting from the surface of the object. It's possible that the particles may be emitting from the interior surface, rather than the exterior. If so, Reverse your tornado surface direction (Modeling Menu Set - Edit NURBS > Reverse Surface Direction). (Fig 6) Figure 6
Open the emitter's Attributes and make the following changes:

Rate : 1000
Speed : 0

Now, we have more particles and instead of them emitting away from the tornado, they'll stay on the surface. Select the particles and make the following changes in their attributes:

Lifespan Mode : Random Range
Lifespan : 2
Lifespan Random : .25
Particle Render Type : Cloud (s/w) (click Current Render Type button)
Radius: .661
Threshold: .661

Now, if you hide the tornado surface object, you'll just have a spinning cone of cloud particles. You may need to adjust the emitter rate, particle radius, etc. to get the look you want. (Fig 7)

Figure 7
Now that we have it spinning though, you also want it to move around, not just stay rigid. To do this, you could probably use a number of methods, like bones and soft-body simulations or whatnot, but a lattice seems to work fine. Unhide the tornado object, select it, and create a Lattice (Animation Menu Set - Deform > Create Lattice). (Fig 8 and 9) Figure 8Figure 9
Before adjusting the Lattice, open the Outliner and select both the lattice and the base that was created with it. Scale them up a bit to ensure that the tornado will always remain inside it and never pop out accidently. Now, it's just a matter of animating the lattice to get the tornado to move and deform as you'd like! The expression will keep the torado object spinning while the Lattice changes its shape. It's up to you to get the Cloud particles to look like you want them, but I hope this tutorial has helped you get the tornado started and looking like you'd want. Don't forget about using different Fields on the particles like turbulence and so forth to get different effects.
Michael McKinley