This is by no means a new technique, in fact, I saw it being demoed
at the Kinetix booth at Siggraph, but people have asked several times
how I create my smoke and water effects. So here's a quick tutorial discussing
the concepts.

Introduction
Particle Systems
First we need some particles. In general, start by creating a super spray
particle system. Then start changing parameters.
Both Off-Axis and Off-Plane spreads should be numbers between 10-20.
This will let the particles spread out a bit after they're launched from
the emitter.
Adjust the particle rate and speed for whatever effect you're trying
to achieve. Rushing water is fast, smoke is slow, fire somewhere in between.
Remember to add some variation.
Change the Life parameter. Fire dies out, so have the particles die before
they reach the top of the screen. Water and smoke tend to linger.
Make a large particle size, and a large variation. Add a positive fade
number if you want the particles to decrease in size before they disappear
(like in fire).
Under particle type, click on standard, and facing particles.
Under Particle Rotation, use a spin time between 30 and 100 frames, give
it a large variation (like 50%), and spin the particles along their Y
axis. This is so when we apply our material, not all the particles look
identical (since each particle will be at a different stage of a rotation).
Standard Material
All three effects use a similar material type. Here's how to make the
standard material.
Click on the box preview, so you're preview sample is a box and not a
sphere.
Next, click on face map. This is very important, since you're mapping
each individual face of your face mapped particles.
Turn shininess and shininess strength to 0, since you're going to be
playing with opacity maps, and don't want an unwanted glare from transparent
parts of your particles.
Under the Diffuse map, create a gradient material. Make it a radial gradient,
change the colors from a dark color to a light color (or red to yellow,
in the case of fire). Set Noise to an amount of 1.0, and type: fractal.
Size depends on the overall size of your scene and the size of the particles.
Play with this till you get the desired effect.
Next, make an opacity map by copying your diffuse map into the opacity
map. Change the opacity gradient's colors to black, grey and white.
Now convert the opacity gradient into a mask map, with the gradient as
your primary map.
Under mask, place a second gradient. This should be a simple radial gradient
with no noise, which is white in the center and black on the outside.
The reason you do this is because this mask will remove any noise that
appears at the edge of your facing particles, so you're guaranteed to
have a nice rounded particle, and it won't betray the fact that you're
actually using 2D geometry to simulate a 3d effect.
Variations
Now on to the variations.
The first example is water from a waterfall. Water, when there's enough
of it (look at Niagara falls) becomes a thick mist. For this effect, I
used a lot of particles on top of one another. The noise map has a large
size value to make the water look more puffy. I used a gravity spacewarp
to help pull the particles down in a nice shoot.
The fire example doesn't use a super spray, but a PArray, which does
the same thing, except the emitter can be any object (in this case, a
torus). The material uses a large noise size value, and has an opacity
filter type of additive (under extended parameters). This makes the flames
glow. I included a large fade number so the flames die out as they rise
in the air. The particles rise due to a wind spacewarp.
Last is the smoke example. It's very similar to the waterfall, except
there's a lot less particles, the spin is much slower, and the particles
are moving more slowly (since smoke tends to rise more gradually). You
could also try playing with more wind modifiers to create some rather
interesting swirling smoke effects. As far as the material goes, the noise
size is slightly smaller, The colors of the opacity map are much softer
so the smoke is more transparent, and I also tinted the color slightly
blue to add some variety.
Well, there you have it. This is only the most basic of recipes, things
to try are experimenting with Particle Age maps, different noise types
and parameters, shininess maps, bump maps, and different combinations
of spacewarps (try animating the strength values of wind and gravity for
some really nice effects). Also try other kinds of effects, like dust
clouds, mist and tornados. Just let your imagination take over.