free volumetric smoke::..
from the author:
This article was written without any specific package in mind, yet the information
contained can be introduced to 3ds max to produce effective volumetric smoke.
main thing in common with these plugins is the way the cloud effect is linked
to a particle system. This therefore enables the plugin to be indirectly controlled
by the particle system, hence generating it's shape, form and motion. The plugin
does the rest, namely the smoke generation, birth, death, fading, opacities, specularity,
bump, shadow casting, smoke texture animation and so on. If each part of the smoke
generation process is broken down into it's core components, it is relatively
simple to emulate using a 3D package's standalone features.
main task is to generate the smoke texture, so that it is of a relevant density
and size compared to the entire smoke particle system. Materials based on the
age of the particles (if they exist for your 3D package) can then be included
to control the colour values of the diffuse slot, the luminance values for the
opacity slot, and the bump and specular channels, the smoke effect can then fade
in and out depending on the particle's dirth, life and death. Additionally, give
the material a high falloff, either by using a Fresnel (or similar) map, or, if
your package doesn’t support it, whack up the transparency filter amount (in most
packages) and make it subtractive. If possible, a combination of the transparency
filter, the Fresnel (or other falloff) map and an opacity map generated from the
animated texture (linked to the particle’s age and diffuse, specular and bump
- normally with a smaller noise map) would be ideal.
next stage is to link all this to the particle system. This can be done by applying
the material directly to the particle system, or to an instanced object that is
set as the particle type. This is recommended as it give you greater flexibility
over the particle's shape, enabling you to apply any distortion or displacement
to the object you require, even animating it size or applying a noise displacement
if you wish, with the end effect of each particle individually animating! Set
up the particle system's birth and death rates accordingly, depending on the type
of smoke required (steam, cloud, rocket engine, pyroclastic flow (etc)), and play
it back in a preview to make sure it looks right.
packages also allow you to deform the particle depending on it's direction of
motion. Turn this on, but only have the value set at a low amount or some nasty
stretching will occur (unless you want this of course!). And that’s about it.
You will have to play with the values for the particle count and particle size
(higher particle count, lower particle size and vice versa) to achieve the best
effect for your scene. Additonally, if the package supports it, increase any additional
variation to birth, death, velocity (etc) to add that extra bit of chaos (also
helps smooth out any wayward particles and hides the birth rate), and, if all
else fails, add just a touch of motion blur to feather things out a bit.
smoke will cast shadows, although raytraced shadows will have to be used in some
packages due to the particles being ‘solid’ and only having an opacity map applied
which, unfortunately, can greatly increase rendering times.
on the materials setup, mainly with regards to noise or smoke density, the particle
count may have to be increased to acheive the desired effect, or irregularities
will be noticed.|
shadows work better than mapping as the particle's shape may become visible. By
using material id's for specific colours in the particle's age, effects, like
glows, can also be added.|
published: 3D World magazine,
Issue 4, October 2000.
Draper, October 2000. Reproduction without permission prohibited.