|
..::gaseous fire::..
Ahh...
plugin-free fire. This must be one of the most sought-after questions
in CG, right after “How can I model a head”. Like modelling
a head, it is very difficult to get right as we have all seen the
big-budget Hollywood movies with stuff blowing up all over the place,
and are familiar with fire’s properties, colour and illumination.
Therefore, one specific element out of place when we are designing
the effect, it will look laughably wrong.
Each
type of fire behaves and looks differently. Look at any types of
fire you can and you will see what I mean – wood fuelled fires
“lick” surfaces, wrap themselves around combustable
material and spread in one manner. Petrol fires behave another way
and are coloured differently due to the type of fuel used.
Gaseous
fires are entirely different and move not too dissimilar to liquid.
One good example is the Lobby exposion scene from the Matrix, in
which a blown-out (CG) lift door passes over and through the fire
before striking the camera. The effect the special effects artist
wanted was a billowing effect that wrapped around the posts and
flowed through the large open area. Another type of fire would not
have looked as good for this particular scene.
Gaseous
fires are coloured differently to others and are tinted slightly
different depending on the fire’s “age”. The closer
to the source of the fire we get, the more intense the brightness,
and the more yellow (to white) the colour gets. The further away
we get from the source of the fire, the more the colour changes
to a red, then to a slight purple; basically adding more blue to
the colour as the fire absorbs more oxygen.
Gas
fires aren’t all that bright compared to other types of fire.
The majority of them are slightly reddish in hue, which therefore
affects the light emitted from the ignited gas. The scene (in addition
to existing lighting) should therefore be lit accordingly. Several
point or direct lights should be placed over the surface of the
fire facing outwards to light the environment, and some to light
the fire geometry itself to add additional hot areas. These areas
would consist of places where the fire would accumulate, such as
corners of rooms, where the fire collides with additional objects,
and especially where the fire is emitted as this would be the brightest
point. These placed lights will not illuminate a subject a million
miles away, so attenuation (either designed falloff or inverse-square)
should be used to reduce the light’s intensity the further
away from the light source the lit subject is positioned.
The
example illustrated in this Q&A isn’t animated, but converting
it is not all that taxing to produce (an animation of the effect
can be found in the resources zip file). The fire geometry should
be animated from it’s source. This should take on the form
of animating the base plane’s settings, not by simple scaling.
Doing it this way will enable the geometry to pass over the wave
displacement that has been previously constructed. The smoke displacement
will not have to be animated to show these ripples flowing out from
the source as gaseous fire seems to leave the trails almost sitting
there, simply billowing away. The smoke maps that create the displacement
will have to animated though, which is a simple case of animating
the phases of each map a little. The same should be applied to the
smoke maps used in the fire’s material, Gradient Ramp maps
(if any noise exists in the map) and in the Noise Modifier. The
type of mapping may need to be changed else the Smoke procedural
maps will just pass over the surface of the fire geometry in one
direction and not be emitted outwards from the center, although
this is hardly noticeable with all that is going on at the same
time.
Although
not covered in the short tutorial example or in the sample scene
included on the cover CD (got to give you something to do!), this
type of fire’s motion should be designed as if it was liquid.
Therefore 3ds max 5’s Reactor dynamics could be put to excellent
use here. As it’s motion is virtually liquid, the fire’s
construction should really be geometry based, unless you are using
a third party fluid dynamics system that can handle the materials
used in this example.
 |
In
a new scene, create a Plane primitive 1000 x 1000 and set the
Length and Width segments to 100. Add a Volume Select Modifier,
set the Stack Selection Level to Vertex and Select By to Sphere.
Enter Gizmo Sub-Object mode and scale the Gizmo to create a
disc of red vertices a few in from the edge. Turn on Soft Selection
and adjust the settings to create a falloff of about 5 vertices
(a setting of about 30 in the Falloff spinner) |
 |
Add
a Displace Modifier. In the Materials Editor, create a new Gradient
Ramp map and set it’s Gradient Type to Radial. Design
the gradient as shown. Drag the Gradient Ramp map to the Map
slot of the Displace Modifier and set the Strength spinner to
50. Add another Displace modifier and set it’s strength
to 200. |
 |
Create
a new Mix map and assign smoke maps to slots 1 & 2. In slot
1’s smoke map, set the Source to Object XYZ, Size to 0.6,
Iterations to 1 and Exponent to 0.2. Set Colour 1 to Black and
add a Smoke map to Colour 2. Set this new smoke map’s
Size to 1.5, Iterations to 1 and Exponent to 0.2. Set Colour
1 to RGB 70,70,70 and Colour 2 to 136,136,136. This displaces
the inner (emitted) part of the fire. Make the size larger if
desired. |
 |
In the
Mix map, copy the Smoke maps into slot 2. In the first smoke
map set the Size to 1 and the Exponent to 0.1. In the Smoke
map in Colour 2, set the Size to 5 and colours 1 and 2 to black
and RGB 195,195,195 respectively. At the top of the Mix map,
add a Gradient Ramp map to the mix slot and amend it’s
Gradient Type to Radial and design the gradient so it resembles
that illustrated. Assign this map structure to the second displacement
modifier’s map slot. |
 |
Add another
Volume Select Modifier to the stack and set the Stack Selection
Level to Vertex. Set the Selection Method to Replace and check
on Invert. Change the Select By Volume to Cylinder. Add a Soft
Selection falloff of about 150. Enter Gizmo Sub-Object mode
and scale the Gizmo as illustrated so the inverted selection
covers the exterior vertices and up and over the sides of the
geometry. |
 |
Add a Noise
Modifier to the stack and check on Fractal. Enter 100 for the
X and Y Strength spinners. Finally, add a mesh Select Modifier
to clear the vertex selection. For rendering more iterations,
increase the multiplier spinner in the Plane’s Render
Multipliers section. This completes our geometry, but the fire’s
material is a different story. The entire completed scene is
included on the cover CD for you to pull it apart. |
 |
Gaseous
fire has a distintive form and varying degrees of colour. It's
fluid motion and yellow-to-red shading can be reproduced effectively
in 3ds max. |
 |
Zip file
to accompany. |
..::tips::..
The
fire material consists of a multi-level material, mixing individual
elements of the fire together. Right at the base level we have the
self-illumination and coloured material which is generated with
multiple Smoke maps which are coloured using Gradient Ramp maps
to colour the smoke the further it is away from the center of our
smoke cloud.
Several
Smoke maps are used to overlay different coloured elements for the
fire effect. In essence, each smoke level forms a different colour
within the overall smoke “puff”. The Fire map is overlaid
using a Shellac material on top of a dark material to keep the high
intensity multiplied illumination but to also add some opacity to
the overall material.
Finally,
the Shellac material is mixed with a transparent material using
a Falloff map to control the transparency. This enables us to easily
amend the overall transparency of the material without having to
adjust every material’s properties. The entire material tree
could be easily condensed into one material, but it is better this
way for illustrative purposes.
With the overall fire material assigned to the geometry, an Omni
light is added to intensify the fire just above (or below depending
on orientation of the geometry) the center of the fire. Finally,
a roof (or floor) plane with a self-illumination gradient is added
and positioned to clip the base of the fire geometry to remove the
outer corners of the fire which have not been displaced.
Initially
published: 3D
World magazine, Issue 32, December 2002.
Copyright
© Pete
Draper, December 2002. Reproduction without permission
prohibited.
www.xenomorphic.co.uk |