Deconstructing The Elements With 3ds Max - Second Edition

Download as pdf or txt
Download as pdf or txt
You are on page 1of 877

Why 3ds max?

Okay, this is a question a lot of you might be asking. Why should I use 3ds rnax above all other products
that are out there? And to be honest. I don't have a reason at all. There are numerous products out
there, each with its pros and cons, prices and deals, license costs, feature sets, stigmas and so on. I
guess the main reason that I use 3ds rnax is due to being brought up on the DOS version, so it was a
natural progression to move onto the (then) new Windows version - 3D Studio MAX 1.0.I have used
the majority of products out there in my time in the industry, but I still keep coming back to 3ds max,
mainly due to my familiarity with its intuitive interface, workflow, architecture, modeling toolkit,
(now) excellent particle system and so on. But that's just my own history. You've obviously got an
interest in the software and are reading this book which says you want to further your knowledge of
the software and want to put time and effort into it. If you do just that, then you'll find that using the
software can be a rewarding experience, especially when you create and animate something that has
never been seen before, only in your mind. It is also billed as the software with the largest registered
install base - 180,000+ a t the time of writing: this will more than likely go up substantially as time
passes. Because of this amount, the knowledge base is huge, which you can find on many of the max-
related support boards, newsgroups. IRC channels and websites available to the rnax community.
none more so than Discreet's own support board http://support.discreet.com which includes users
worldwide, beta testers and Discreet's own developers. It's a great community and I'm proud to be a
member of it.

3ds rnax 6
With the release of 3ds rnax 6 , we have a whole new range of toys to play with, such as Particle Flow
(Discreet's new advanced particle system) and a standalone license of Mental Ray (an advanced ren-
derer from Mental Images). We will use these new features as and when they are required: not putting
ourselves out of the way to utilize the new tools if not necessary. For example, there is little use in
spending an age creating a Mental Ray material and tweaking GI lighting settings, caustics (etc.) if we
can produce a similar result with the standard Scanline renderer. However, if we require a feature that
is not possible with the Scanline renderer or is easier and quicker to produce using Mental Ray, we
shall use that instead. It's all about using the tools available to us. In addition, there are other tools
such as architectural materials and objects, new dynamics in the form of an updated Reactor, scene
management tools, modeling amendments and object type additions. Again, we will use these as and
when required.

Your level of experience


With a product the size of 3ds max, no single publication is going to turn you into a 3ds rnax
guru overnight. The software is huge, and takes time to learn the full extent of its toolkit, so before you
xiv INTRODUCTION

contemplate tackling the tutorials in this book you shouldat least have read the i~xrellei~t ir~arl~lalpro~iiled
17y Disc'reet, and gone through the tutorials bundled with the sojtware. I cannot stress this enough as you
will therefore be able to follow the tutorials in this book without any problem. By going though the
documentation you will gain experience as to where feature 'X' or item 'Y' is located and their basic
operation, so that the main content of this particular publication can be spent teaching you how to
use these elements, either individually or combined to create dramatic effects. rather than how to find
them. access them and use them. If you have not seen the tutorials which ship with the product, or
do not know how to transform (move, rotate or scale) a n object, link one object to another, bind an
object to a Space Warp, open up and access materials and maps, change shaders, hide/unhide/freeze/
unfreeze objects, add modifiers. or copy and paste modifiers, now is the time to put this book down and
work through them as they will tell you everything that you need to know before you read your first
tutorial in this book.

You are only as good as your reference material


Believe it or not, this is the case with almost every medium in the artist's world; be it when working
with oils. ceramics, pixels or polygons. If you are trying to simulate something that exists in the real
world, then you have to source as much reference material as humanly possible to get as much infor-
mation about the thing you are trying to create. The elements are one of the hardest things to create
in CG, especially if they have to be animated (landslides, water, air (smoke) and fire for example). The
main reason behind this is that we see these elements, in some shape and form, every single day. so
any slight discrepancy or flaw in the scene is going to stick out like a sore thumb. In motion graphics
this can ruin the rest of the scene as the main focus of the audience's attention is on the problem clc-
ment and not on the (possibly) more important aspects of the scene, such as the hero objectlcharacter.
So we grab as much reference material as possible and study it until our eyes bleed. Each aspect
of the effect should be scrutinized over and over again until you understand how and why an effect
behaves, reacts or shades the way it does. Using this knowledge we can begin to lay out our scene.
If we have understood the effect correctly. it will be a simple matter of adding one sub-effect (e.g.
shape) on top of another (e.g. animation) on top of another (e.g. additional animation) on top of
another (e.g. further animation) on top of another (e.g. material effects) and so on, until our overall
effect is complete. This way of working runs true for any type of medium in the art world: start off
with the basic features and build up in layers until you have the final result. The format and writing of
this book holds true to this methodology, calling on a large amount of animated and still reference
material on the DVD-ROM that accompanies it. Hopefully by the end of your Grst tutorial you will
begin to see the world slightly differently.

Format
As there are four elements, this book is split into four sections - Earth, Air, Fire and Water, with each
element being broken down further. such as Earth: Frozen Wasteland, Air: Tornado. Fire: Coals, and
Water: Stormy seas for example. Within each tutorial we will analyze each individual effect and
break it down into its core components: how it moves, its color and tone, shape and form and if any
third-party item affects it to enhance or even create the effect. To do this we need to analyze as much
reference material as possible of the element we are trying to simulate to get as realistic an effect
INTRODUCTION xv

as possible: this material is included on the DVD-ROM that accon~paniesthis book, and should be
viewed at given points when following the tutorial (additional reference material may be included but
not called on directly in the text, but should also be viewed if possible to gain a further understand-
ing of the effect). Once the analysis of the effect is complete, we will either start constructing our scene
from scratch, or load in a pre-constructed scene (depending on the scene's complexity and/or
relevance with respect to creating the effect) to add our effect to.

Structure of each tutorial


To keep a form of consistency throughout the book, we are going to adhere to a certain format
throughout. This will take on the form of the following:
Introduction - A summary of what we are going to achieve, what tools we are going to use and what
the final result should look like.
Analysis of effect - A comprehensive breakdown of the effect using some of the reference material
included on the DVD to give us a better understanding of the effect and what tools we have in 3ds max
that can create this effect. Now I have to stress that I am in no way a geologist. oceanographer, clima-
tologist or any other such scientist, so the analysis of the reference material is purely derived from
scrutinizing the images and footage and from reading up on the effect while researching and sourcing
the material. If you are experienced in a specific field and you feel 1 have gone way off the mark in one
of the analysis sections, please let me know by posting a message in this book's support forum which
is listed at the back of the book.
Walkthrough - Starting from either a pre-constructed scene or from a blank canvas, we will gradu-
ally build up our effect, referring to our reference material as necessary as we progress though the
construction process. This process is split up into sections and each section consists of three main
parts: firstly an introduction to the section -explaining what we are going to accomplish, secondly the
detailed process - noting which settings to use, and finally extra information about what parts of the
section does to the overall effect and, if there are limitations, how we can get around them. These parts
are laid out logically, so each screenshot (or part thereof) has instructional and informative text to
accompany it, so you do not get lost. The screenshots show the settings mentioned in action, and any
other information such as gradient design which relies more on illustration than description; this is
mentioned in the text, but the screenshots are there to illustrate and help inform, plus to illustrate
curve settings (etc.) that would be too difficult or confusing to write out. The full screen is used in the
screenshot thumbnail for a good reason -changing one setting in 3ds max can affect other elements
right across the U1. For example, adding an operator to Particle Flow (left-hand side of screenshot) can
drastically change the way a particle system behaves (right-hand side of screenshot). To illustrate this
properly. the full screenshot has to be used. There may well be in some instances that not much else
occurs in the screenshot apart from, say. adding an operator or two. This may make the screenshot
aesthetically boring, but it is still an important step towards the final effect and is included in full, not
only to keep things consistent, but to also include every single piece of information possible. If you feel
like your eyes are straining trying to read the text on a screenshot in this book, worry not as there are
full sized versions on the DVD-ROM.
Taking it further - How successful was the emulation of the effect and what pitfalls should we look
out for when creating and rendering the scene? How can we enhance the effect, either by tweaking or
xvi INTRODUCTION

modifying the scene, using a third-party solution or compositing the effect into another scene or in
pre-shot footage? It also explains and/or gives you suggestions on how to expand on the scene - if
there is a certain effect that occurs after the main effect that has not been covered. here you will find
suggestions and hints on how to create this and what areas to look into.
Note - Because of the nature of tutorial books, there will be some repetition from one chapter to the
next. This is because of the way that they are read. You will more likely jump right into a specific effect
that interests you than to read the book from cover to cover. Therefore some statements will have to be
repeated as you may not have read the previous chapters and therefore will not have gained the
knowledge beforehand.

The DVD
The DVD contains as much reference material that could be sourced for each tutorial, and is struc-
tured so that you can find everything relating to that tutorial within one folder group. Within each
group there are several sub-folders which contain Source- the 3ds max files and maps, plus any other
asset. and Reference folders - material for you to peruse in the ln~agesand M o v i ~ s(if the effcct we are
trying to emulate moves, distorts, etc.) folders to get a better understanding of how the effect works,
so we can emulate it more convincingly. There are several reference files which are not called upon in
the main text in this book, but should also be viewed as these will demonstrate additional circum-
stances where this effect occurs, provide further examples of the effect, or suggest ways of new adap-
tations for you to try. There is also a folder within each main tutorial folder that contains all of the
full-size screenshots used in this book so you can use them instead of having to view the thumbnail
versions if they are too small for you to make out in a specific step. The reference material has been
filmed and photographed by the author where available; each sample has been reduced in quality to
squeeze everything on the DVD - images have been resized and JPEG compressed and animations have
been converted from DV to MPEG video. Other images and footage have been sources from third par-
ties and are used with their permission. To keep things consistent, all images and movies have been
resized to a generic size.

The video tutorials


In addition to the reference material, full-sized screenshots, and resulting 3ds max files, there are
extra tutorials in the form of videos. These are tutorials which were originally going to be in print, but
due to the scale of each tutorial and the limited amount of pages, it soon became clear that we
could not squeeze them all in without compromising on tutorial quality and explanation, which I was
not prepared to do. These video tutorials adhere to the same format as the tutorials in the book. with
the Introduction, Analysis (etc.), but in this case I'm talking you through each step while demon-
strating it all on-screen in the 3ds max interface and calling on the reference material throughout.

Tutorial support
Should you have any problems with the tutorials in this book, a forum has been set up in order for you
to post your question to the author. Please visit www.deconstructingsupport.com
Introduction
In this tutorial we will create, shade and animate a realistic candle flame. Because the flame will
also illuminate the surrounding areas, we will have to add lighting to the scene that ties in with
the animation of the individual flame. Even though we already have the initial candle built, due to
the way the light penetrates the wax, we will have to fake sub-surface scattering - a method to
describe the way external light illuminates a material internally, or else the resulting effect will
not look realistic. Firstly, we will create the flame using simple modeling before using animated
modifier gizmos to generate the animation. The flame's material is relatively complex but
shouldn't take too long to generate; however, the candle's material is slightly more complex
due to the amount of masking and nested gradients needed to generate the desired result.
But before we start designing the material, we must look at the way the flame is displayed
depending on different exposures, because if the exposure is too high then the nice scattering
effect will be lost.
4 FIRE

Analysis of effect
(a)Open up the FirelOl-CandlelReference/Mo\~ieslcandleO3-
exposure-change.mpeg on the DVD. In this clip we notice that as the
exposure decreases, the different colors become more visible and
are not so washed out by the light emitted from the flame. The
flame itself is not just a single color, but a variety, depending on

1
the way the image is captured. At the base of the flame around the
wick where the fuel has not fully ignited, the flame is almost trans-
parent albeit from a slight perpendicular coloration and intensity.
This color quickly diminishes and becomes more orange with a
1 hint of pink and finally turns a bright desaturated yellow or white.
(b) Depending on the exposure, a faint orange Fresnel effect can be
seen around the sides of the flame which converges at the top of
broken orange the flame. With a low exposure, we can see a more prominent red
top of flame
tint around the top of the flame which is more 'noisy' than the rest
fresnel effect on of it - meaning that the flame breaks up around this area. The
tapered side flame's shape is tapered inwards in the middle, yet bulges out
somewhat and can reduce in height when the flame is subjected to
a gust of wind. Due to the flame emitting light, the candle itself is
illuminated from this light. (c)If no other light sources are present
in the scene, the internal scattering of the light from the candle is
more visible and, again depending on the exposure, distinct colors
can be seen quite clearly. The candle is not perfectly-fwmd,
there is wax running down the side, a slight lip, d h r e n c e s in

I
internal bandi .
by changes i
internal wax density and a variety of streaks can *eb
the wax which are illuminated by the flame. To get the most
effective and interesting result, we will attempt to recreate the
.lor
wax density candle at a relatively low exposure, using FirelOl-CandlelReferencel
iange
l d falloR Imageslcandlel2.jpgas our main source of color and intensity
reference, else all of the internal candle detail is lost and washed
out at higher exposures, but at too low exposures the internal
scattering of light in the wax is lost (d).
The trickiest part of the flame is the creation of the trans-
parent part at the base; the rest of the flame's material setup
rn can be handled with standard procedural maps. For the trans-
parent part we are going to have to use a few gradient and falloff
tricks to create the linear increase in opacity the further we go
up the flame, while mixing and changing colors as we go - from
a blue falloff at the base which changes into the orange falloff at
the sides, culminating with the orange cap at the top. The ani-
mation is relatively simple and will be handled with a few ani-
mated Noise modifiers, by simply moving their Gizmos upwards
over time to suggest the flow of fuel up the flame and any slight
wind affecting its motion. The faked sub-surface scattering will
CANDLE 5

l:i handled by mixing different intensities of the same gradient based on normal angle (controlled by
falloff maps), and a translucency map to create the streaks within the Translucency shader we are
using. to generate the basic scattering effect.

Walkthrough
PART ONE: After loading in t h e initial scene, w e will first create t h e flame shape
using simple modeling, a n d set u p t h e required mapping t o handle t h e material w e
will create later on.

Open up the Fire/01~CandlelSource/0l~candle~


..-------------
1
I ~ ~ Z - V ~ ~ ~ O r rD . ~
F + Ur .~ ~ ~- mP r ~ ~ r n m ~ a ~ ~
# ._.E-

start.max file included on the DVD. In the Left -. -


Viewport, create a circle with a radius of about 0.35,
position it just over the candle's wick and label it Flame.
- .-
-
-- - 3 2

Add an Edit Spline modifier t o the stack and move the --.-
-.---.
----
- 7

top most vertex vertically upwards as illustrated. ---


Information:The bas~cscene has the candle already
-
.--.-.-
-- ---
- -
-- -
created for us and a bas~cmater~alalready ass~gnedThe --
--
- -
clrcle 1s golng to be the bass of our flame shape - all we
. . . . . . . . . ._ _._ ._ _. . --.-_.,
e'ppp-p. . ..---.-- --. .- -.
- I
_ _ . I - - - - . - _ ,
need to do IS to sculpt one s~deof the flame and then simply -- -r

lathe ~tto get the general mesh we are looking for. -\

Go t o Segment sub-object mode in the Edit Spline


2 and remove the right-hand side segments of the
deformed circle. Go back t o Vertex sub-object mode
and click on the Refine button. Click on the large
segment on the left-hand side near t o the top of the
segment t o insert another vertex. Add another vertex
half way down the left-hand side of the Spline as
shown.

-
Information: We have to remove the riclht-hand side of ..-.. - - . ......
. . ._- .
. . .r.r-. . --. . . .........._
. . .--..--
. . ._-. ......
the Spline to successfully lathe the Spline later on, else the -,me.--
7
,- -
- - . -....--I
*,

resulting mesh will be distorted and will have overlapping


geometry. Refining the Spline allows us to amend the contours of the shape a little. Simply deleting
the right-hand vertex is not an option in EditIEditable Spline as the segment on the right-hand side
will automatically be joined from the top to the bottom vertex.
6 FIRE

Starting at the middle vertex, and referring t o the


3 candle12.jpg reference image, amend the Bezier
handles of the vertices along the side of the Spline (not
the bottom ones) t o sculpt the side of the flame t o
create the desired shape, as illustrated. Move the middle
vertex inwards slightly t o create the slight indentation in
the side of the flame as shown in the reference image.

Information: It is always advisable to keep referring to


the reference imaqes and footage so that we get the
--- .. ---
. - r
. _"_ ._ . I.. .__. --,
- " . --.)--
- I
,
p
correct shape and, later on, color for the effect that we are
trylng to emulate

Add a Lathe modifier t o the stack and, ensuring


4 the number of segments is set t o 16, enable Weld
Core. If the Spline does not lathe correctly, try
changing the axis (using the Axis buttons at the
bottom of the modifier) or going into sub-object
mode in this modifier and amending the position of
the Axis gizmo. Finally, add a UWV Map modifier t o
the stack and reposition the object in the Top
Viewport so that i t is over the top of the wick.
r
=
~ ~~~ -~
. . ,
-.
. . . .
.._-- . ..-. -c . ,
,
~ ,-.
~

___ -
. ..
_. __ --.--
.., , . ..*.
Information: Lathe problems are common; it all depends
_;

on which Viewport you originally created the Spline, and if


any part of the Spline deviates out of two dimensions. You may also discover that, when viewed in a
shaded Viewport, the faces are flipped. Simply enable Flip Faces in the Lathe modifier to get them
facing the right way around so you cannot see inside the object. The UWV Map modifier has been
added to control the placement of any textures, procedural or otherwise, we assign to the object
later on, otherwise max will not know where to place them correctly. The wick is slightly off-center,
so the flame position needs to be amended slightly.
CANDLE 7

PART TWO: Before w e set up t h e flame's animation, w e w i l l first link lights t o various
positions o n t h e flame so they adhere t o it as it deforms during animation.

In the Top Viewport, create an Omni light and


5 label i t flameOmni01. Set the Multiplier t o 5 and
the color t o RGB 255,225,168. Set the Decay t o lnverse
Square, enable the Decay Show and set the Decay
Start t o about 0.8 (which is roughly double the width
of the flame). Enable Use and Show Far Attenuation
set the start setting t o 0 and the End setting t o 30. Set
the Contrast t o 50. Click on the Exclude button in the
General Parameters rollout and send the Flame object
across t o the right-hand pane in the box that pops up.

Information: We are using lnverse Square decay, which


is as close to the way real light behaves, so the falloff of the light 'emanating' from the flame
appears realistic. The light is relatively low in intensity because we are using lnverse Square decay,
but as we will clone the light several times, this intensity will increase. The Far Attenuation setting is
used to tell the decay where to stop calculating - t o suggest where it has decayed down to 0, or else
it will continue calculating it across the scene to infinity.

With the flameOnmiO1 light still selected, go t o


6 the Motion tab and expand the Assign Controller
rollout. Select the Position Controller and click on the
Assign Controller icon t o bring up the Assign Position
Controller selection floater. Choose Attachment and
click OK t o exit this selection floater. In the resulting
controller's Attachment Parameters rollout, click on
the Pick Object button and choose the Flame object.
Click on the Set Position button and click part way
down the side of the flame (as illustrated) t o attach . .. .
.*.-_.,_- -. . . .+
. . , .. .
"__ - -.-. . -- -
._- '
-I

the light t o this area of the object. Click the Set


Position button again when you are happy with the posiition of the light.

Information: As we are going to animate the flame we want the light to move accordingly, so
that highlights and light intensities appear correct on the objects in our scene. The Attachment
controller allows us to 'weld' a light to a specific face in the Flame object so that when it deforms
and moves, the light follows. The light has been positioned in this area as this is around the point
where the brightest part of the flame is situated.
8 FIRE

----------..-----
. r a, .--,+ 7-s '-,--, Select the Move tool and shift-click the light t o
7
.?- . ~ L C +u.,r==p, e,-.**:.r--3,.. &c=-3"
emT
-;-

,....'
.- .- , .- ._ -:,,
"_
clone it. Select Instance when prompted. Using the
,
. .. --
4
--,

.. .
. ----. Set Position tool on the instance, reposition the new
; , .....

I." j
, .-WT
-- :; light further up and around the side of the Flame
-*
.- :--- object where i t is 'brightest'. Clone the light another
.-

f!
.-
'-
_ ._ .---
._-
,"..-.-:
.-.
couple of times and reposition them as before,
,.
r -
around the base of the flame on opposite sides of the
mesh, so that we have an even distribution of light
over the surface of the object where the flame in the
, - - 7 -
-~ . . .
..-. . .- -- < -. "...
- -, , , . .I * -.- "
reference material is the most intense.

Information: Again, refer to the reference image that we


are working from to determine where the brightest area of the flame is situated, and position the
lights accordingly around the surface of the object so they are evenly positioned (so they won't
create an overly concentrated area of illumination).

.
-"------&----,--.,
raB+U'~-w, r . 0 r c l J 7 2 ~ rl . - = u L k 7 *
Select the Flame object in the Front Viewport and
8
;?- *>-7s

add a Volume Select modifier t o the top of the


stack. Enable Vertex in the Stack Selection Level
section. Enter the Volume Select's Gizmo sub-object
mode and reposition the gizmo vertically so that the
top four rows of vertices are selected, as illustrated.
Enable Soft Selection and set the Pinch t o 1.35.
Increase the Falloff so that the resulting falloff
gradient just falls short of affecting the bottom six or
- -.. . . , so rows of vertices (as illustrated).

Information: We do not need to animate the base of the


flame as this remains pretty much stationary throughout. The animation of the rest of the flame on
the other hand has more influence the further up we progress, therefore the Volume Select's Falloff
is used to control this increase in influence. Volume Select is used and not a Mesh Select as we can
amend the detail of the flame further down the stack if desired as this selection relies on an area
within the selection gizmo, not specified individual or groups of vertices which may be repositioned
or lost if the mesh density is increased or decreased below this selection modifier.
CANDLE 9

Add a Noise modifier t o the stack and set its Scale


9 t o 5.28. Enable Fractal and set the Roughness t o
0.37 and Y strength t o 2. Select the Noise's Gizmo
sub-object, turn on Auto Key, go t o frame 100 and, in
the Left Viewport, reposition the gizmo so that it is
about 25 units left of the flame as illustrated. Turn
off Auto Key and right click the generated keyframe
at frame 0. Select the Flame:X Position keyframe in
the resulting menu and amend the Out curve so it has
a linear attack as shown. Click on the small arrow
t o the right of this curve t o pass the same type of
curve t o the In curve of the next keyframe (frame 100).
/'.-'
Information: Instead of animating the position of the gizmo, we could use the Phase in the Noise
modifier, but this would simply make the flame ripple up and down -we require it to pass over the
flame to create the desired effect. The attack curve was amended or else the noise would speed up
and slow down, which is not right for the flame - it should be linear, so changing the curve to a
linear attack is the correct solution.

PART THREE: With the animation set up, we will now concentrate on creating the
flame's material.

Add another Noise modifier t o the stack. Set the


10 Scale t o 10 and set the X and Y Strength settings
t o 1. Turn on Auto Key, go t o frame 100 and in the Left
or Front Viewport, drag this Noise modifier's Gizmo
150 units vertically upwards. Turn off Auto Key and
amend the new Y Position keyframe curves, as before.

Information:This Noise modifier generates the


impression that there is a slight breeze in the scene and
makes the flame wave from side to side. Used in
. . , . .. , . , -. .- .-:,.;.:-,-
, . ,-.=.-,,..
conjunction with the other Noise modifier, this produces a
1 ~ ~~- ~

-.
/ i
--. - ~-

realistic effect with the flame rising and falling slightly


while moving around somewhat.
10 FIRE

Open the Material Editor and, in the next


available blank slot, label the material Flame
sign it t o the Flame object. Set the Material
. .. . ._ ,- Effects Channel ID t o 1, enable 2-Sided, Self-Illumination
and, in the Extended Parameters rollout, Additive
Transparency.

Information:We are using Additive Transparency so that


any object or material that is situated behind the Flame
..._ , object will appear brighter, such as the opposite side of the
ill . ..-.
. , .
~

., .
-.- ,-.
~ ~

. .- I _/...'* (i
8 flame due to the material being set to 2-Sided. The
Material Effects Channel has been set so that we can
assign a Glow render effect to this material once the image has been rendered. You will notice that
the objects in the screenshot are now illuminated more. As we will want to see some progress in the
Viewport, right-click the Perspective text in the Viewport, select Configure and in the resulting panel,
enable Default Lighting and set to 1 or 2 lights, depending on your preference.

12
Expand the Maps rollout, add a Mix map t o the
Diffuse slot and label i t Flame Side Mixer. Set
the Color 2 swatch t o RGB 220,105,65. Add a Falloff
map t o the Mix Amount slot and label it Side Mix
Control. Amend the Mix curve as illustrated, and set
the Output Amount t o 3. Add a Gradient Ramp t o the
Side slot and label it Side Mix Height Control. Set the
W Angle setting t o 90, remove the middle flag and
add flags at positions 16, 31, 53 and 84 with colors
black, white, white, and RGB 228,228,228 respectfully.
Set the Flag at position 100 t o RGB 117,117,117. Click
on Show Map in Viewport t o see this map in action.

Information:The Mix map will blend together a map we have yet to create, with the orange
color that appears on the perpendicular of the flame. This perpendicular effect is controlled by a
Falloff map, which is in turn controlled by a Gradient Ramp map to fade in and fade out the
perpendicular effect.
CANDLE 11

In the Flame Side Mixer's Color 1 slot, add a


13 Gradient Ramp map and label it Flame Color.
Set the W Angle t o 90, remove the middle flag and
add flags t o positions 16, 30, 68, 77 and 86. Set flags 0
and 16 t o RGB 180,70,5, flags 30 and 68 t o white,
flag 77 t o RGB 250,220,190, flag 86 t o RGB 255,195.96
and flag 100 t o RGB 220,115,50. Click on Show Map in
Viewport t o see this map in action.

Information: These actual colors and positions are based


-- - - .. " .,-
"
on the reference Image that we are worklng on. As we can
see In the Viewport, the gradlent IS deslgned to change
color In the correct places.

Back at the top of the material, add a Mix map


14 t o the Self-Illumination slot and label it Blue
Tint Self Illumination. Set the Color 2 swatch t o RGB
130,110,195 and instance the Flame Side Mixer Mix
map into the Color 1 slot. Add a Falloff map in the
Mix Amount slot and label it Blue Tint Mix Control.
Amend the Mix Curve, as illustrated, and set the
Output Amount t o 3. Add a Gradient Ramp map t o
the Side slot and label it Blue Tint Height Control. Set
the W Angle t o 90, the middle flag t o black and move
it t o position 55. Add a flag at position 77 and set it t o
white. Click on Show Map in Viewport t o see this map in action.

Information: As before, the Falloff map is controlled by a Gradient Ramp map which ensures that
the blue color in the Mix slot is only present at the bottom of the flame. Because of this control the
mix then goes into an instance of the Flame Side Mixer map tree we are using in the Diffuse slot,
which intensifies the diffuse color with its own color.

At the top of the material, add a Mix map in


15 the Opacity slot and label it Flame Opacity.
Instance the Blue Tint Mix Control Falloff map into
this Mix map's Mix Amount slot. In the Flame Opacity
Mix map's Color 1 slot, add a Gradient Ramp map and
label it Flame Overall Opacity Control. Set the
W Angle t o 90, and remove the middle flag from the
gradient. Add a flag at position 7 and set it and the
one at position 100 t o black, and add flags at
positions 18 and 80 and set them t o white. Click on
Show Map in Viewport t o see this map in action.
12 FIRE

Information:This Mix map tree mixes the existing Blue Tint Mix Control, which already defines the
mixing and therefore the opacity of the blue tint at the base of the flame, with a gradient which
controls the way the rest of the flame fades in from the bottom and out from the top. Perform a quick
test render if desired to see the final result of our flame, but bear in mind that we still haven't set up the
wax illumination material yet.

PART FOUR: Next we will amend the existing material that is assigned t o the candle
itself t o make it appear like light is illuminating its interior, using faked sub-surface
scattering.

. .
A - .
-""---...--------
-- ,.,
,%I 2C.+I,., P a Select the Candle material i n the Material
Editor and select the Wax sub-material. With
mination enabled, add a Mix map in the Self-

,- -
.
Illumination slot and label this Wax 51 Falloff Mix. Add
- - , -
-%--
a Mask map t o the Mix's Slot 1 and label i t Orange
Falloff Mask. Add a Gradient Ramp map t o the Map
slot and label it Orange Falloff. Set the W Angle
-- -- - ---- t o -90, the middle flag t o black and move it t o
position 60. Add a flag at position 79 and set it t o
r - ---- - - - -_.- _ _
a
_
. . __
RGB 68,18,3, create a flag at position 95 and set that
and the one at position 100 t o RGB 217.84,O. In the
Orange Falloff Mask map, copy the Orange Falloff map into the Mask slot and rename it
Orange Mask. Remove all flags and create a white one at position 94. Set the one at
position 100 t o white and the one a t position 0 t o RGB 107,107,108. Set the Noise Amount
t o 0.3, Size t o 2.05 and noise type t o Fractal.

Information: A rather large step, we are simply creating a gradient which (after being mixed with
another map) travels down the cylinder mapping of the candle. This is also controlled by the use of a
noisy gradient which generates the streaks within the wax to simulate wax density.

In the Wax 51 Falloff Mix map, add an Output


17 map t o the Color 2 slot and label it Orange
Falloff Mask Intensifier. Set t h e Output Amount t o 2
and instance the Orange Falloff Mask map into the
Output's Map slot. Back u p a t the Wax 51 Falloff Mix
map, add a Falloff map in t h e Mix Amount slot, label
it Edge Intensity Mixer and set the Falloff Type t o
Fresnel.

rn ' - I
-
- --.-- -
-
--.--
-- ..
_ I -_,. .-. 1
Information: As we simply want to increase the color
lntenslty around the perpend~cularof the candle, so that
areas of deta~lbecome more prominent, we can reuse the
exlstlng grad~entwe have set up by using an Output map to add extra lntenslty The Falloff map
s~mplymlxes the normal verslon of the grad~entw ~ t hthe more Intense verslon
CANDLE 13

At the top of the Wax material, add a Mask map


18 t o the Translucency color slot and label it
Translucency Mask. Instance the Orange Mask gradient
into the Mask slot. Add a Gradient Ramp map t o the Map
slot and label i t Translucency Color. Set the W Angle t o
-90. In the gradient, set the middle flag's color t o black
and reposition it t o position 62. Add a flag at position 94
and set t o RGB 58,55,45 and set the flag at position 100
to RGB 166,160,130. Change the Interpolation t o Ease In.

Information: The Translucency color does not have to be


?A .
~ --... _ .
~ ~-
I
_ _ _ _ *.-
'1.-
-- -*..-', ..
-I- .-a. >-

very intense to be effective. This color, which falls off further


down the candle, is also controlled by the same gradient which controls the streaks in the orange
gradient, therefore suggesting that where there denser patches of wax within the candle, the light
does not pass through as easily, which is exactly the case.

PART FIVE: TO finish off the candle's material, we will add a slight glow at the tip of
the wick which is being burned by the flame.

At the top of the Candle MultiISub-Object


19 material, go in the Wick material. As Self-
Illumination is already selected, add a Gradient Ramp
map t o the Self-Illumination slot and label it Wick
Glow. Set the W Angle t o -90. Set the middle flag t o
black and add another flag between this one at
position 100. Set this flag t o RGB 255,40,0 and the one
at position 100 t o RGB 255,255.0. Reposition this
red flag t o position 99 and the black flag t o
position 98.

Information: As the UWV map covers the entire of the


candle object from top to bottom, we want the wick glow to be right at the top of the gradient as it
needs to be right at the top of the wick. A simply self-illuminationwill suffice as it will be mainly
occluded by the flame anyway.
14 FIRE

PART SIX: TO finish off the scene and t o give the flame a hint of intensity, we will
add a slight glow t o the flame material.

Open up the Render Effects panel and add a


20 Lens Effects effect. Add a Glow t o the right-
hand panel in the Lens Effects Parameters rollout and
in the resulting Glow Element rollout, set the Size t o 1,
Intensity t o 50 and Use Source Color t o 100. In the
Options tab, enable Effects ID. Add another Glow t o
the right-hand panel of the Lens Effects Parameters
rollout and in the resulting Glow Element rollout, set
the Size t o 10 and Use Source Color t o 30. Set the
Radial Color on the left t o RGB 140,41,0 and in the
Options tab, enable Effects ID which, as before,
defaults t o 1. Add Image Motion Blurt o the Flame object if desired and render out the
animation.

Information: The final step sees us assigning a two stage glow to the flame -the first creates a
subtle glow around the flame to blur and intensify it somewhat, and the second creates the large
faint glow that surrounds the flame, as illustrated in the reference image. The resulting animation is
a quite convincing recreation, made even more realistic thanks to the lighting and materials.

Taking it further
With the one candle done, it's relatively straightforward to duplicate the flame, lights and candle
numerous times. However, cnsure that the other lights do not illurninate the other flames (ensure that
they are excluded as with the original flame) or else they will be overly illuminated and the self illu-
mination effect we have set up will be lost - see the 01-taken J ~ i t h ~ ~ on
~ i the
~ aDVD
x for an example of
this in action. In addition, you will want to change the Seed of each Noise modifier so that the anima-
tion is not identical; however, if you want the 'wind' to be consistent, leave the second Noise modifier
as it is. so even though the general noise has been made unique for each flame, the subtle motion to
simulate wind is the same.
In addition. if you want to place these candles in silu, then you will have problems with shadows
as none of the lights are shadow casting, because of the limitations of the translucency shader - if
shadow maps are enabled there will be a harsh band where the lranslucency lticlis in. Using Raytraced
shadows will rectify this problem, but the render times will increase dramatically.
Alternatively, enable shadow maps on the existing lights but exclude the candle(s) frorn casting
shadows themselves. However this does pose the problem of any adjacent candles not casting shad-
ows onto nearby objects. A mix of different shadows should resolve the problem.
Try amending the scene so that you can tweak the exposure yourself using 3ds max's own
Exposure feature. so light emitted from the candle affects the wax and surrounding areas accordingly.
Also, try placing the candle in an illuminated scene and amend it so that it worlts correctly with the
lights on or off; see the Wood Fire video tutorial for a n example of this.
i

Match

Introduction
This flame effect is not dissimilar to the Candle we created previously; the main construction of
the flame is very similar, but with a few noticeable differences, mainly because of the way the
flame is generated, and also because of the material that the flame burns. In this tutorial we are
going to 'strike' a match (that has already been modeled out) by using a particle system to create
the ignition of the phosphorous on the end of the matchstick that will quickly 'change' into
geometry to form the flame. We can just use a simple particle system to simulate the ignition of
the match and flame, but the way it is ignited plays a big part in the overall effect. Anyone got
a light?
16 FIRE

Analysis of effect
(a)The initial strike of the match head is situated right at the tip and
of the match tip spreads like a shockwave right across the surface of the phospho-
I rous head, scorching the surface as it passes, leaving behind a
charred and pitted material. The wave itself emits an intensely
vigorous flame which flies out at some velocity and emits a bright
yellow, almost white flame (mostly white around the emission
point), and depending on the level of exposure of the viewing cam-
LI larrea surface era, can occlude any other effect due to its brightness. As this flame
passes and consumes the phosphorous it rises somewhat so that the
1 I Id flame always tries to point vertically upwards. after which the fue
spreads and ignites the wood (which is treated with a petroleum-
based substance) and catches fire as the vigorous flame catches it
flame quickly dies dow to form a and 'calms' the flame down. (b) By this time the phosphorous will
& a s the
calmer wood-based flame have burned away leaving only this gentle flame which will gradu-
matchstick is burnec' A
ally stretch out towards the remaining combustible material (the
wood) and consume it. (c) During this consumption process the
wood is gradually charred and deformed, even though the flame
does not appear to be present in the leading edge of the flame (it is
quite transparent), leaving a slightly glossy yet highly textured
material. As the flame stretches out, the leading edge of the flame.
, which is colored similarly to the candle flame in the fust tutorial.
grows slightly stronger while the trailing end gets weaker (as there
is less combustible material to consume). (d) This results in the
1 flame breaking up, diminishing and eventually extinguishing.
the leading edge
is virtually transparer leaving a trailing glow on the charred wood.
As the initial strike of the match starts at one end and
passes over the tip of the match in a shockwave type effect, we
will have to create this using a selection method to get any par-
ticles we need to emit from the tip and spread over the match in
the correct manner. A simple procedural gradient map will suf-
fice for this, as long as its selection is clipped off so that we get a
steep transition from black to white which will define the thin
wave effect. This gradient has its flags animated, with a few
trailing end dmd
i a glow I additional elements to get the wave effect to travel across the
around tk Id
~ surface of the tip. Using the resulting map in a Volume Select
modifier we can create our selection to emit facing particles

1 which will be generated using one of the 'legacy' particle sys-


tems. Facing particles are used to keep the geometry count
down to speed up rendering times. and also allows us to map on
some gradient-masked procedural textures which will be dis-
played face on to camera. These particles will fade out quite
quickly (with a little randomness thrown in), but will intensify
for a time as they pass over the surface. which will occlude and
MATCH 17

f.7r.n the leading edgc of an animated slice passing over the flame geometry. This geometry will be
generated by a simple lathe, as in the Candle tutorial, but deformed a little lengthways and with a
couple of extra modifiers: one to construct the flame (the slice) and another to add an extra leading
edge opacity once the initial mass of particles has passed. Because of the flame spreading over the
match, we can also use a n animated UVW Map modifier to mix the existing material with a charcoal
effect. The tip of the match can also make use of an anlended version of the same material to create
a glowing pitted effect.

Walkthrough
PART ONE: First we will load in the basic scene and set up any Space Warps required
to drive the particle system.

Load i n the Fire/02~MatchlSource/02~rnatch~start


1 max file included o n the DVD-ROM. In the Top
Viewport, create a Wind Space Warp and set the
Strength t o 0.5.

Information: Our initial scene consists of a couple of


pieces of geometry that make up the matchstick and tip, plus
a single camera. The tip and matchstick have some basic
materials assigned to them that we will change later on, so
thev are charred when the match is 'struck'. The Wind S~ace
Warp has been ~ntroducedto force the lgnltlon part~cles
--.
.- --.-
"
..- . - - - .- --..-
-- . - .
.,L

upwards so they cover the construction of the flame

PART TWO: Next we will generate the map t o control the selection which drives the
particle emission and assign this t o the tip of the match.

2 Assign a UVW Map modifier t o the Match Tip


object in the scene and set its Mapping t o
Cylindrical. Add a Volume Select modifier t o the stack
and set its Stack Selection Level t o Face and Select By
to Texture Map. Open u p the Material Editor and add
a Gradient Ramp map t o a blank slot. Label this map
Ignition Generator and instance it into the Volume
Select's Texture Map slot.

Information: Once we have modified the qradient - a , Lr, :' .,.&. - .. -- . .*;,.:-,-,-
. . . ..- - m - -....
little, it will generate a sub-object selection that we can use i- - --...-. - -- --. -; .. * ... 4. ~ t

to emit particles. We can use the UVW Map modifier to


animate the position of the gradient as it sweeps over the surface of the Match Tip object.
18 FIRE

Turn o f f U and V Tiling, set the gradient's W Angle


,.
,.. .WT

.
. 3
..%..,.- ..
--. .---
setting t o 90,the Noise Amount t o 0.5and Size t o
5 and enable Fractal as the Noise type. Reposition the
..
' -
flag at position 50 t o position 81 and set i t t o black.
Add flags t o positions 84 and 94 and set them t o
white, add one t o position 96 and set it and the one
a t position 100 t o black also. Go t o frame 20,enable
Auto Key and animate t h e keys at positions 81,84,94
and 96 t o the other end o f t h e gradient, as illustrated.
. .
~
.
- -
. ___ . . "
. :-- -- , --.*::-:-
..-...- ..,-- 7 . - I
-- . . .
,:,.-.-,
?
Turn off Auto Key. Instance this map into a material,
create a Box and assign this material t o it. Move the
keys a t frames 0 and 20 forward 20 frames so they are at frames 20 and 40 respectfully.
Delete t h e box as it is n o longer needed.

Information: By creating a block in the gradient and animating it from one side to the next, we
have created a shockwave effect which 'reaches out'; i.e. it does not just travel across the surface of
an object, it appears to spread and grow. As we are going to animate the position of the UWV Map
modifier's Gizmo we do not want the gradient to be repeated, therefore tiling is turned off. Even
though we have the gradient assigned to the Volume Select modifier, it does not show up in the
object's keyframe information in the Time Bar. Therefore, adding it to a material and assigning it to a
temporary object allows us to view the keyframes and shift them forward 20 frames as we need
them to sit there for a while before moving to get the initial burst of ignition flame.

Set the Volume Select's Selection Type t o Crossing.


4
Go t o the UWV Map modifier's Gizmo sub-object,
scale it down horizontally t o about 70% o f i t s
original size and offset i t t o the right o f the geometry
in the Top Viewport so that it intersects the geometry
by about U3 o n 113 off. Go t o frame 30 and turn o n
Auto Key and reposition the gizmo so that i t is half-
off the left-hand side o f t h e geometry as illustrated.
Turn o f f Auto Key. Right click the resulting keyframes
at frame 0 and select the Z Position keyframe. Amend
the Out curve so that it has a gradual output curve
(ease from), and amend the one at frame 30 so that it has a steep attack curve (accelerate
to), as illustrated.

Information: We have amended the Volume Select's selection type so that more polygons can be
selected. The UWV Map gizmo was scaled so that it did not stretch out the selection. The gizmo
was also offset at the beginning and end of the animation to ensure that no polygons were selected,
and therefore no particles emitted by accident. The motion of the gizmo was amended by changing
the curve information of the position keyframes to get the gizmo to speed up and come to an
MATCH 19

abrupt stop, therefore delaying around the strike point and then 'rushing' over the surface of the
tip. Note that the screenshot illustrates the same tip at two different times - frames 0 and 30; the
screenshots have simply been merged together in Photoshop.

PART THREE: W i t h t h e selection complete w e w i l l n o w generate and animate t h e


shape o f t h e flame.

In the Front Viewport, create a spline over the tip of


5 the match that represents one side of an outline of a
flame about the same height as illustrated. Label it
Flame and add a Lathe modifier and a U W V Map
modifier. Scale up the object horizontally t o about 170%
of its original size and add another UWV Map modifier.
Set its Map Channel t o 2 and scale its sub-object gizmo
down vertically so that it is about 113 of its original
height. Reposition this gizmo so that it is covering the
bottom of the flame as illustrated. Copy this modifier,
set the copy's Map Channel t o 3 and offset it t o the left
of the geometry so that it half-intersects it.

Information: The construction of the flame's geometry is not dissimilar from that of the Candle's,
so if you get stuck please refer to that tutorial's flame construction. However the mapping of this
flame is more complex as we need to occlude part of the leading edge of the flame so that it is more
transparent, therefore we need an additional U W Map modifier (#3)to achieve this.

6 Add a Slice modifier and set the Slice Type t o


Remove Bottom. Rotate the gizmo by 90 degrees in
the Z axis and move it t o the right of the flame. Go t o
frame 30 and turn on Auto Key. Animate the position
--..------------
.- P.ri~ rUD+b.1=3Lp_ <lo'*r,-----,
re.. .
-
,
-
,I-BsaG--.'-
,-.or
"L-~-~-

::
- -
.-9.-

-.-.
.-..
-.
:
.....-.- .
0 -

.--.-
of the Slice modifier's gizmo from the right-hand side ,-. ,

of the flame t o the left so that it reveals or 'draws out'


the flame geometry. Turn off Auto Key and reposition
the keyframes at frame 0 t o frame 25. Go t o frame 100
and turn Auto Key back on. Reposition the Flame
object so that its center is t o the left of the Match Tip ,. ,. .,.. I ,2..*.--.--,.-
..,..,.,..
. , ,,--. .- . . . . .:L ? -.*--* ,.."
,..-. --.'...,..-. -7-. - ,
object as illustrated. Turn off Auto Key, amend the
resulting X Position keyframe's Out curve at frame 0 t o an Ease From curve and amend the In curve
at frame 100 t o a linear attack. Reposition the keyframes at frame 0 t o frame 30.

Information: We have amended the position of the keyframes so that they start animating at the
correct times; the Slice modifier is animated while the sub-object selection is being made over the
Match Tip object, which therefore will emit particles (when we have introduced them later on)
occluding the slice and therefore giving the impression that the particles are forming the flame. The
motion of the flame is to simply get it to start spreading down the Matchstick object, to give the
impression that the fire is spreading and is looking for more material to burn.

Add a Volume Select modifier. Set the Stack


7 Selection Level t o Vertex and, in the Front
Viewport, reposition i t s gizmo vertically so that the
top vertex and the top most ring of vertices are
selected. Enable Use Soft Selection and amend i t s
Falloff setting so that the selection influence ceases
just above the base of the flame as illustrated.
Information: To finish off the animation of the Flame
geometry, we need to deform it somewhat, but also need
to keep the base of the object virtually unaffected, else the
entire effect will be ruined. Using Soft Selection enables us
to influence the top most part of the fl; Ime but hardly any, if at all, around the base of the flame so
any deformations we add on top of the modifier stack will hardly influence the area where the
Flame and Matchstick objects meet.

Turn off the Slice modifier and add a Noise


8 modifier t o the top of the Flame's modifier stack.
Set the Scale t o 20, enable Fractal and set i t s
Roughness t o 0.5 and Y Strength t o 3. Go t o frame 30,
enable Auto Key and set the Roughness t o 1 and Y
Strength t o 10. Go t o frame 40 and set the Roughness
back t o 0.5 and the Y Strength t o 3. Move the
keyframes at frame 0 t o frame 25. With Auto Key still
enabled, go t o frame 100 and reposition the gizmo
about 100 units t o the right of the Flame object. Turn
off Auto Key, right-click the resulting keyframe at
frame 0 and set the X Position k e g'rame's Out curve t o a linear attack, click on the arrow
next t o the curve t o pass this curve information t o the keyframe at frame 100's In curve.
Turn the Slice modifier back on.

Information:The Slice modifier was disabled for the duration of this step so that we could see
exactly what was going on in our scene and made the construction process easier. We now have a
two-stage animation on the Flame object; the exaggerated Noise modifier which simulates the
vigorous flame when the match is ignited (generated by the animated Roughness and Strength
settings), and also the gently waving of the flame after ignition (generated by the animated gizmo).
MATCH 21

P A R T FOUR: W i t h t h e flame geometry complete w e will use t h e selection o n t h e match


tip t o generate t h e particles so t h a t they occlude t h e leading edge o f t h e flame.

9 Object button, select the Match Tip object and


enable Use Selected SubObjects. Set the Viewport
Display t o Mesh and the Use Rate t o 300. Set the
Speed t o 1.5 with 20 Variation. Set the Life t o 3 with
2 Variation, Size t o 2 with 25 Variation and set Grow
For t o 3 and Fade For t o 2. Set the Particle Type t o
Facing. Set the Rotation and Collision's Spin time t o
10 with 50 Variation. Enable Auto Key and go t o
frame 30. Set the Speed t o 0 and turn off Auto Key. ! - ,- . .- : -.. ,",.... -- -,-
a
,L..>.-.-.-..-...--
...- ...-.
-m,-,..

Move the resulting keyframe at frame 0 t o frame 25.


Right-click the object, select Properties in the resulting menu and turn off Cast and Receive
Shadows. Bind the Wind Space Warp t o the particle system.

Information: Even though the particle system is active during the initial frames of the animation,
no particles are being emitted, as there is no sub-object selection made on the emitter object. Here
we have created a fast moving vigorous particle system that rises after its birth, completely occluding
any construction. We have simply added some randomness to the motion (which also slows down
as the 'phosphorous' is used up) which adds a little more realism to the particles. The burning
phosphorous spreads over the surface of the tip of the match, as does our particle system thanks to
the Gradient Ramp map driving the sub-object selection. The resulting particles grow as they are
ejected and rise up after being caught by the Wind Space Warp, generating a realistic effect. As we
will be setting up shadow casting lights later on, we do not want this particle system (which
represents fire) to cast or receive shadows.

PART FIVE: TO correspond w i t h t h e animation o f t h e flame a n d particle system, w e


will create a n d animate t h e scene's materials.

Select the Match Tip object in the Material


10 Editor and click on the Standard button. Select
a Blend material and select Keep Old Material as Sub-
Material when prompted. Go into the material in
Material Slot 2 and label i t Charred. Set the shader t o
Oren-Nayar-Blinn, the Diffuse color t o black and
enable Self-Illumination. Set the Specular Level t o 6
and Glossiness t o 12. Add a Falloff map t o the Self-
Illumination slot and label it Edge Glow. Set the Side
color t o RGB 255,71,0 and set the Falloff Type t o
Fresnel. Expand the Output rollout and set the Output
Amount t o 2.
22 FIRE

Information: By simply changing the material type we can automatically assign this new material to
the object($ in the scene. We do not see any change to the material in the sample swatches in the
Material Editor, as we have not amended the new Blend material's Mix Amount to add the Charred
material to the blend. This material has been set so that we have a slight rim glow effect which will give
the impression that the surface is still exceptionally hot, even though the phosphorous will have been
burned off already, as the flame is interacting with it causing it to glow. This glow is intensified by
increasing the Falloff map's Output amount.

11 A t the t o p of the Charred material, set the


Bump amount t o 200, add a Noise map t o the
Bump slot, label it Charred Bump and set the Size t o
0.2. Go back t o the t o p o f t h e material, go t o frame
30 and enable Auto Key. Set the Blend material's Mix
Amount t o 100 and turn off Auto Key. Select the
Match Tip, right-click the keyframe at frame 0 and
select the Mix Amount keyframe. Amend this
keyframe's Time setting t o 20 t o offset i t t o frame 20.
v -'I
- . -
--.-- .-. - _ -_ - * - -
1
I
Information: By anlmatlng the Blend material's MIX
Amount we can blend the two materials together over tlme,
therefore charrlng the tlp of the match Thls effect may not be seen due to the amount of particles
belng em~tted,but the end result will be worthwhile as even though we may not be able to see the
trans~tlon,we need to change the material, wh~chwe have therefore achleved

, , .. -
12
,. - -
Select the Matchstick object in the scene and
select its material (the Wood-Ash material in
slot 2). Click o n the Standard button as before, select
a Blend material and select Keep Old Material as
Sub-Material when prompted. Instance t h e Charred
material from the Match Tip material into the
Material 2 slot in this new material. Add a Gradient
Ramp map t o the Mask slot o f the new Blend material
and label it Matchstick Charring Control. Set the Map
, .
Channel t o 2, turn o f f U and V tiling, reposition the
flag at position 50 t o position 5 and set i t t o black,
add a flag a t position 10 and set i t t o white and set the Noise Amount setting t o 0.04. Add
a UVW Map modifier t o the Matchstick object, set its Map Channel t o 2 and Alignment t o Y.
Information: As we have already got the Charred material set up we can save time by re-using it,
by simply instancing it into the Material 2 slot in this new Blend material. We are using a gradient to
control the blending between the two materials as we need to gradually scorch the wood of the
Matchstick as the flame progresses down its length; tiling has been turned off again to prevent
accidental use of the Charred material and so that it only appears in the white areas of the gradient.
MATCH 23

Select this modifier's Gizmo sub-object and


13 scale it vertically t o about 1000% in the Front
Viewport. Reposition the Gizmo t o the right o f t h e
Matchstick, go t o frame 33 and animate it so that it
just intersects the Matchstick and the gradient has
some influence. Go t o frame 100 and animate it
further down the length o f the Matchstick, so that it
follows the Flame object. Turn o f f Auto Key and
reposition the key at frame 0 t o frame 30. Amend the
In and Out curves o f t h e resulting X Position keyframe ! z
- -- ~- ~
- 1 ' . . . .. ..-. .
.. . . . .- - ___
c;."
.
. . .- -.. .2-.4
!. -----,,.*
.- ..- -r -1 r

at frame 30 t o ease in and ease o u t respectfully, and


set the In curve o f the keyframe at frame 100 t o a steep attack.
Information: The gradient is controlled using an additional UWV Map modifier which does not need
to be present on the material (else we would have initial charring on the match). Therefore the charring
effect is introduced to the material quickly as the flame is being constructed and then gradually moves
down the Matchstick as it follows the Flame geometry (due to the flame burning the wood). We have
amended the keyframe information again so that the scorching effect does not travel linearly down the
flame, but gradually speeds up because the wood needs to burn right through before the flame
searches for more fuel.

Label a new material Flame and assign it t o the - .,


14
%?.--:
.-.,.,*or
Flame object in the scene. Set the Material 7 ., . ;
, . . -.. .
,:: . : ,
Effects Channel ID t o 1, enable 2-Sided, Self- * .-
Illumination and, in the Extended Parameters rollout, -..--- 3

---- ..-
Additive Transparency. ------
--
--
Information: We are using a 2-sided material with --.-
.-- ,

Additive Transparency so that the material will appear


brighter. The Material Effects Channel has been set so that
we can assign a Glow to this material once the image has
. . , . .-.:::.,;*. .-.. !.-..--.,..
been rendered. Note that the construction of this flame I="
I ! -. --! ,. ., -. . -
..... - -..-. -
,-- -
- .-. -
.
-
-r ,. --.
material bears a similar resemblance to the Candle flame
material; the majority of the text here is almost identical as there is no point in me re-wording
something. However additional comments have been added (or removed) where items are more
relevant or are different. As with the other flame-based tutorials in this book, Additive Transparency
works best in low light scenes. In scenes with higher background illumination, the material will
become whited out due to being overlaid on top of additional illuminated objects. To get around
this problem, try increasing the output of the Self-illumination Map instead of using Additive
Transparency.
24 FIRE

Expand the Maps rollout, add a Mix map t o the


15 Diffuse slot and label i t Flame Side Mixer. Set
the Color 2 swatch t o RGB 220,105,65. Add a Falloff
Map t o the Mix Amount slot and label it Side Mix
Control. Amend the Mix curve as illustrated, and set
the Output Amount t o 3. Add a Gradient Ramp t o the
Side slot and label it Side Mix Height Control. Set the
W Angle setting t o 90, remove the middle flag and
add flags at positions 16, 31, and 77 with colors black,
white, and RGB 174,174,174 respectively. Set the Flag
at position 100 t o black. Click on Show Map in
Viewport t o see this map in action.

Information: The Mix map will blend together a map we have yet to create with the orange color
that appears on the perpendicular of the flame. This perpendicular effect is controlled by a Falloff map,
which is in turn controlled by a Gradient Ramp map to fade in and fade out the perpendicular effect.

In the Flame Side Mixer's Color 1 slot, add a


16 Gradient Ramp map and label it Flame Color. Set
the W Angle t o 90, remove the middle flag and add
flags t o positions 16,30, 50, 60 and 71. Set flags 0 and 16
t o RGB 180,70,5, flags 30 and 50 t o white, flag 60 t o RGB
255,195,95, flags 71 and 100 t o RGB 220,82,31. Click on
Show Map in Viewport t o see this map in action.

Information: These actual colors and positions are based


on reference images that we are working on. As we can
see in the Viewport, the gradient is designed to change
color in the correct places.

Back at the top of the material, add a Mix map


t o the Self-Illumination slot and label it Blue Tint
mination. Set the Color 2 swatch t o RGB
195 and instance the Flame Side Mixer Mix map
into the Color 1 slot. Add a Falloff map in the Mix
slot and label it Blue Tint Mix Control. Amend
Curve as illustrated and set the Output Amount
t o 3. Add a Gradient Ramp map t o the Side slot and
label it Blue Tint Height Control. Set the W Angle t o 90,
. the middle flag t o black and move it t o position 55. Add
a flag at position 77 and set it and the flag at position
100 t o RGB 146,146,146. Click on Show Map in Viewport t o see this map in action.

Information: As before, the Falloff map is controlled by a Gradient Ramp map which ensures that
the blue color in the mix slot is only present at the bottom of the flame. Because of this control, the
MATCH 25

mix then goes into an instance of the Flame Side Mixer map tree we are using in the Diffuse slot,
which intensifies the diffuse color with its own color.

At the top of the material, add a Mix map in the


18
zcy

Opacity slot and label it Flame Opacity. In its


Color 2 slot, add a Mix map and label i t Flame Height
-. -__
.WT
#

-. ...." -
--
Opacity Control. Instance the Blue Tint Mix Control map .--

into the Flame Opacity map's Mix Amount slot. In the


-
--
----
Flame Height Opacity Control map's Color 1 slot, add a
---
----
Mask map and label it Flame Bottom Opacity. Add a --- -
Gradient Ramp map t o the Mask slot and label it Flame
Bottom Opacity Radial. Set the Map Channel t o 2 and
turn off U and V tiling. Add a flag t o position 14 and - . -"
--..-,
move the one at position 50 t o position 71. Set flags at
positions 0 and 14 to white, the one at position 71 t o RGB 136,136,136 and the one at position
100 to black. Set the Gradient Type t o Radial and enable Invert in the Output rollout. Add a
Gradient Ramp map t o the Flame Bottom Opacity map's Map slot and label it Flame Height
Falloff Control. Set i t s W Angle setting t o 90 and set the Interpolation t o Ease In. Relocate the
flag at position 50 t o position 88, add flags at positions 3, 21 and 58. Set the flags at positions 3,
88 and 100 t o black and the ones at positions 21 and 58 t o white.

Information: Thrs MIX map tree mlxes the exrstlng Blue Tlnt MIX Control, whlch already deflnes
the mlxlng and therefore the opaclty of the blue tlnt at the base of the flame, w ~ t ha Mask map
whlch controls the rad~alopaclty of the base of the flame Th~srad~almasklng has to be ~ntroduced
else the flame would not be transparent at ~tsbase We have turned off tlllng for thls rad~algrad~ent
so that ~tIS not repeated over the flame, and we have des~gnedthe grad~entas such so that ~thas to
be inverted, so there are no vrslble edges where the edge of the grad~entmap exlsts

Copy the Flame Bottom Opacity Radial map t o


19 the Flame Opacity map's Mix Amount slot and
label it Leading Edge Opacity. Amend its Map Channel
setting t o 3. Reposition the flag at position 14 t o
position 33, the one at position 71 t o position 92 and
set this flag t o black.

Information: Again, as we have already got the majority


of the settings already set up for this gradient in another
map, we can simply clone and amend it to create the new
map. This new map uses Map Channel 3 which is r .. .. -.; - :-s.:,.
positioned half-off the base of the flame, therefore making
its leading edge transparent, which gets more opaque the further we progress Into the flame, thanks
to the radial gradient.
Label a new material lgnition Flame and assign
20
i t t o the PArray system in the scene. Set its
Material Effects Channel ID t o 1 and enable Face Map.
Set the Self-Illumination t o 100 and enable Additive
transparency. Add a Particle Age map t o the Diffuse
slot and set Color 1 t o white, Color 2 t o RGB
255,195.95and Color 3 t o RGB 220,80,330.Set the
position of Color 2 t o 10.Add a Mask map t o the
Opacity slot of this material and add a Particle Age
map t o i t s Mask slot. Swap Colors 1 and 3 and set
Color 1 t o RGB 130,130,130and Color 2 t o RGB
65,65,65.Add a Gradient map t o the Mask's Map slot and set it t o Radial. Set the Noise t o
0.7,Size t o 5 and enable Turbulence.
Information: We have used the Material Effect Channel ID, as before, to assign a post effect to
the particle system so we can get it to glow a little to suggest intensity. As we are using Facing
particles, we are using Face Mapping to apply the radial gradient to the particles. The colors and
opacities of the particles are amended over their lifespan (which is not all that long) so they quickly
change color and become transparent before fading. We have used a noisy gradient purely to break
up any visible radial gradients in the particle system when it is rendered. Note the use of Additive
Transparency, as mentioned previously.

PART SIX: Finally, we will illuminate the flame matchstick (and surrounding
environment) by creating and placing fill lights before adding a subtle glow to
the flame.

-..----------,---
*^ i. ,"~i\r U R .U,S-?P '.(.*Pr,,-m:. ,4*m*;qe
-.., .. -.-
T..
..
~ ~ . .
21
Create an Omni light in the Front Viewport
and position i t just t o the right of the Match
~ .;
__:

. Tip so it is almost touching it. Label this light Ignition


.- - . . Omni01. Enable Shadow Map, set i t s Multiplier t o 0
A
...- -3

--
. . ..--
....
.- -
,-
and Color t o RGB 255,220,194.Click on the Exclude
- -. .- .- button and set the Flame geometry so i t does not
. .-- receive illumination or shadows from this light. Set
-

..... ..
" -.-
.....- .. ...,
.
the Decay Type t o Inverse Square, Start t o 1 and
.. -
... ....- enable Show. Enable Use and Show Far Attenuation
'
i ~ --~... --- ..,
I . ! I . .--. - -
.'. .--. .
.. I.- . . . ,;
.-...-. ..is".
.
.,.,-. - , . ...., and set i t s Start t o 5 and End t o 200.Expand the
.
~
.

Advanced Effects rollout and set the Contrast t o 50.


Go t o frame 20,enable Auto Key and set the Multiplier t o 20 and Decay Start t o 5.Turn off
Auto Key and reposition the resulting keyframe(s) at frame 0 t o the frame at which the
particles begin emitting (frame 4 in this scene). Copy the keyframe at frame 20 t o frame 30
and the one at the emission frame t o frame 35.Instance this light four times and position
the instances around the tip of the match as illustrated. Animate the position of the original
lgnition Omni light so that it moves outwards from the particle emission frame t o frame 20.
MATCH 27

Information: These lights have an exceptionally high Multiplier setting due to the type of Decay that
is being used. We are using Inverse Square Decay to get a nice intensity falloff down the side of the
match, and are using Far Attenuation to tell the Decay where the value of 0 is, else it will keep being
calculated to infinity which takes up additional render time. Positioning the lights around the tip (as
illustrated) illuminates all sides of the match, and allows us to have an intense glow at the point of the
particle emission which then spreads outwards; amending the light's position emphasizes the particle
distribution by illuminating the tip accordingly. We have cloned the keyframes to get the intensity to
dwell for a period and then fade away back to its original setting of 0.

>=-.-Z~T-~GG~Z-%T~~T~~~~~~-- -+.
22 Copy the Ignition OmniO5 light and rename i t ~,-Ez,:-----~
, ner
-- - u s -
Flame Omni01. Remove all keyframes from this - - -.* -"
new Omni light, set the Decay Start t o 5, enable Auto -- -4

Key and, at frame 40, set the Mutliplier t o 10. Turn off -.."
-
*&
>
-
4

Auto Key and reposition the resulting keyframe at - *-.".- .- -


_%,_

..;: 1;.*L$syq'
9
frame 0 t o frame 30. Go t o the Motion tab and select
the light's Position controller. Click on the Assign *+
;. 1
, --j:7*--
,-I

&*-
L4-

Controller button and assign an Attachment ,--


1W - I ,
4

controller. Go t o frame 100 so that the flame is not ii


being deformed, click on the Attachment controller's - , .I-
- - . -. -
. -. - . --.--.
-
,_.
Pick Object button and select the Flame object. Click
on the Set Position button and choose a point in the top half of the flame. Turn off Set
Position. Instance this light another three times, position one instance slightly lower down
on the opposite side of the flame and position the other t w o on opposite sides of the flame
so that they are close t o the sides of the Matchstick as illustrated.

Information: We have used the Attachment controller so that as the geometry deforms, the lights
adhere to the surface, creating a flickering effect. The lights are also positioned at strategic places
so that they represent illumination from the flame where it is brightest - in the middle to top part of
the flame. The illumination from these lights do not affect the rest of the geometry in the scene,
because their Multiplier settings have been animated so that they only illuminate the scene once the
Flame geometry is present in the scene.

23 Open the Effects panel and add a Lens Effects


effect. In the resulting Lens Effects Parameters
rollout, add a Glow element. In the Glow Element
rollout, set the Size t o 1, Intensity t o 50 and Use
Source Color t o 100. Go t o the Options tab and enable
Effects ID. Add another Glow element and in i t s Glow
Element rollout set i t s Size t o 10, set Use Source Color
to 30 and set the first Radial color t o RGB 140,41,0. Go
to the Options tab and enable Effects ID. Finally, select
the Flame object and enable Object Motion Blur in i t s
properties. Render off the animation.
28 FIRE

Information: As we have assigned a Material Effects ID of 1 to both our particle system and Flame
geometry, they both have the Glow assigned to them which complements the effect. We have used
a reduced Use Source Color for the second glow as we need to tint the environment a little more
orange, or else the effect would be too intense. However, if you are simulating a longer exposure
shot then increase this setting and the glow intensities accordingly. We have added an Object
Motion Blur to the scene so that the Flame geometry blends together with the particles nicely and to
remove any visible edges. It also makes the flame appear more vigorous. We have used Object
Motion Blur instead of lmage Motion Blur because the facing particles occlude the majority of the
Flame geometry, so the lmage Motion Blur post effect cannot see it properly. As Object Motion Blur
is generated at render time we can blur the flame nicely without compromising on render times (as
it is only one object). If you have the CPU power, try enabling Object Motion Blur on the particle
system as well, for added effect.

Taking it further
At the end of the day this basic construction gives quite a nice effect, yet it isn't without its limitations.
The Slice modifier used to generate the transition from particles to geometry has to be completely
occluded, else the effect is lost because the rear side of the sliced geometry (which will show a gaping
hole) is visible.
You might try reducing the exposure of the scene by reducing the Multiplier settings for the Omni
lights that are illuminating the flame, and also reduce the intensity of the particle materials. You may
also want to increase the length of the animation for the initial match strike, therefore slowing down
time and showing the initial strike, and the spread of the ignited phosphorous, in more detail.
Currently, the initial strike is quite effective, but the way the flame moves over the wood isn't.
since the flame geometry simply passes over its surface and appears to scorch the wood as it travels. By
observing the reference material we can see that the flame stretches out and 'reaches' for the com-
bustible material. This causes two things: firstly that the flame becomes longer and more intense, and
secondly that as the flame intensifies it burns up more material, therefore reducing the flame and
breaking up its shape. This causes parts of the flame (normally the trailing end) to become detached
from the main 'body' and, as there is no more wood left to burn, the flame dies out. This could be sim-
ulated by using FFL) modifiers to sculpt the flame and also careful use of Slice modifiers to create the
gap in the flame. The sides of these flames could then be capped and smoothed out using a Relax
modifier to remove any harsh edges.
Additionally, depending on the conditions of the environment, you may want to extinguish
and/or intensify the flame more, or even increase the amount of 'wind' subjected to the effect by
intensifying the animated Noise modifier used in the Flame geometry.
Gas hob

Introduction
In this tutorial we are going to add a realistic gas flame to an existing scene, and use it to
illuminate the surroundings. To do this, we will have to model the flame (similar to what we did in
previous tutorials in this book) in two separate stages - one for the outer flame and one for the
inner cone of unburned gas, which is prominent in this effect. Next, we will distribute this flame
around one of the gas hobs in the existing scene. We will use particles to animate the positioning
of the flame as the hob ignites and offset any animation we give to them. We will next generate
an irregular motion to make the flames 'dance' a little, before adding illumination to the scene
and an additional post effect or two to blur the flames together and to give the effect a little
more intensity.
30 FIRE

Analysis of effect
(a) From the reference material on the DVD-ROM, we can see
how the flame is ignited. Firstly, the gas passes through an inter-
nal jet and is then forced out through the small gaps in the sides
of the metal disc. The igniter is situated at the top of the hob, so
once it ignites at this location, the resulting flame spreads
around the sides of the hob igniting the escaping gas. As the gas
has been turned on for some time before it ignites, the resulting
ignition from all around the sides of the hob is of a larger flame
than normal as all of the released gas is ignited. Due to the small
amount of light being emitted from the flames, we get two dif-
ferent effects depending on the amount of light we allow into
osures, or In addltlonally II the camera's lens (exposure). (b) A smaller exposure will result
,..., .s, the blue flame does not in the blue flame being almost invisible (hence your old science
a r t8+nseh teacher always telling you to put your Bunsen Burners on yel-
p:+mB --1 low flame when you're not using them), but at a larger exposure
we can clearly see the flame's colors and the illumination of the
surrounding hobs. (c) The external flame is a dark blue that
fades internally and externally, and changes to a slight purple
the further we progress up the flame. The internal cone of the
flame is actually the gas that has not been ignited. This brighter
'cone' also has a fading effect but is a little more opaque than
the external part of the flame. This type of flame effect is best
suited for scenes that have little or no light. (d) As viewed in the
reference material, in illuminated scenes we can hardly see the
flame, let alone any illumination from it.
Starting out with a scene that is based on the reference
material. we can use simple geometry to design our flame - two
basic lathed splines to form the outer and inner areas of the
? flame
- --posure: flame. We are using two separate pieces of geometry and not
merging them both into one object as we have to animate them

A- - being constructed to simulate the flame igniting. To do this we


will just animate a Slice modifier on the two objects, which
leaves the geometry open. To close it, we can just add a Cap

3
light from the blue flames, at higher Holes modifier, in which lies the reason for keeping the geome-
exposures, illuminates the surroundinc try separate - the Cap Holes may inadvertently cap one piece of
environment
geometry to the other, which would result in a mesh that would
look like it had gone through a grinder once we had refined it
I using Meshsmooth. To distribute the flame geometry around
the gas hob we can use a particle flow system which will emit
particles from the 'ignition point' at the top of the hob. Each
copy of the geometry's animation will be keyed off when the
particle is born, with a bit of scale variation. After which, we
will feed the particles into a looping event to randomize their
GAS HOB 31

:,.clle every few frames. The materials will be colors which will be point-sampled from the reference
material and assigned as a gradient going up the flame geometry, which will be handled by a
(deformed)UVW map assigned to the source geometry.

Walkthrough
PART ONE: First o f all w e w i l l load in t h e basic scene, create t h e building blocks t o
drive t h e animation a n d generate t h e initial shape o f t h e flame.

Open up the Firel03-Gas-HoblSource/03gas5hobb


1 startmax on the DVD-ROM. In the Front Viewport,
create a Circle shape with a radius of about 7 and
label it Flame Outer Cone. Clone this shape and label
it Flame Inner Cone. Add an Edit Spline modifier t o
both shapes and, in Segment Sub-object mode,
remove the right-hand side of the circles. Go into
Vertex sub-object mode and amend the position of
the top vertex as illustrated for both shapes.

Information: A lengthy step to start off with, but


relatively basic. Here we have designed the two main parts
of the flame - the inner and outer cones. As we are going to lathe the shapes, we do not need their
opposing sides else we will get overlapping geometry.

2 Add a Lathe modifier t o both flame shapes and set


the number of Segments t o 8. Select both objects
and add a Slice modifier. Rotate the Slice's gizmo if
necessary so that it slices the flame horizontally, and
Enable Remove Top (or Remove Bottom, depending
on the direction you have rotated). Reposition the
Slice's gizmo so that it is below both flames (therefore
removing them). Turn on Auto Key and go t o frame 5.
Reposition the Slice's gizmo so that it is a little above
the flames, therefore redrawing them out. Turn off
Auto Key.
Information: We are working with a low amount of Segments in our lathes as we can refine them
later on. The Slice modifier was introduced to animate the flame's ignition when the gas is ignited
on the hob. Using the Slice leaves a gaping hole in the top of our two flame meshes. Therefore...
32 FIRE

With both flame meshes still selected, add a Cap


3 Holes modifier. Deselect the Flame Inner Cone
object so we have only got the Flame Outer Cone
selected, go t o frame 5 if you're not there already,
and add a UWV Map modifier.

Information: The Cap Holes modifier will simply close


the hole in our mesh automatically, while the UWV Map
modifier adds mapping to the mesh so that we can add a
gradient later on to our flame. We have added our
"--.--"--
' . .
. :---: *
- mapping this far down the stack so that tt can be
deformed by any other modifiers we decide to add
afterwards If the mapping was added on top of everything, it would not be deformed and the mesh
would appear to pass underneath the texture that uses this mapping

. -. .-
---..------------ . - , . e. Select both flames and add a Volume Select
4
"- -7- rnn A
,
. , .*A,.,,

modifier. Set the Stack Selection Level t o Vertex


and reposition i t s gizmo so that i t s bottom boundary
intersects between the 2nd and 3rd rows of vertices in
the outer flame, as illustrated. Enable Soft Selection
and amend the Falloff so that the selection's influence
travels all the way down the flame, but does not
affect the bottom couple of rows of vertices of either
flame.
----
.---.. - . -:.--.- I -
Information: We have added this modtfter so we can
;

antmate the top of the flame, wh~lekeeping the posttlon of


the base of the flame stat~c(agaln, check the reference material for examples of this)

With both flames still selected, add an Xform


5
modifier t o their modifier stacks. Go t o frame 5,
enable Auto Key and, in the Top Viewport scale out
the Xform modifier's gizmo a little horizontally and
more so vertically, therefore scaling the flames, as
illustrated. Turn off Auto Key. Click on the Open Mini
Curve Editor button underneath the Timebar and
scroll down until you get t o the Modified Object
controller menu. Expand this and expand the
resulting Xform modifier in this list. Select this
modifier's keys at frame 0 and shift-drag them t o
frame 10 t o clone them. Click on the Close button t o close this editor.
G A S HOB 33

Information: Here we have animated the scale of the added Xform modifier's gizmo to give the
impression that the gas fire billows out a little when it is ignited. We have cloned the keys so that the
flame returns to its normal shape afterwards. We could also have cloned the keys in the timebar by
shift-dragging them, but this would have resulted in existing keys at frame 0 (e.g. the Slice modifier's
Gizmo position) to be cloned also. We could always delete the duplicated Slice key if desired, so you
may wish to clone the keys this way instead of having to navigate through the curve editor. I'm using
Isolation mode at the moment just to hide unwanted objects temporarily. As the modifier is instanced,
cloning a key on one will do the same on the other.

With both flames still selected add a Mesh Select


6 modifier t o clear the Sub-object selection. Add a
Meshsmooth modifier and set the number of
Iterations t o 2. Turn this modifier off temporarily
while we construct the rest of the scene. With both
flames still selected, in the Front Viewport add a Bend
modifier t o the top of the stacks. Set the Angle t o 120
and adjust the Bend Axis as necessary t o get the
meshes t o bend t o the right of this Viewport. Go into
this modifier's Center Sub-object mode and reposition
the Center so that it is situated around the middle of
the bottom of the flame, as illustrated.

Information: If we did not clear the sub-object selection, any additional modifiers would only
affect the selected vertices of the meshes. We do not need the Meshsmooth on at the moment, but
it is good to have it present at this stage so that we can easily flip it on later on. The Bend's center
was relocated so that the majority of the Bend's influence is apparent at the top of the flame,
getting it to curve.

PART TWO: Next we will animate a basic mesh t o distribute the particles around
our hob.

Select the Flame Emitter object in the scene. Add a


7 Volume Select modifier t o its modifier stack and
set the Stack Selection Level t o Face. Check on Invert
in the Selection Method section and set the Selection
Type t o Crossing. Select the Volume Select's Gizmo
sub-object and reposition i t down slightly in the Top
Viewport so that the top most piece of geometry is
selected. Go t o frame 10 and enable Auto Key. Move
the gizmo down in the Top Viewport, so that the top
of the Gizmo's bounding area is beneath the
geometry, as illustrated. Turn off Auto Key.
34 FIRE

Information: We have started with one of the polygons in this ring selected with the Volume Select
so that the particles begin emitting immediately. If this is not what you want, you could offset the
animation slightlyso there is a delay before ignition. We are animating the selection around this object
as this is how the flame ignition starts when the gas is ignited (again, see the reference material).

PART THREE: W i t h t h e source geometry complete, next w e will design t h e material


t h a t is t o b e assigned t o each part o f t h e flame.

Open up the Material Editor and label a new


8material Flame Outer. Set the Material Effects
Channel ID t o 1 and enable 2-Sided and Self-
Illumination. Set the Diffuse color t o RGB 35,37,116,
expand the Extended Parameters rollout, set the
Falloff t o Out, Amt t o 100 and enable Additive
transparency. Add a Gradient Ramp map t o the
Self-Illumination slot and label it Flame Outer 51. Set
-1r_.-- ,.-
-- .__-
.. .- '
L

-- --. $
3
i the W Angle t o 90 and the colors of flags 50 and 100
t o RGB 35,37,116. Reposition the flag at position 50 t o
position 38 and set the flag at position 0 t o RGB
97,37,116. Set the Noise amount t o .1 and Size t o 5 and enable Fractal.

Information: Here we have set up the basic properties of the outer flame. As the visible strength
of the flame color diminishes the further we progress to the outer edge of the flame, we have
simulated this by adding Falloff in the Extended Parameters rollout. As we need the flame to be
intense, we are using additive transparency which will add the brightness of one material onto
another when rendered (see the Taking it further section); we have also made the material two sided
so this additive brightness is applied to itself as vr~ell.The colors and positions of the flags in the
gradient were derived fromsampling colors from the reference material and noting down their
approximate positions in relation to the rest of the flame. We have added a little noise just to break
up the pattern of the linear gradient a little.

At the top of the material, add a Mix map t o the


9 Opacity slot and label it Flame Outer Opacity. Add a
Gradient Ramp map t o the Mix slot and label it Flame
Outer Opacity Control. Set the W Angle setting t o 90.
Set the flag at position 50 t o white and move it t o
position 41. Add a flag t o position 3 and set it t o black.
Add a Falloff map t o the Color 2 slot of the Flame
Outer Opacity map and label it Flame Outer Inner
Falloff. Amend the Mix Curve t o that illustrated.
Expand the Output rollout, set the Output amount t o 2.
G A S HOB 35

Information: As we need the inner area of the outer flame to be slightly transparent to allow the
inner flame to be visible through it, we need to add a Falloff map to control this. However, we also
need the strength of this to diminish the further up the flame we progress; therefore the Gradient
Ramp map controls the blending of the black color in the Mix map with the colors in the Falloff
map; the end result is the strong blue color at the base of the flame, going to the more transparent
purple tinted flame at the top, just like in the reference material.

Label a new material Flame Inner. Turn o n


10 2-Sides and Self Illumination. Set the Diffuse
and Self-Illumination color t o RGB 70.1 12,225.
Increase the Advanced Transparency Falloff Amt t o
100 and set the Type t o Additive. Add a Falloff map t o
the Opacity slot, label i t Flame Inner Opacity and
swap the black and white colors around.

Information: Here we have developed the basic material


for the inner flame. We have a two stage falloff assigned to
this material -the main one which fades out the center of
the material (in the Extended Parameters rollout), and the
additional one added in the Opacity slot to fade out the out edges of the object. Additive
transparency is used for the same reasons as before.

I PART FOUR: W e w i l l n o w design t h e particle system w h i c h w i l l u t i l i z e t h e elements


I
we have created t o distribute t h e f l a m e geometry.

I
In the Top Viewport, create a Particle Flow -- .
-..--------..-----
11
1-i ~ ~ D c * .r ~~. *P' - . l . , l i . w i , - s ) l i R "
L_ 0 a.9

w
system and label i t Gas Flame. Set the Viewport li

- --
I .r-

Quantity Multiplier t o 100 t o see all of the particles in


I --
9 7

the Viewport. Click o n the Particle View button or


.-.
--
press 6 t o open Particle View. Rename the Event 01
event t o Flame Outer. In the Birth operator, set the --
Emit Stop t o 10 and Amount t o 32. Remove the
Position Icon, Speed and Shape operators. Select the
P
Rotation operator and set the Orientation Matrix t o
- - .. ..
Speed Space Follow w i t h Y and Z settings set t o -90. ,.7
. . . .-.
.------
,-*- ,*---.-
. -.. .. _
_- _ - -.___.._.,
.-
.
. -8 .-
I
I Information: Here we have created the basics of our
particle system. We have removed the majority of the operators from the initial system as they are
not required; the initial ones control the particles based on the system's icon for birth and speed. We
I want to use ex~stinggeometry to control the birth positions. There are 32 particles born as this is
36 FIRE

how many faces exist in our animated emitter. The Rotation operator has been amended to get the
particles (our flame geometry which will be set up shortly) to face the correct way. If you have
created your flame geometry a different way, you may need to amend these settings slightly to get
them to point in the right direction (out from the sides of the emitter and bending upwards).

-- Add a Shape Instance operator and click o n t h e


Particle Geometry Object's None button and
I-; ". select the Flame Outer Cone object. Set the Scale

.- -- operator and add the Flame Emitter

. -.,- Shape and Subframe Sampling. Change t h e Location


--
--7.

.-I
<.
t o Selected Faces, enable Separation and set t h e
.- .-----
-.-.
, .....
. .
-,..
---.----
. . . . . . .
-- --.
,-. --. ,._ ..- r - .,:.
-.. . + . ,.
Distance t o 20. Add a Speed By Surface operator, set
the Speed t o 0.01 and add the Flame Emitter t o the
Surface Geometry list. Move the Rotation operator below the Speed By Surface operator
and change the Display operator t o show geometry.

Information: As both the emitter and the particle type's source geometry is animated, we have
had to enable Animated Shape in both. Subframe Sampling has had to be enabled in the Position
Object operator to correctly distribute the particles. The Separation has been enabled to force the
particle to be born away from other ones, therefore forcing them to fill out the available faces that
are gradually being made available to the particle system due to the animated emitter. The Rotation
operator has been relocated so that the Speed Space Follow orientation works correctly, and the
Speed By Surface Speed set to a low amount so that this information is passed on to the Rotation
operator so the particles (flames) can be properly aligned. The speed is low enough not to have any
visible effect on the animation.

PART FIVE: With the particles now born, we need to be able to amend their scale
slightly over the duration of the animation to get them to twitch a little.

Add an Age test t o the event, set the Test


13 Value t o 10 and Variation t o 0.Drag out a Scale
operator t o the canvas t o create a new event and
label this event Flame Outer Scaler. Wire the output
of the Flame Outer event's Age test t o t h e input o f
this new event. Uncheck the Scale operator's Scale
Variation Constrain Proportions, set the X Scale
Variation t o 10 and Y Scale Variation t o 5. Add an Age
test t o this event and set the Test Value and Variation
t o 3. Drag out a Send Out test t o the canvas t o create
G A S HOB 37

a new event, label this event Flame Outer Bypass, wire the Age test in the Flame Outer Scaler
event t o this event, and the output of the Send Out test t o the input of the Flame Outer Scaler,
to form a loop. Set all of the Display operators t o show geometry t o see the system in action.

Information: This event loop generates a random scale each time a particle is passed through the
event, making it slightly bigger or smaller than the last time. We have had to add the Bypass event in
as the particle system will not allow us to wire the output of the event directly to the input of the
same event.

PART SIX: With one system set up, we need t o duplicate the majority of it so we can

i generate the inner flame cones.

Select the Flame Outer, Flame Outer Scaler and


14 Flame Outer Bypass events, copy and Paste
lnstanced them. Rename the copies Flame Inner,
Flame lnner Scaler and Flame lnner Bypass. Ensure the
wiring is still intact; if i t is not then re-wire the new
events as i n the original events. Wire the output of
the Gas Flame event t o the input o f the Flame lnner
event. Make the Flame Inner's Shape Instance
operator unique and change the Particle Geometry
Object t o the Flame lnner Cone object.

Information: As we have got two objects we want to


distribute over the surface of the hob, we need to split the particle system into two separate sections
-one to handle the birth and deformation of the outer flame and one for the inner flame. As a lot
of the parameters can be shared, we can use instanced operators and even clone the majority of the
event(s) for the other particle type. We could pass both emitter events to the same scaling event, but
as we now need to assign materials to the system and as we are using multiple materials in one
system, we need to assign the desired material operators to the correct event, else we would cause
both particle types to have the same material, which is not desired.

Add a Material Static operator t o the Flame


15 Outer event. Copy it, and Paste lnstanced it
into the t o p of the Flame Outer Scaler and the Flame
Outer Bypass events. Add a Material Static operator t o
the Flame lnner event. Copy it, and Paste lnstanced i t
into the t o p of the Flame lnner Scaler and the Flame
lnner Bypass events. Open the Material Editor and
instance the Flame Outer material t o the slot in one
of the Flame Outer sets' Material Static operators.
Instance the Flame lnner material t o the slot i n one o f
the Flame Inner sets' Material Static operators. Select and right click the Gas Flame event
and select Properties. Turn o f f Cast and Receive Shadows for this particle system.

Information: We have used instanced operators here, as before, to cut down on the amount of
repetition in the particle system. Even though the Bypass events only hold onto the particles for a
brief time, it is still long enough for them to be affected and to lose their material, so a copy of the
material operator needs to be present here also. We do not want our flames to cast or receive
shadows so we disable them in the root of the particle system.

PART SEVEN: Finally, w e will design a n d distribute O m n i lights t o suggest t h a t t h e


flames a r e i l l u m i n a t i n g o u r scene b e f o r e a d d i n g a render effect t o a d d some extra
g l o w to t h e scene.

Create an Omni light in the Top Viewport


where the first flame will be emitted, and in
the Left or Front Viewport position it so t h a t it is in
- - the center of the flame. Enable shadows, set t h e
- -- Multiplier t o 0 and the color t o RGB 70,112,225. Click
o n the Exclude button and add all of the Particle
.- System's events t o the right-hand list, so they are not
ated by the lights. Change the Decay Type t o
lnverse Square, enable Show decay and set the Start
n l
.r
.
1.
I
.- .
"- -"-- - -. - - _-...-
. . t o 0. Enable Use and Show Far Attenuation and set
the Start t o 0 and the End t o 500. In the Shadow Map
Params rollout, set the Bias t o 0.01 and the Sample Range t o 20. Go t o frame 5 and enable
Auto Key. Set the Multiplier t o 10, lnverse Square Start and Far Attenuation Start t o 13.
Go t o frame 10 and set the lnverse Square Start and Far Attenuation Start t o 8. Turn off
Auto Key.
Information: Here we have simply positioned and animated the intensity and falloff of an Omni
light to simulate the illumination from a single flame. We have used lnverse Square Decay as it is the
best one that illustrates the true decay of light over distance. We have animated the size of the Start
settings to suggest the size of the initial flame. The Far Attenuation's End setting is set at 500 to tell
the decay where a setting of 0 will occur. Because of the way lnverse Square calculations are
performed, the value will never reach zero and will continue on to infinity, which takes a little
processing power. With the End setting we can tell the decay where to stop calculating, therefore
saving resources. The Shadow map's Bias setting has been reduced to bring the shadows as close to
the objects as possible, and the Sample Range increased to blur the shadows a little more. The
particle events are excluded from receiving any lighting from these lights, as this will intensify them
too much.
G A S HOB 39

Using the Hob Lid as the rotational


..*------------
,.. e ~ - 3 1 ... .
17
!P* J
'I +u.r-71a A,., 2r----.-... ,,--a

transformation axis, position another 31 copies


(not instances) of the light around the hob at intervals
of 11.25 degrees so that each one is centered in the
middle of a flame. Working from top t o bottom in the
Top Viewport, select all of the keyframes of each
individual light and offset them so that i t s animation
kicks off when the relevant flame particle is born.

Information: This is a painstaking task and no other way


(apart from distributing the lights using scripted operators
n .
.. .
h::.,~. .
.
. .- .. . ...-. ,- . .- ... ~. .* . . . ..- .,,-
..--,--.--
' a
- ..- .
.
-, , *
.r. -.
-;-..7
> ,
...,

in the particle system) to do it, but it is worthwhile at the


end of the day, because the illumination from the light(s)complements the flame's color and
intensity. To cut the workload down a bit, I used instanced lights across on the other side of the hob,
so I only needed to offset the animation of one side of the hob's lights as they have virtually the
same timing on the opposite side.

Open up the Effects panel and add a Lens


-..--.-----------
18 Effect effect t o i t s Effects list. In the resulting
Lens Effects Parameters rollout, add a Glow t o the
right-hand list. In the Glow Element rollout, set the - ._?
--7. i
--:
I
Size t o 0.1, Intensity t o 60 and Use Source Color t o -. I

100. In the Options tab, enable Effects ID (which


already defaults t o a value of 1). Finally enable the .-,-, - ,
Meshsmooth modifiers in the particle's source
geometry, hide these objects and the Flame Emitter
..' - ..-
- ./
-
:
. I
I

objects and render off the animation. . . . .. . .


.-. *
,
, :;-..- - m - - . ,,
! .. -. -5 - >>.....

Information: The final step sees us adding a subtle glow


to each flame which is being controlled by the Material Effects ID we set earlier on. The resulting
animation gives us a convincing effect, not only because of the animation of the flame, but because
of the animation of the lighting. You may also want to add some Image Motion Blur to the particles
to get them to smear together a little. You may find that this scene renders quite slowly. To speed it
up a little, try reducing the Shadow Map's Size to 256 for each light. Also, try reducing the amount
of Raytrace bounces in the scene (currently defaulting to 9, which is too high for just a simple
reflection - a setting of 3 will suffice). As the Material Effects IDSare reflected in Raytraced maps or
materials, the glow can also be seen in the Raytraced reflections in the scene.
Taking it further
The end result, especially with the introduction of the irregular motion to the flamc, makes the scene
very convincing. However, there are one or two things that could be done to improve the scene some-
what. Firstly, try remodeling the scene-currently it's only a hob unit: try expanding the work surface.
add tiling. a n extractor and so on. All of these elements make the scene more realistic, even though
they may not be visible in the shot, as they will be visible as reflections in the objects that are in shot.
Try adding a pan to the hob so that the flames start to heat its contents. If you have a gas stove.
place a pan on the hob and observe how the flame bends and licks around the surface of the pan. 'lb
create this, you may have to rethink the flame construction method. such as using Rlobmesh to
generate the flame shape and multiple particles to create an individual flame so that they could be
displaced by a surface (base of pan). Also, have a look at the wood-based fire tutorial on the DVD-ROM
for a suitable solution.
If you have a look at the footage on the DVD-ROM, you will notice that there is the occasional flick
of yellow color. This is caused by either the flamc not being able to burn oxygen at that time (remem-
ber your science lessons at school), or due to some debris being present in the gas jet that is quickly
burned up. Either way. including this effect into our flame system would be advisable. To produce this.
add the effect as part of a n animated material. You could then offset the animation at random so it
occurs on all flames but only on occasion and at random.
You may also want to change the lighting conditions in the basic scene so that it is illuminated
from spot lights from the 'ceiling'. In which case you will need to amend the lla~nematerial a little and
also the distributed lighting so that it is not overly intense. This intensity is due to the Additive
Transparency used in the Material setup which will white-out the effect if used in a scene with addi-
tional scene lighting. Therefore, try using increased output settings in the Self-illuminated material
instead. For an example of this, please view the wood-based fire video tutorial on the DVD-ROM.
42 FIRE

Analysis of effect
(a) These specific fires have certain characteristics, namely a
large mass of fire which is small in comparison to the huge plume
of smoke that is emitted from the burning material. Bear in mind
for this particular tutorial we are going to be basing the analysis
on small-scale footage and images; the final result (and where
you would see it in real life should you ever have the misfortune)
is based on very large scale industrial accidents. In the ref-
erence material, we can see that even though the fire does lick up
L .*;
Ithe intensity of the fire can illuminate
surroundina areas for some distance I from the surface, it does not billow as much as, say, a gaseous fire.
(b) Viewed from a distance, the intensity of this fire will merge
into one large glowing mass, especially when viewed with a
higher exposure (i.e. above 1:125 s shutter speed), however the
resulting smoke plume will be more visible. As the fire licks and
shoots up the smoke stack, some of the smoke still contains fire as I
I
it begins to billow and fold over on itself. (c)The smoke is also illu- I
minated from the fire as well as from surrounding light (i.e. the
sun and any bounced light) and appears solid due to the sheer
mass of the material being consumed. This can result in slight
highlights being picked out on the smoke as it folds over, giving an
effect not dissimilar from a volcanic ash cloud. (d) From the initial
it and aodeaG as a mass of combustion of the fire, we have a transition from fireball (con-
densed fire when viewed with a high exposure) through to dense
fiery ash and smoke, which quickly diminishes and just lhrms a
black plume which rises from the source in the wind and does not
dissipate very much.
As mentioned in the Introduction section, we have no
dedicated smoke or fire generation system built into 3ds max
(something like Afterburn for example), so we will have lo create
geometry, then shade and texture it so that it looks like a puff of
3epending
fire, f l a m e s - - ~ ~ - ~ d ~ e ~
smoke stack

1due to theldensity of the smoke, a


I smoke or fire. To do this, we can create a template object using
scattered spheres over a larger sphere to generate a basic shape of
what the puff should look like. We can then use this object in a
Blobmesh object to smooth out the surface of the scattered object
and create one solid mesh. This object can then be used in a long
be s&n around the and thin particle system (to simulate the fire having already spread
lar when illuminated fd out) which has a low speed and slight divergence, just to get the
hting in the environ~
particles on their way and to create a little bit of random motion.
I The main motion of the particles will be handled by a Wind Space
Warp which will have a slight amount of turbulence to add a little
more random motion to the puffs of smoke, and will also spin them

;r: more or less in the direction of travel (again to add a little random-

I #is lighting effect would be


flrominent if there was more f~re,
and thgrofnro a doncor PI#-
ness to the effect) which will therefore create a billowing effect.
Next, we will illuminate the scene using a lighting rig to simulate
.alu!l e PUIM a y l u! ly6ne3 6u1aq41 se Alle3!le~~a punoJe
ahow s a l q e d a y l ley1 os a3ualnqJnl alll!l e pappe aney
a m '0 01 a3unog a y l 6 u ! ~ a a
s xay ' a q ~ n a
s y l j.~olay)o>!J
O l l ! lUeM I O U Op aM 'ayOUJS S! I!
Sv :UO!~eWJO$Ul
'1.001a3ualnqJnl pup 10.0 01y l 6 u a J I ~a y l las
'SpJeMdn 6upe4 pue $ l / 6 ! ~ay$o) ~ u ! $ u ! So! $! ~ leylos
a s ! ~ y > o sp a a ~ 6 a pSL I! aleloJ ' u o d ~ a j !u~o ~ aj y l
u l ' ~ J P M a e d s p u ! e~a l e a ~ 3' u o d ~ a d! o~1 a y l ul
2
.sqs!JapeJey> s,ayows a y l ah!Jp 01 sawe~jAay
$as ue3 am os saweJj 40 lunowe a y l paseaJ3uI aAey
a M '2! 6uole laheJ1 l l ! l ~
n q 'pun0~6ayi yleauaq ssed IOU
1 1 1 a3uanlju1
~ s , d ~ ea ~~ d JOs paads u! uo!le!JeA hue t u o ~ j
paA!Jap uo!low yeJJa ue ahey ley1 alea~3aM s a l y ~ e d
Aue ley1 os Jol3aljaa e palean ahey a M :uo!gerurojul
-sawey OOP 01y16ual uo!lew!uv a y l las pue uounq
u o ! j e w ! u v held a y l y3!13-146!~q u n 00 1 hes 'alll!l
P J J O ~ M ~V ! / a\ l ay$ U! UMOp I ! d o ~ a'0O$ a3UnOg
~
sl! 1.35 pue 0002 x O O O Ala$ew!xo~dde d ~ e ~
a3eds ~ o p a l j a aa6Jel e a l e a n 'IJO~M~!A d o 1 a y l ul 1
.urarll p q a q
w o ~8u!ulon
j a m a21orus pul? a-lg arTl J! sr? smadde I! os '-lapuaJ ayl jo do1 uo y x q a%r!m!pnno~8yseq
ayl u! sasnoy puno.18a.10~arll iZ~?[~ar\o pur! lsod oap!i\ olu! dwn! II!M am 'iZ11~u!d 'pays!u!~~!pSIX[
MO@ I(-la!l ayi -lalje u! I! apr!j 111" qn!qm a812 al"!3.n?d Jaylout? Aq pallo-lluoJ aq ~I!Mql8ua.u~dmng aq,T,
mqos . l ~ a d dI! ~8u!yem ayoms aql uo 13ajja u r ! ~~ y % !T?~alt?a-l~
s ol 'uo!lvu!wn[lI jlaS arll pur?~0103asnjj!fl
aql aApp I[!M l ~ ? qsdem
l a%va13!].1ed ald!llnur jo 1s!suo3 II!M le!.ialem s ! y ~.a%r?s'aln!l-led ayl uo paseq
10103 a%ueq3~I!M lt?ql I R ! J ~ ~ C L UF alr!.~atraLif PUR 6 j u ~ ~ ~Bu!puno~ans
u ~ ~ ! ~aq) ~ m~ oa~ uo!luu!utlt,i:
j
44 FIRE

PART TWO: Next w e w i l l add i n a background image, a n d position a camera


accordingly so they match up.

Open up the Environment window and click on


the Environment Map's slot. Add a Bitmap map t o
this slot and load in the oil-background.jpg image
that can be found in this tutorial's folder on the
- I--
DVD-ROM. Open up the Material Editor and drag this
map t o an empty slot in the Material Editor. Go t o the
-- I Views menu and select Viewport Background. In the
resulting panel that pops up, select Use Environment
Background and enable Display Background. Click OK
i' -.. - --.
-.--
" - -. * - .- -.,.-
- I
.. t o exit this window.

Information: We have loaded in the background image


so that we have got something to render out our smoke and fire onto. Even though the map has
been loaded into the Environment Map's slot, amending the map is more difficult than normal
because you have to load in a new Bitmap map to set new settings every time. Therefore if we drop
this map into the Material Editor we can amend it later on, if desired, without having to completely
reset any tiling, mapping, Output settings and so on that we may have already set up.

-..-----
... * -,*-------
+* . >,------: . . , , - e r r p c T , In the Top Viewport, create a Camera along the
4
i r3, ,--iY ,.nC,,

middle of the scene and drag up t o create its


Target. In the Left Viewport, select the Camera and
reposition i t across t o the right in this Viewport (so i t
is forward in the scene at approximate co-ordinates of
0, -1 110, 30 with its Target at co-ordinates -6,745,
400). Set the camera's Lens size t o 35 mm. The Camera
Viewport should be referred t o at all times t o ensure
that the ground level is positioned correctly with
' . - - - ..
. . - ..
...- . .- respect t o the background image.
.~
.-
.
V . . ' ,
- -
. ? ,. .
.;, ,
~~

C .-
Information: We have repositioned the camera so that it
represents the position at which the image was taken -out of a third floor attic window, looking up
slightly (hence the target being repositioned higher than the camera) and showing a lot of sky so we
can render off the smoke onto a large blank sky canvas.
OIL F I R E 45

PART THREE: Before w e create t h e particle system w e will create t h e particle shape
using c o m p o u n d geometry.

In the Top Viewport, create a Geosphere primitive


5 and set its Radius t o 25. In the same Viewport,
create another Geosphere and label it Smoke Puff
Template. Set its Radius t o 5 w i t h 2 Segments and
enable Base t o Pivot.

Information: Our smoke, as illustrated in the reference


material and in the Analysis section, needs to be quite
detailed, so we need to create a particle which has as much
detail as is necessary. To do this we will create the basic
I
! shape using a number of small scattered spheres over a
-=-
.
r
. . . ~
, . . .
tar
---
.. --.-. -....- . , -. --.
-
-7 :~-
7~ -
. . . * :,,.: . . ...--.--
~.
:.
. ; ~ -.,.~
%,

larger sphere, and then use the result to create a Blobmesh


I object to be used as our smoke puff. Base to Pivot is used so that the small detailed spheres are
sitting on top of the larger sphere and are not intersected half-way through the geometry.

With the small Geosphere still selected, create a


6 Scatter Compound Object. Click o n the Pick
Distribution Object and select the large Geosphere.
Set the Duplicates between 30 and 50 and expand the
Transforms rollout. Set the X and Y Rotation t o 90 and
the Z t o 360. Enable Use Maximum Range and Lock
Aspect Ratio i n the Scaling section and set the
X Scaling t o 75. Hide the original large Geosphere as
it is no longer needed.

Information: Here we have taken a single small sphere


--- .
... .... .
".. _ _ -.
.._>'
-7 -- .-_.._.,
.. 1
'

and distributed it numerous times (at random) over the


surface of a larger sphere. Because of the Base to Pivot option in the source geometry, the smaller
spheres are not intersecting with the larger sphere because their pivot point has been relocated.
However, we do want some to intersect a little, so the Rotation values are amended to get them to
rotate in all axes at random. We have also added a scale variance so that the spheres are distributed
with different sizes. Should you feel the shape is too uniform, try upping the amount of spheres a
little or select the Distribution object in the Objects list and add a Noise modifier, or some other
deformation based modifier, above the Geosphere's modifier.
46 FIRE

Add a Blobmesh object t o the scene and ensure the


7 size is set t o 8. Set the Render and Viewport
Evaluation Coarseness t o 6 and add the Smoke Puff
Template object t o i t s Blob Objects list. Add a UVW
Map modifier t o its modifier stack and set the Mapping
type t o Shrink Wrap. Go t o the Heirarchy tab, click on
Affect Pivot only and click in Center t o Object.
Information: Using this object on the Scatter Compound
object blends all of the spheres together to form one large,
C . . ~ _ _. . . , . , . .. . - . ..
r --. . !
. . - : : err, blob. Depending on the positioning of some of the
spheres you may notice a few small holes in the Blobmesh
where it has not closed them properly. To get around this, try entering a new seed for the Scatter's
distribution, or amend the rotation values slightly. We are using Shrink Wrap mapping to lock the
procedural texture to the object, else it will float. Depending on the speed of your machine, you may
want to increase the coarseness setting to about 10 to reduce rendering times. The Blobmesh pivot
point has been centred as it was located where the object was originally created, and the particle
system takes this point as the particle center.

PART FOUR: Next w e will position and design t h e particle system t h a t will make
use o f t h e Space Warps w e have already placed i n the scene.

In the Top Viewport create a long thin Particle


8 Flow system, roughly behind the houses at
co-ordinates -1 20,750,20 (depending o n your scene
setup) approximately 100 long by 800 wide. Set the
Viewport Quantity Multiplier t o 10 and set the Render
Integration Step t o Frame. Open Particle View and set
the Birth operator's Emit Start t o -300 and Emit Stop
t o 400 w i t h Amount set t o 2500. Select the Speed
operator and set the Speed t o 20. Enable Reverse and
set the Divergence t o 2.5.
Information: We have created the particle system so that
it is quite long and thin to simulate an area where the fire has spread. The Birth operator's Start time
was set back to frame -300 giving the particles enough time to populate the scene before we join the
scene at frame 0, else we would have to join the scene at frame 300 to have smoke already emitted.
OIL F I R E 47

Replace the Shape operator w i t h a Shape Instance


9 operator. Click o n the Particle Geometry Object's
None button and select the Blobmesh object. Add a
Force operator and add the Wind Space Warp t o its
Force Space Warps list. Add a Spin operator and set
the Spin Rate t o 25 with 25 Variation. Set the Spin
Axis t o Speed Space Follow w i t h X and Y set t o
0.25 and Z t o I . To see the Shape Instance operator
in action, set the Display operator t o display
geometry.

Information: Here we have removed the standard


particle shape and replaced it with an operator which uses our Blobmesh object as the particle
shape. The Spin operator has been amended so that it spins at a slow rate and follows in the
direction of the particle's motion, albeit with a little bit of randomness added thanks to the small X
and Y values.

10 Add a Scale operator t o the particle system.


Turn the particle system off. Set the Scale Type
--a-

- ---- -
-'A -
-T-7-,T;c,2--..
-
T-
....-- ' ' -! - -
s,-*s:x-
I
I .BY
.

I -- - .
to Relative First and set the Scale Factor and Scale *&.--- - - - - -
---*-
.k-I.-
Variation t o 50 for all axes. Set the Animation Offset X- I
-- --- -
-r

Keying Sync By t o Event Duration. Go t o Frame 300, -."-


--
r I:-.-

enable Auto Key and set the Scale Factor t o 380 for all "- '- " --7 -.
T-

1 axes. Turn Auto Key back off. Add a Material Dynamic


operator and a Collision test t o the event. Add the -....
Deflector t o the Deflectors list in this test. Finally, add
a Delete operator, enable By Particle Age and set the Br .--- -. "
. _. - -_- - - - -.
, ._ .I
. - .
Life Span t o 600 w i t h 100 Variation. Turn the particle
system back on.
Information: We have disabled the particle system so we can quickly go to a higher frame without it
having to calculate the particles. We have set the Scale operator to increase the size of the particles
over 300 frames, relative to the time of their birth. This means that they are born with 50% of their
original size (set in the original instanced geometry) and are then scaled up over 300 frames to 380%.
The Deflector prevents any wayward particles sinking below the ground and the Material Dynamic
operator allows us to change particle color depending on particle age, which we will set up shortly.
Finally, as this operator needs to know how old a particle is, it needs to work out when it is going to die,
hence the addition of the Delete operator, which is set to a high value so the particles will be way off
frame before they die, and don't just disappear.
48 FIRE

PART FIVE: W i t h t h e particle system almost complete, w e w i l l create t h e lighting t o


illuminate t h e scene.

Change the Display operator t o something a


11 little more manageable (I'm still using the
geometry t o display the lighting). Select the Blobmesh
and Smoke Puff Template objects and hide them. In
the Top Viewport, create an Omni light, set i t s
Multiplier t o 4 and color t o RGB 233,66,18. Enable Far
Attenuation's Use and Show and set them t o 80 and
500 respectfully. Instance this light another nine times
(10 lights in total) and arrange them so that there are
three lights either side of the particle emitter 'strip'
and the rest around the left edge as viewed in the
Front Viewport as illustrated.

Information: We have created these lights and positioned them around the base of the particle
emitter to simulate a glow from the emitter, and also to intensify any colors and smoke around these
areas. The intensity is reduced with distance due to the attenuation. Note that there are no shadows
enabled for these particular lights.

.-------------- In the Top Viewport, create a Direct light coming


. .~ . from behind the camera and slightly t o the left
- -..- -

-- - . ;
and label it Sun. Reposition it up in the Left Viewport so
that it is at about 2 o'clock in relation t o the particle
system, as illustrated. Enable Shadows, set the light's
- . . %

color t o RGB 255,255,247, enable Overshoot and set the

1
- . -. ,,
,.
. .-
-.-.
..- FalloffIFieldso that it covers the entire particle system
.........-.
-,
- (plus a little more) as visible in all Viewpom. Set the
:...... . Shadow Map Bias t o 0.01 and the Size t o 1024.
. .
. . . .--.. .. -.. .. -. .. . . - . . . ..._.- _ _ ..I
rj

. - - .- - --. - --
.. ._ ..
-
-
.~

_I Information: We have positioned and colored this light


to simulate the main key light in the scene, which is the
Sun because it has linear shadows, not fanned out like an Omni light or a Spot light. Overshoot
has been enabled to illuminate any other objects in the scene which are outside the FalloffIField
boundary. This boundary has been increased as no shadows are cast outside it. The Bias has been
reduced to reduce any shadows detaching from the objects that cast them. The Shadow Map Size
has been doubled to increase the definition and detail of the shadows.
OIL FIRE 49

In the Top Viewport, drag a Direct Light from


13 the left side o f the scene t o t h e center (so
the target is at 0,0,0) and label it Sky. Enable Shadows,
set the Multiplier t o 0.05 and the color t o RGB
140,200,220. Enable Overshoot and set the
FallofflField t o 1500. Turn o f f Specular and set the
Shadow Map Size t o 128 w i t h a Bias o f 0.01 and a
Sample Range o f 8. Instance this light at right angles
to the original so they are the same distance from the
center o f the scene w i t h both targets in the center.
lnstance these again so you have a total o f 4 lights,
each at right angles t o one another as illustrated.

Information: We have created a few low level lights to simulate illumination from the sky by
point-sampling a color from the background image. As there are going to be a lot of lights in this
array we only need them to be low intensity, else they will completely wash out the entire scene.
With the large number of lights, the cloud will be shaded properly with numerous shadows and
I diffused lighting. We have turned Specular off else we would get numerous highlights all over the
smoke, which would look odd, plus we have reduced the map size to reduce light calculation times
I and memory at the expense of a little quality, but this is negligible. Please be aware that the high
I amount of polygons generated by the particle system, and the high amount o f lights, have a big
effect on rendering tirnes. I f rendering tirnes are too high for you, either turn off shadows for these
1 lights or remove them entirell: replacing them with a single non-shadow casting Skylight light.

Select all four of these lights (not their targets)


14 and rotate-clone them at intervals o f 22.5
degrees t o create a ring o f 16 lights. In the Left
Viewport, move these lights upwards as illustrated,
then clone them t o create another ring pointing
down onto the scene and another ring below looking
up. Select ail o f the Sky lights and their targets and
reposition the entire array so the targets are right in
the center o f the particle system.

Information: The f~nalarray covers almost all areas of m-


r
,I
*-
.-- - . "-. - - -
-r - -..--I
. . ..
lllumlnat~onfrom the 'sky' We have even created a ring of
l~ghtsto s~mulateupl~ghtlngfrom the ground Thls lllumlnat~oncreates an even, d~ffusedl~ghtlngeffect
50 FIRE

PART SIX: Next we will create a material for the fire and smoke so they blend
together over time, plus we will drop in extra lighting t o suggest illumination from
the fire.

Open the Material Editor and label a new


15 material Oil Fire. Set the Shader t o Oren-Nayar-
Blinn and enable Self-Illumination. Expand the Maps
rollout and add a Particle Age map t o the Diffuse slot
and label it Smoke Color. Set Color 1 and Color 2 t o
RGB 75,75,75 and Color 3 t o RGB 40.40.40. Set the
Color 2 position t o 30 and the Color 3 position t o 40.

Information: We have amended the shader type so that

_ -_ -.
~tgives us a nlce dlffused falloff that IS su~tedto the smoke
ra
C
'-'-"-'
13%
'
-- i - .- - -.. v.
effect We have also enabled Self-lllum~natlonso that we
can add some glowing parts to the smoke around the
emission point. The Particle Age map was added to the Diffuse slot so that the smoke will change
color and darken more over time, as illustrated in the reference material. The position settings were
amended to make the colors change earlier in the particle's life, so that immediately after the 'fire' is
born it changes color to the dark 'smoke'.

At the top of the material, add a Particle Age


map t o the Self Illumination slot and label it
-
FireIHighlight Mixer. Set the Color 2 position t o 30
and the Color 3 position t o 40. Expand the Output
rollout and set the Output Amount t o 2. Add a Falloff
map t o the Color 1 slot and label it Fire Glow. Set the
Front color t o RGB 227,177,82 and Color 2 t o RGB
..-
+-: - 1
I
180,40,0. Expand the Output rollout and set the
---- -.-- -
----
- .- Output Amount t o 2.
--- " . . . -- .
- --
- - ...-.
- -
A

C m. -- --. -r Information: As we want the glow from the f~reto


i

dlmln~shrelatlvely qulckly, leavlng a black plume of smoke,


we set the Color 2 posltlon of the FlrelH~ghl~ghtM~xerto a lower value so ~ t slnltlal Intensity fades
away relatlvely qulckly The Output amounts have been Increased to Increase the lntenslty of the flre
effect, and the Falloff map has had ~tscolors changed to s~mulatea f~eryedge glow effect w ~ t ha
brlght center
OIL F I R E 51

Add a Falloff map t o the Color 2 slot of the


---------------
_--?--. . . .
17
c-, ."T7 ,nRI,,.,F;?. .LC,, - 0 I I - 7 -
- a
,,.

FireIHighlight Mixer map and label it Glowing


Embers Control. Swap the colors, set the Mix Curve's
point at the top right of the curve t o Bezier-Corner and
I
_
. -_-_-_
_ ._ _
:
drag out the resulting handle all the way across t o
create an arced curve. Set the Output Amount t o 5,
add a Noise map t o the Front slot and label it Embers. - . - , - --
Set the Source t o Explicit Map Channel, Noise Type t o - ----
Fractal, Size t o 0.01, High t o 0.6, Low t o 0.5, Levels
to 10 and set Color 2 t o RGB 180,25,0. Disable the a
- -.,.=.-.
,
,
particle system, go t o frame 400, enable Auto Key and
set the Phase t o 3. Turn Auto Key back off.

Information: Here we have created a Noise map which has its phase animated a little over time to
break up any repetition in the animation. It is also masked out by the Falloff map so that it does not
appear on the perpendicular, where the smoke would have had chance to cool down and stop
glowing. The Mix curve was amended to exaggerate this effect a little.

Add a Falloff map t o the FireIHighlight Mixer


---------------
18 map's Color 3 slot and label it Smoke Rim Mask.
Set its Falloff Type t o ShadowILight. Add another Falloff
map to its Light slot, label it Smoke Rim Color and set
the Falloff Type t o Fresnel. Set the Side color t o RGB
10,10,10.
:
I

I
.- ---
-- -
- ----
Information: The comb~nat~on of these two Falloff maps
enables us to create a sl~ghtnm glow wh~chmakes the b' -. -- 7

smoke appear softer Th~snm effect 1s masked out by a -


ShadowIL~ghtfalloff so that ~tIS most prom~nentwhen ~tIS L .
-- -- --. -- - -.m.-
-r I - .
In d~rect~llum~nat~on,and not In shadow

At the top of the material, set the Bump


----------------
19 amount t o -100. Add a Mask map t o the Bump
slot and label it Smoke Bump Control. Add a Particle
-- -

Age map t o the Mask slot of this map and label it


Bump Age Control. Set Color 2 t o black, set i t s position
to 20 and Color 3's t o 30. Add a Smoke map t o the -
Mask map's Map slot and label it Large Smoke. Set the -- P'-T"--
Source t o Explicit Map Channel, Size t o 0.2, Iterations - 7
to 3 and the Exponent t o 0.7. Enable Auto Key at r j j
i 3,
frame 400 and set the Phase t o 3. Turn Auto Key
P .sr
. .J
= . ._. . . -- . .
-- -
. . .- . - . .. - -- -.-- ,
52 FIRE

back off. Copy this map into the Color 2 slot, go into this map and rename it t o Small
Smoke. Set the Size t o 0.002, Iterations t o 20 and Exponent t o 1. Set Color 1 t o RGB
185,185,185 and Color 2 t o white.

Information: The Mask in the Bump map is so that the glowing fire is not assigned any bump at
all. The bump only comes into play once the particles have reached a certain age, at which time the
material colors have started to change and the self illumination is being broken up into embers. At
this point the smoke will start to billow, which is when we need the bump to increase. We have two
animated Smoke maps which control the bump; one to generate a large billowing effect and the
other small one to add detail around each cloud. The Bump value was set to a negative amount as
the white color(s) in the Smoke map would cause the bump to be indented, which we do not want.
Therefore a negative setting was used to get the bump facing the correct way; we could have
flipped the colors of the Smoke maps, but this is an easier method.

Open up Particle View and instance this map t o


the slot in the Material Dynamic operator. Create
a Box and assign this material t o it. Right click the keys
at frame 0 and select one of the Phase keyframes.
Amend the Out curve t o a linear attack and click on the
arrow next t o it t o send this information t o the next
keyframe. Perform this t o every Phase keyframe
assigned t o this box and hide it when finished.

<-f-
r ~
.._...-.
............
. .. ... .. .. . .. .. ... .. --
....- -- .
~.. .. . .. .. . . . .
...... ; -...-.,.Information:
? -:-~,
We needed to amend the keyframe curve
information of the smoke so the phase did not speed up
.. .,
and slow down. As the keyframe information was not
accessible via the keyframes in the particle system, we could simply assign it to a box and amend them
there. We could of course have navigated through the Function Curve Editor to find the relevant maps
to amend their keyframes, but this would have taken longer.

PART SEVEN: Finally we will drop in a copy of the background image on top of the
entire render and use a mask t o only reveal the smoke and fire behind the houses.

---------------
P*.. .li-31r,0+U.,l:3P. r.dC1,1-B.rr.-=lir3p Open Video Post and click on the Add Scene
Event button. Click on the Add lmage Input
Event button and load in the oil-background.jpg
image as before. Highlight both of the events and
click on the Add lmage Layer Event button. Select
Alpha Compositor from the menu and load in the
oil-background-mask.jpg image. Change the Mask
type t o Luminance and click OK t o exit the panel. Add
an lmage Output Event (if desired) and render off the
i. ~ ~~
. . .
-
. ,.. . ., -. -. - ..~,. .. . . .
.
, ....... animation.
OIL F I R E 53

Information:The Alpha Compositor overlays the image on top of the render (the result of the
Scene Input Event), using the mask map to control how the images are put together. The result is
the smoke is rendered off against the background environment image, with the composited houses
from a copy of the background image added on over the top. The final result is an effective smoke
effect with hot embers, but it appears too pixilated. To remove this, add a little lmage Motion Blur to
the particle system by right-clicking the root event of the system in Particle View, selecting Properties
and enable lmage Motion Blur with a setting of 1 or 2.

Taking it further
Due to the masking of the houses, thc niajority of the intense glowing area of the fire section of the
particle system will be occluded from the final render. Therefore, you may wish to raise the particle
system a litlle off the ground (and the Omni lights accordingly), or reposition the camera further
towards the ground to get the srnolte emitter to raise up a little. This scene's camera matching, as it
currently stands, does not have to be completely accurate as we have only got a single particle system
in there which is virtually side-on to camera and travels off-frame. However, should you want to drop
in other elements such as the odd fire engine arriving to put out the fire, you may have to amend the
camera's positioning and settings to get it to match exactly.
You will also want to add a few post effects to the fire to get elements to glow a little. The best way
to do this would be to assign Material Effects ID'S to the Fire Glow and Embers maps, and add a Glow
effect which uses this ID and also the brightness of the image (so that no grays are brightened in the
embers map): the Taking it Further max file included illustrates this procedure. You could also do the
glows 'manually' in post using selective color ranges to assign any glow or illun~ination-basedblur.
The main problem with this is that the background image will have some of these elements in there as
well due to the orange in the brickwork. Therefore you will have to render off the smoke animation on
itsown without any background or foreground so you can just assign the glow to the smoke layer. The
final rendered image, which is at the beginning of this tutorial, uses this lilethod and was cornposited
in Photoshop, with the 04-oi~/irc.-glo~rps.i11peg using exactly the same method on every single
frame of the animation. by using a n action. However, if you have a compositor such as Combustion
this process can be done a lot easier.
Due to the geometry count (it hits about 5 million), this scene may take a very long time to
render - the light calculation time takes the longest, so I would seriously advise you lhat you render it
off overnight. You may also want to turn off the shadows in the lighting rig and just keep the single
shadow from the sun light, as this will ensure the scene renders off a lot faster. If your machine is quite
a low spec, try reducing the amount of particles in the scene andlor increase the Blobmesh's Viewport
and Render Evaluation Coarseness so that there is not as much geometry in each smoke puff. Even
increasing this setting by a small alilount will improve render times. If all else fails, try creating a low
polygon Geosphere with a Shrink Wrap UVW Map applied and use that as the particle type instead.
Introduction
Now I must admit that I had been looking forward to doing this particular effect ever since the
idea for this book turned up. Now before anyone starts emailing me and calling me a weirdo,
the reasoning behind this is because of the way Particle Flow can now handle materials; more
to the fact, the way it can handle animated maps. Previously, if we wanted to create this kind of
effect we had to produce some weird filmstrip-type map on a plane and animate the filmstrip like
a flipbook, then use this plane as the particle type with its animation (the animation of the
filmstrip using a UWV Map modifier) set to fire off when a particle was born. Well, not any more.
Particle Flow now enables us to key off our pyro animations automatically, and thanks to those
spiffing chaps at Digital Vision for the use of these sequences and an Oscar-winning performance
from Rob 'Tutorial Checker' James armed with the mighty water pistol, we can now create some
very convincing effects.
FLAMETHROWER 55

Analysis of effect iewed side-on, a gas jet that is not fed


xygen burns yellow and is short-lived
(a)Okay, first things first. Now this may sound like an excuse to you.
but sourcing this type of material for reference is very difficult (due
to the nature of the object in question). Many atrocities have been
performed, and some avoided, by the use of this type of weapon. but

b
it is something that I, and the publishers of this book, are not keen on
showcasing. (b) We are therefore going to base our effect on a wide-
the more gas that is fed (or at a higher
spread gas jet effect (such as a jet engine. afterburner or gas fire) and
elocity) the further the flame will travel
not the petroleun1-based stream of fire that you see in war films and
other footage. If this is the type of effect that you want to try, have a lmage courtesy of D ~ g ~ tVa ~l s ~ o n

r
look at some of the movies available that use this type of weapon -
Alicrls is a good example. not only because of its usage but because of
the close-ups, high crane shots, side shots and illumination from the
kime in a din11y-lit environment. Perfect for reference material (plus

t
it's a good film). (c) As we are basing our lla~nethrowereffect on a
gaseous fire, we have sourced a front-shot of a gaseous lire emission.
so we do not have to worry about the nlotion of the fire and the way
it billows (etc.) 21s this is already handled in the animated maps pro-
vided. What we do need to concentrate on is the way the fire behaves
afier emission from the weapon. This particular type interacts with
the air Inore than other types and has a tendency to fan out. with
some progressing to the ground creating a large fire cloud a short
I I i sb
m s o m e of the fire
cs,to the ground as it
creed down by wind
and!or un-ignited flammable material

distance away from the person holding the weapon. This resulls in a d YdbeUUb J e l UI 11 eweu u
wlde expansion of the flame and also, when the fire interacts with w ~ t ht h e e m l s q z , 9 2 t h e centc
another surface, a rolling efkct as it Ilows over the surface. (d) The of the f r a ~
colors are quite intense, with the main jet being very bright after the
gas has been ignited, which diminishes to bright oranges and yel-
lows before the gas is finally burned off without leaving a trace of
smoke (unless a surface is scorched or set on fire). Due to the intense
colors the Ilamethrower would illuminate the scene somewhat and
cast diffused shadows around the objects that cast them.
As mentioned in the Introduction section, we are going to use a
I,--,"(, c n ,+PC n6 P q ,-,I \ ! r
new feature in 3ds max 6 that allows us to key off the timing of a n
A,

image sequence or animation file (e.g. an AVI or MOV file) that is

3.
assigned to a particle. so that when the particle is born the animated

1 itkd
map assigned to it also begins to play. We will utilize this feature with
an animated sequence which was extracted from pyro footage pro- $
the initial jet is not all that bright as not
vided by Digital Vision. This animated sequence will be assigned to
k i n g particles that will be emitted from a finite point, and posi-
lilI of the gas has been ignited; it is not
,.~til all of the gas is ignited (about half-
way thro~g-!gts cycle) that the flame is
tioned and aligned at the end of an animated non-renderable proxy at
object that roughly matches the angle and positioning of Rob's
water pistol: therelbre we have the correct trajectory. In this back- XP

plate footage. Rob fires the water pistol at a certain frame so we


will start the ptu-tide system fro111this point. The resulting water arc Image courtesy of Dlg~talV ~ s ~ o n
56 FIRE

in the backplate needs to be occluded so we can fan out the particles a little. When he stops firing the
pistol we will turn off the particle system as well. As the flamethrower needs to interact with a nearby
wall we will create Dcllector Space Warps so that the particles can react with the 'wall' and roll of[ it.
Using additional particle spawning and the Shape Mark operator with a gradient texture assigned to
it. we can create a scorch mark and rising smoke from the impact of the particles hitting the
deflector - we just ensure that the backplate animation cuts off before Rob walks in front of this mark
else we would have some additional masking to do. Finally, to increase the intensity of the flame we
can link an Omni light to the end of the flamethrower and animate its Multiplier setting. In addition
to this we can add a glow effect to this light so that it brightens the scene including the backplate and
simulates light being emitted from the flame. albeit very basically.

Walkthrough
PART ONE: First we will load in the initial scene and set up any additional Space
Warps that we need to drive the particle system's motion.

1 Open up the FirelO5~Flamethrower/Source/05~


flamethrower-start.max file included o n the
DVD-ROM. Select the Top Viewport and create a
Gravity Space Warp. Select the Left Viewport and
create a Wind Space Warp. Set the Strength t o 0.01,
Turbulence t o 0.15 and Scale t o 0.1. Finally, rotate this
Space Warp 180 degrees in the Front Viewport so that
i t is pointing in the opposite direction.

Information: Our basic scene has a few items already set


.
: I
r ~

- - ..-.-,-
, . _ _ _. ,-.m--.
.,- . .r..l up for us. As our background footage is PAL (25 frames per
second), this time base has been pre-set and the length of
the animation set to 380 frames (0-379 inclusive).The objects in the scene are non-renderable so
they will not appear in the final render, but we can use them to position other objects that we will
create later on. The Environment background has been set to the footage of Rob firing the water
pistol against the wall, and has also been put to the background of the Camera Viewport which
matches the field of vision of the camera which shot the footage. The cylinder in the scene has been
positioned and animated to approximately match the positioning and rotation of the water pistol
over the duration of which the water is fired, which is the only time period we are interested in for
our particle emission. We have created these Space Warps to get any smoke to rise up, and also for
the emitted fire particles to spread out and fall to the ground a little (due to the liquid gas propellant
being heavier than air).
FLAMETHROWER 57

2 In the Left Viewport, create a Deflector Space


Warp which overlays the BoxOl object in this
Viewport. Label it Deflector Wall. Set the Bounce t o
0.1, Variation and Chaos t o 50 and Friction t o 75.
Using the Align tool, position this Deflector in the
same position as the BoxOl object. In the Top
Viewport, reposition the Deflector as necessary so that
it is situated just t o the right-hand-side of the Box.
Copy this Space Warp and label it Deflector Ground.
Using the Align tool again, position and align it t o the
Plane01 object in the scene. Scale or increase its
dimensions t o completely cover the Plane object and set i t s Bounce and Variation t o 0.

Information: As we have objects in the scene already positioned in the right places, we can use
them to position these new Deflectors in the right positions using the Align tool. Okay okay, we could
have used a couple of UDeflectors, but as the deflection would be based on the object's geometry,
we may get a little particle leakage, which we would have to combat by increasing the Integration
Step of the particle system we are going to create later on. This would also have an adverse effect on
particle calculation times.

PART TWO: Next w e w i l l set u p t h e flame material f o r our particle system, a n d also
a bright material which w i l l b e emitted as a spray f r o m t h e gun.

3 Open the Material Editor. Label the material in


material slot 2 Flame Sprite. Enable Face Map and
Self-Illumination. Expand the Map's rollout and add
a Bitmap map t o the Diffuse slot. Load in the
flamesprite0l.avi animation t o this map. Expand this
map's Time rollout, Playback rate t o 2, enable Sync
Frames to Particle Age and set the End Condition
to Hold.

Information: Please be aware that enabling the Sync


Frames to Particle Age option results in a lag while 3ds max
.Y
.,--
____-.
. . . . . . .;.: . ..c - -- _
. . . . .: . .
..- . ~

. -..,
--m--.
-8
,.,-

loads in the animation. This will be apparent whenever this


material is viewed for the first time or if the map is amended (i.e. reloaded etc.), so do not worry
if 3ds max hangs for a little while. This is also apparent when rendering for the first time while it
loads in the frames, so render off a small frame to start with to get it out of the way. Face
mapping has been used even though the facing particles in the particle system we will create has
mapping by default, it is a good habit to get into for these types of particles should we decide to
assign the material to another facing planar object, such as the legacy particle system. The
Playback Rate has been increased to speed up the playback of the sprite as it is too slow for the
effect we desire; the source animation was originally filmed using a speeded up film camera, so
58 FIRE

we have a time distortion effect visible when played back. This is not something we want so we can
pretty much restore the clip back to what it is supposed to look like -fast moving and billowing fire by
increasing the Playback Rate. As our sprite animation, which is timed to the birth of particles in the
forthcoming particle system thanks to the Sync Frames to Particle Age option, may finish before the
particle dies, we need it to remain transparent. Setting the End Condition to Hold ensures this and sets
it so that the animation does not loop and start off again for the remainder of the particle's life.

Back u p at the t o p o f this material, instance


4 the Bitmap map in the Diffuse slot into the
Self-Illumination slot, and copy it into the Opacity
- slot. Go into the map in the Opacity slot and replace
the animation in this map w i t h the
flamesprite0lm.avi animation.

Information: As we are using the Self-lllum~nat~on


option, we are uslng the lntens~tyof the anlmatlon to
create the self-~llum~nat~on effect Th~shas ~ t spros and
cons - pros In the fact that ~tappears more real~st~c and IS
not completely washed out, cons In the fact that, In some
places (1.e at the end of the sequence) the anlmatlon can appear qulte dull However, due to th~s
type of self-~llum~nat~on,we can set up add~t~onal ~llum~nation In the scene to ~ntens~fy any objects
w ~ t hthls mater~alass~gnedto ~ t e, g the part~clesystem.

Label a new material Spray. Set its Diffuse color t o


5 white and set the Self-Illumination o f this material
t o 100. Set the Opacity t o 75. Expand the Extended
- Parameters rollout and set the Advanced
Transparency Type t o Additive.

Information: A very s~mplemater~alfor a very s~mple


reason. The lnlt~alsprltes, when em~ttedfrom the part~cle
-.
--- I system we will create, w ~ lbe
l quite small and w ~ lnot
l
-- expand for a few frames Th~stherefore results In gaps
-. . ._
- . ._ .- .-_- . _ _.
-4
L
- - -8 . - belng v~s~blebetween part~clesas these sprites expand We
could generate a lot more part~clesto fill In the gaps and
then k ~ lthe
l majority of them off once the gaps had been fled, I would only adv~seth~s~fyou have
a fast processor as max st111has to work out a lot of opacltles to f ~ lIn
l these gaps Cover~ngup these
gaps w ~ t ha smaller system takes less tlme to render and also looks l~kea jet of un~gn~ted fuel
FLAMETHROWER 59

PART THREE: We will now create and set up the particle system which will drive the
motion of the flames.

In the Top Viewport, create a small-sized Particle


6 Flow system and label it Flamethrower. Set the
Viewport Quantity Multiplier t o 100, expand the
System Management rollout and set the Viewport
lntegration Step t o Half Frame. With this particle
system still selected, click on the Align tool and select
the Cylinder01 object. Enable X Y and Z Align Position
and Align Orientation and change the Current Object
and Target Object options t o Pivot Point. Finally, link
this particle system t o the Cylinder01 object.

Information: The size of the system is not relevant as the


particles will be emitted from the Pivot point of the particle system's icon - it is small purely to
keep the Viewport tidy. The Quantity Multiplier has been set to 100, to match those of the
renderer, so we can see how many particles we are dealing with in the system. The lntegration
step has been set to match the renderer so we can see what rendered results we are going to get.
As the amount of particles is quite low (in comparison with other systems we have devised in this
book) increasing these two settings will not have much of an effect on our Viewport interaction.
As the pivot point of the Cylinder01 object is at the nozzle end of the water pistol in the
background footage, the particle system is repositioned and aligned correctly. As the cylinder
moves and rotates to match the motion of the water pistol in the background footage, we need
the particle system to follow suit. Therefore it is linked to the cylinder so that the particles appear
to be emitted from the nozzle of the water pistol at every frame, else the system would remain in
the same position while the nozzle moves around slightly, therefore ruining the effect.

----------------
,--. :.---~-... *
7 Click on the Particle View button in the Particle
-
$SF--<t rDp+D.,-,p, ?.*...I sa-mYzT-7U
---.,. r - rolr
....- -.
Flow's Setup rollout, or Press 6 t o open up the
~

Particle View window. Rename the Event 01 event t o a ,


Flames. Select the Birth operator and Emit Start t o 49, .. -'.-.-...:
Emit Stop t o 155 and Amount t o 500. Select the -.
.
.-.
r-

., ..
>

--7
. ~-
Position Icon operator and set the Location t o Pivot. -.-...
.-
--
Select the Speed operator and set the Speed t o 500
-
.-
-
7 ,

.
..
with a Variation of 200. Enable Reverse and set the
~

-.....
-- .-
~ ~

-.
.. e--.-
~~

Divergence t o 3. -..- .,., ..-


--. .--
.. .,
-
Information: Here we have the basic properties of our
...-
[?
- < . x.

. .-.- ., ..- - --
:._,-..~~.
-La---.
.

.,-... -. - --.
" :
:.--:
C~~
. -_.__
. --..
" - --.--.
. -.;---
- 1 . > -
,**

flamethrower effect, and as you can see they are quite


straightforward. As Rob pulls the trigger of the water pistol at frame 49 (we can see this by
viewing the water jet at frame 50 in comparison to frame 49 by scrubbing forward in our
60 FIRE

animation) we have set the particles to be emitted at the same time. We have set the Position lcon
operator's Location to Pivot so that the particles are emitted from a fine point, simulating them
being emitted from the fine nozzle of the water pistol; if this were a 'true' flamethrower, the nozzle
would be bigger, therefore a circular lcon would be used to distribute the particles. The Speed has
been set to a higher setting to match the velocity of the water jet, which is used as reference, and
the Variation increased to cover any gaps in the particle system and to get particles to pass one
another, breaking up any similarities that might be visible due to using just one animated sprite in
the particle system.

..------------- .
-. 8
.r-, ,*+.'<
.:,
."7< r 3 1 ) + L . , ' T F , l,-DD;70. Select the Rotation operator and set it t o Random
,.- . .. .,. SET
, - .~-

F.- - Horizontal. Drag out a Shape Facing operator t o


-
-- 7
the event and overwrite the existing Shape operator
. - w i t h it. In this new operator, click o n its Look A t
3--

-" - button and select the Camera in the scene. Set the
L
..--I.-Z SizeNVidth In World Space Units t o 300 w i t h 35
*...-
t
tw :- .
. -.
n..
IZ.. ' ,
-.--
.-_.
.--. , Variation, expand the Orientation menu and select
...--. v....
E?- -- :.-: .- {
-. . t - :- :. Allow Spinning. Add a Spin operator and set t h e Spin
.-
v.-.-.
:Z L ;-=-- u.- ., ... .

. . . ...-..-..,.,. ...- .. - . -_-_ .


-
::-L

.- Rate t o 100 w i t h 200 Variation.


_
-,
.- --
. --.. .. - <

.rn- -..-- .. . .
---.- <--. .. .. . I-- t,...
,.,... , Information: The Rotation operator adds an initial
rotation as the particles are born (else they would all be
facing the same way), and the Spin operator allows them to spin which is restricted by the Shape
Facing operator so that they do not tumble in all axes.

------- --------
--
- Add a Material Dynamic operator t o the event and
-+. *

a-
s,

-
t r nn +c?F-P. V ~m
C D;
d - :t
e-'-F*=T
..--
1;
.9 Instance the Flame Sprite material t o the material

:;1
-- -
-* -- .-.
---_-
.--.
.-- -
'"
..,.
-.. p - . -
--
i . ,

-.. --- -
?&

- -:-- --
5
slot in this operator. Add a Force operator, add the
Gravity01 Space Warp t o its Force Space Warps list
and set the Influence t o 100. Add a Delete operator
- I -<
F -1' --- '- -
- I

1 : t o t h e event, enable By Particle Age, set the Life Span


S - :--
*-- - 7 -
- t o 38 and Variation t o 0. Add a Collision test t o the
[i>:- -..-- -- event and add the t w o deflectors in the scene t o its
-
E 1- --
-
- :-A v- rC
17-
--- --
-- "-
-
4

1 Deflectors list.
--
. -m . .. . .
---. ---- - < .
" ,.
--- -- -.4,-.--
.

Information: As the mater~alass~gnedto the particle


I

.
changes w ~ t htime, we have to use a Mater~alDynam~c
operator The Force operator's Influence 1s reduced to brlng the part~clesdown sl~ghtly,to suggest
some fuel that has not yet been fully ~ g n ~ t eand
d IS therefore heav~erthan alr The or~ginalspr~te's
anlmat~onIS 75 frames long, therefore playing ~tback at twlce the speed means that ~twill run for
37 5 frames. Therefore after the partlcle IS older than 38 frames, ~tw ~ lhave
l played the sprite and
will just be transparent, so it can be deleted The Coll~s~on test has been added to send the part~cles
onto the next event should they h ~the t wall or ground.
FLAMETHROWER 61

Select the event, copy, and Paste Instanced i t


10 onto the canvas t o create a new event. Label
this new event Flames Wall. Remove the Birth,
Position Icon and Rotation operators. Make the Speed
and Force operators unique. Select the new Speed
operator and set the Speed and Variation t o 100 and
Random 3D Direction. In the new Force operator set
its lnfluence t o -100. Add a Spawn test t o the very
top of this new event and set the Spawnable % t o 4.
Wire the output of the Flames event's Collision test
e
-
~- .-- ----
2 , -.
- 5
--
-- . -
- - ._.
- - -.--
"
-
- .-- - -, _ - --.--
-I_ .. I
.,
to the Input of this event. Drag out a Shape Mark
operator t o the canvas t o create a new event. Label this event Scorch Mark and Wire the
Output of the Flames Wall's Spawn test t o the input of this new event.

Information: We have had to duplicate a lot of the features we have set up in the first event as
their properties get changed or lost if they are passed onto another event. The Speed has been
amended so that the particles (fire) get dispersed more when they hit the wall and also now rise
more thanks to the inverted Influence value of the Force operator. The Spawn test has been
added to create extra particles to be overlaid on top of the wall, by using a Shape Mark operator
to control where and how they are displayed.

11 In the Shape Mark operator, add the BoxOl


object t o the Contact Object button. Set this
operator's Width, Length and Impact Angle Distortion
I--.
."-----
T
"-

-
-:!
- . - 7
- . r . w
.-...-
- a--.
I .---'-
, r

to 200. Enable Box Intersection and set i t s height t o


- --
- -

-.. - . -. ._ .
0.01. Create a new material and label it Scorch Mark.
-. -
- 2 - - - " rzr: -... . p :--
- - ?

Set the Diffuse color t o black and enable and Self I

Illumination. Add a Mask map t o the opacity slot and


add two Gradient maps set t o Radial t o both slots in ----.-
this map. In the Gradient map in the Map slot, set g--:- FTF +=--=-
---- -=nu zz-- .- ...
Color 2 t o RGB 25,25,25 and Color 3 t o RGB 65,65,65. ,n4f? =--. .-- .
--.----
- r-
___ d
*
- . -_
- --
___I_
, i.
1 .

Set the Noise Amount t o 0.5 and Size t o 5. Add a


Material Static operator t o the Scorch Mark event and instance this material t o this
operator. Add a Spawn test t o the event, set t o Per Second and set the Rate t o 3. Drag
out a Shape Facing operator t o the canvas t o create a new event and label i t Smoke. Wire
the output of the Scorch Mark event's Spawn test t o the input of this new event.

Information: Quite a big step, but all quite self-explanatory. The Shape Mark operator is set to
Box Intersection so that the top of the resulting particle type does not overlap the BoxOl object in
the scene, which represents the wall, therefore not scorching (using the material we have set up)
the sky and surrounding foliage. Angle Distortion has been used to suggest that the fire has run
across the wall and scorched a strip along it (depending on the angle of the incident particle
hitting the surface) instead of just a uniform scorch mark.
62 FIRE

In the new Shape Facing operator, set the Size


t o 40 with 50 Variation. Add A Force operator
and add the Wind Space Warp t o i t s Space Warps list.
Add another Force operator and add the Gravity
Space Warp t o i t s Space Warps list. Set the Influence
t o -30. Add a Material Dynamic and a Delete
operator t o the event and set the Delete operator t o
By Particle Age with a Variation of 20. Instance the
Collision test from the Flames event into this event.
"-- - - . . .- - .
- - new material Smoke, set i t s Diffuse color
t o RGB 45,45,45, enable Face Map and set Self-
Illumination t o 100. Add a Mask map t o i t s Opacity slot. Add a Gradient map t o the Mask
map's Map slot and set it t o Radial. Set Color 2 t o RGB 45,45,45 and Color 3 t o RGB 80,80,80.
Add a Particle Age map t o the Mask map's Mask slot. Swap Colors 1 and 3. Set Color 1 t o
RGB 175,175,175 and Color 2 t o RGB 115,115,115. Instance this material t o the slot in the
Material Dynamic operator in the Smoke event. Reposition the Deflector Wall so that it is
situated just inside the Box01 object.

Information: Another big step but, again, quite self-explanatory. Here we have used a Shape
Facing operator without any facing object, so that the particles are parallel to the object that emits
them. Now this would not work for all circumstances, but it works for this one as we do not want
the particles to intersect with the scorch mark or the wall. The two Force operators add a little
upward motion (Gravity) and irregular motion (Wind), while the Collision test prevents intersection
with the wall. The Delete operator was introduced so that the system can be told how old a particle
is, so it drives the Particle Age map accordingly. The Deflector Wall has been repositioned so that the
smoke particles interact with it, else they would be born behind it.

----- z-=?* Copy and Paste Instanced the Flames event


13
,-w. r.ddEPC.n"' ii4 I

onto the canvas t o create a new event. Label


this new event Spray. Remove the Rotation, Spin,
Material Dynamic and Force operators and the
- ..- - .--._. Collision test. Select the Birth, Speed, Shape Facing
+" - -----------.-
m

- I -- :=I
"
- --
-. ,
\-
and Delete operators and make them unique. Go t o
- -
*-- - 2- - . .--.-.-. .- ---
i-
-- -., the Birth operator and set the Amount t o 5000. In the
!--E
:- --.v --- ---
"--..
2-- .-__- 1I Speed operator, set the Divergence t o 10. Select the
.--, FT::
r--Di- . - -- 1

Shape Facing operator and make the Size 1.5 with 50


--
= _-_,_.-.- ...
-------. .
*--
. -
-.-.
. r- <- :.I' . .
Variation. Amend the Delete operator's Life Span t o 2
with 1 Variation. Add a Material Static operator t o
this event and add the Spray material t o the slot in this operator. Wire the output of the
Flamethrower root event t o the input of this event. Right-click this event, select Properties,
enable Image Motion Blur and set the Multiplier t o 2.
FLAMETHROWER 63

Information: Again, as the majority of the leg work has already been done for us, we do not
need to set up the particle system from scratch; we can simply utilize the existing setup in the
initial system and make a few slight amendments. As before, we can share settings across
multiple events, such as the Position Icon operator, should we decide to change it later on, or
adapt the system for a new scene or backplate. The Image Motion Blur was added and its
Multiplier increased to smear the surrounding areas to give the impression of a hot substance that
is distorting the view of the background image and also to blend the fire sprites together to fill in
any gaps.

PART FOUR: Finally we will add in extra illumination with falloff to control the
illumination of the flame around the weapon, and also add a lens effect to suggest
intensity.

14 position i t between the camera and the


particle system, close t o the particle system's icon. Set
the Multiplier t o 0. Enable Use and Show Far
Attenuation, set the Start t o 0 and t h e End t o 500. In
the Advanced Effects rollout, set the Contrast t o 100.
Enable Auto Key and g o t o frame 65. Set the
Multiplier t o 1. Copy t h e resulting keyframe a t frame
65 t o frame 155 and the one at frame 0 t o frame 180.
. - ' . - . .. .. ! .. -r .~
With Auto Key still enabled and t h e timebar still at I - . -. . .-
" ?
-
, -: .. * ..".
. --...- ..--m--.
frame 65, reposition the Omni light so that it is close
to the particles i n t h e middle of the particle stream. Select all of the keyframes at
frame 0 and move them t o frame 49. Turn o f f Auto Key. Right-click the keyframes at
frame 49 and amend the Out curve o f each one i n turn, so i t has a steep attack as
illustrated.

Information: We have added the Omni light to intensify the self-illumination of the flame
around the brightest part which is positioned around the center of the scene. Falloff has been
added so that the entire flame effect does not get totally whited out. Contrast has been used to
bring out the colors of the flame and to intensify them more. As our flames begin to emit at
frame 49, the resulting keyframes, which are automatically generated at frame 0, are repositioned
to this frame. The keyframe's Out curve was amended so that the intensity increases faster. This
Omni light will now be used to drive a subtle glow over the scene to add a slight illumination
effect to the background plate, hence the need for its intensity to be reduced at the end of the
sequence, else the glow would remain on.
64 FIRE

Open up Video Post and add a Scene Event


15 with the Camera being used. Click on the Add
lmage Filter Event button and add a Lens Effect Flare
Filter. Click on Setup. In the resulting Flare panel, click
on the Load button and load in the afterfx6.lzf file
that ships with 3ds max. Click on the Node Sources
button and select the OmniOl light from the list. Set
the Size t o 90 and click on the M button next t o the
Intensity setting. Turn off all elements apart from the
Glow and set the Glow's Occlusion t o 0.

Information: We are using the intensity of the Omni light


in the scene to generate the intensity of the Glow element in the flare, which is enabled by the M
Intensity button. As we do not want any of the other flare elements, these are turned off. The
Occlusion was reduced so that if any particles passed in front of the Omni light, the glow would not
suddenly turn off.

Go t o the Glow tab and set the Size to 120.


16 Copy the flag at position 31 in the Radial Color
gradient and remove the three middle flags, including
this one. Paste the flag information in the flag at
position 0. In the Radial Transparency gradient,
remove the flag at position 7 and set the flag at
position 0 t o RGB 100,100,100. Click on OK t o accept
these settings for the Flare. Finally, add an lmage
Output Event, specify an output file and filetype
(I would recommend an animated sequence), click on
the Execute Sequence button, specify an output
canvas of 480 x 360 and render off the scene.

Information: By amending the Glow settings of the flare, we have created a large subtle glow
that will increase in intensity as the fire gets larger, then diminish after the flames are no longer
being emitted. This creates a gentle glow over the entire scene brightening up the scene a little
which fools the brain a little in thinking that the fire has actually been shot.

Taking it further
The result o f our animation, because o f the animated map sequence. produces a very nice result,
although due to the amount and size o f the opacity mapped particles in the scene this will take a little
while to render. However, if you have a powerful system and/or have access to numerous machines to
rcnder this animation, add some object motion blur to the pyro particles. Bear in mind though that
FLAMETHROWER 65

!hc number of san~plesin the object motion blur will multiply the rendering time: for example, the
default setting of 10 will (just about) increase the render times to ten times the original time, so if it
takes five minutes per frame, having object motion blur enabled with these default settings will result
in a render time of around 50 minutcs. Therefore reduce the number of samples to about three or so,
although this may result in banding being apparent in the render. Therefore, try to bring these bands
closer together by Duration (frames) to, say, 0.25 or break up the blurring by increasing the Duration
Subdivisions. although this will result in a slightly grainy blur.
You may see some intersection of the particles on the wall: even though the wall is not rendered
(the Box01 object in the scene), some of the fire is still clipped off. This is due to the scorch mark par-
ticles being present and the billboard facing particles of the fire sprites intersecting them. This can
be rectified by rendering the animation off in two passes - one to create the scorch mark on the back-
plate via the normal Render panel, and the other to render off the fire via Video Post. To do this, turn off
the Shape Facing operators in the previous events (including the Spray event, but leaving the Smoke
event alone) and render off the scene. Once this is complete, replace the background with the rendered
animation, turn off the Scorch Mark and Smoke events and turn off the Spawn lest lhat generates the
Scorch Mark particles, re-enable the disabled Shape Facing operators and render off the scene again via
Video Post so that the scorch mark does not intersect the geomctry and the Glow is applicd. There is a
3ds rnax file and background animation with this already set up: all you need to do is to render off the
scene (or view the final Taken Further animation).
Try adding a burst of flame at the beginning to suggest Rob is testing the flamethrower, and also
right at the end of the animation as he gestures to camera. Then try getting the flame to backfire and
setting light to his hair or eyebrows or something. I'm sure he won't mind! The animation could be
i~nprovedwith the use of several more animaled maps (there is an additional one on the DVD-ROM)
plus, if you can source them, set the particle system to spawn static particles that burn the grass -
another animated sequence of licking flame, such as a wood fire or spilt ignited petrol would look good
on the grassed area next to the wall. Failing that, use self-illuminaled particles and a dark charred
material effect to add some glowing embers and charred grass to the scene. Try shooting your own
footage and have a good 01' traditional flamethrower fight - a little like a water fight, but you don't get
as wet.
Again. as mentioned in the Analysis section, if you want to try to recreate the petroleum-based
cffcct, have a look at some of the more recent films which feature such a weapon. This type of weapon
emits a thin jet of ignited petrol which travels a distance, fanning out slightly due to the ignited liquid's
resistance to the air. As the liquid is flying through the air, some droplets will fall to the ground due to
air resistance and gravity and will leave a fiery trail as it falls. I would suggest that the best way to cre-
ate this type of motion would, again, to use Particle Flow and would be best using a single thin stream
of particles which emit individual trails that could be mapped with animated fire sequences and set to
rise up into the air a little, plus the occasional particle trail being emitted to simulate the ignited liquid
falling to the ground.
Thnnel explosion

Introduction
In this tutorial we will take a basic un-illuminated scene and light it with a large fire ball. Maybe
there's just something ins~deus that gives us, okay maybe just me, that warm fuzzy feeling when
we see something go bang, and this is one of the coolest o7es to do I must admit, this ih d
tutorial I was realy looking forward to developing as it is one of the most challenging and, if it
can be pulled off, one of the most eftectve. The main problem is how to get the billowing effect
just right so that the geomptry folds over on itself as it expands, illuminating the scene ah i t
progresses up the length of the tunnel before colliding into camera.
TUNNEL EXPLOSION 67

Analysis of effect
The actual combustible material used to fuel the fire is quite
diicult to nail - in some reference material the fre can be seen
as having gaseous properties, in others it is more petroleum based.
Therefore a combination of the two can be derived, by assumption, as
there is not only the initial accelerator used by the explosion, but
also the combustible material situated in and around the scene, which
1 initial bright explosion

fuels the fie and also causes it to change color as the fre 'ages'.
I
Referring to the reference material, we can see that the intensity of the I
f i changes dramatically (reduces) after the initial explosion, and lmage courtesy of Digital Vision

v
becomes more red with black patches; are quickly burned away as
the fie expands in an effect that looks almost like a small shockwave
consuming these dark areas. There are still highly intense areas,
mainly around the 'folds' of the fire, where the fire billows over and
blds back in on itself, forming bright yellow and orange veins, which
can also be seen when an object interacts with thk flame. As the fire
is being contained in a confined space, it only has one direction to
travel - upwards. So, due to the restricted space around the point of
intens< ,
ignition, any additional expansion of the Tie is simply going to accel- are visible
erate its motion exponentially. Therefore, we will get an initial burst ... . .
of speed from the original explosion, a lull in which the fire gets
sucked back in (because of displaced air), then, due to lack of room
for expansion, the f i e rushes outwards along the length of the tunnel.
You would think that the illumination of such a scene would be quite
intense. Not so (judging from our reference material). As there is no
additional lighting in the reference material, it can be determined that
the fie only really illuminates the surfaces which it comes into con-
tact. Granted, the camera's exposure will also have a part to play in
this, but for the most part the fie's luminance in the reference mater-
ial is not all that high, so therefore our CG scene's luminance will not
be high either.
In addition to the reference footage on the DVD-ROM, you may
want to take a look at some of the Hollywood blockbusters which
I
of the tunnel
lmage courtesy of Digital Vision

feature this kind of scene - one of the final scenes in Hollow Man
springs to mind (which is what our source scene is based on) in
which Kevin Bacon, looking a little worse for wear, gets flambCed, or
in End oJ Days when Arnie's running away from a pretty mashed up
Gabriel Byrne, close to the final confrontation in the film.
As with any replication in CG that does not require precise meas-
urements, we do not have to be 100%technically accurate. As long as
the Director says it looks correct, then it is correct, even if the settings even though the explosion is intense,
are way off on a tangent. So if we can get the colors correct, as well as it does not illuminate the tunnel
the motion and illumination, the combination of these elements will
be enough to fool the eye into thinking that the effect is real.
68 FIRE

For this scene, with the amount of complex surfaces present, and the fact that we need to use the
material assigned to the fire object(s) to illuminate the scene, we will look to Mental Ray to render off
our animation. We could use the standard Scanline Renderer with Light Tracer to illuminate the sur-
rounding geometry, but with the extra detail required to produce a realistic fire effect we would have
to use material displacement. Couple this with Light Tracer and we are looking at very high render
times, even for a single frame. Using Mental Ray will cut down the render times because we can utilize
its displacement, motion blur and Indirect Illumination. As we need to remove all lighting from the
scene, we need to add a light and then turn it off, else we will be stuck with the default scene lighting.
Using the Indirect Illumination we can use the material setup we have assigned to our fireball, which
will be a simple deforming sphere, to illuminate the surrounding surfaces. The material will consist of
multiple layers of Smoke maps to control the animation and scale of the billowing flame. Falloff maps
to control the more intense areas, and Smoke driven material displacement.

Walkthrough
PART ONE: Firstly we will load in the initial scene, set up the basic animation of the
fireball sphere and turn off any existing scene lighting.

---------------
*-<
re4 7 - ~ . O D ~ + U ~ F J V- f r . ~ ~ d n - w + a t

-
i
1
Open u p the Fire/06-Tunne/-Exp/osion/Source/
no u 6 n - l
<..*ST
y:77,
06-tunne~-exp/osion-start.max o n the DVD-ROM.
--
In t h e Top Viewport away from the tunnel, create an
3
, Omni light. Turn the light off. Turn o n Grid Snap and
7
.--
- ....--
I

--
c-

*-
-
.-- .-.-
create a Geosphere right in the center o f the
Viewport. Label it Fireball, set the Radius t o 0,
Segments t o 10 and enable Base To Pivot. In the Left
Viewport, move it u p slightly t o raise it off the
bottom so that any light cast from its base will
, .., ..
I
,
.. . . --
---.-
---. >
..-.r r
- --
.
. . . 'r. ;-. . . .- ... .. . . . *, -,-..^.., illuminate the bottom o f the tunnel.
.
Information: Our basic scene consists of several static
objects with basic materials assigned to them. We have a few metal pipes running down the length
of the tunnel, a few blocks and the tunnel itself which is a low polygon Cylinder primitive. This
cylinder has got a Tile map assigned to it, making the faceted sides appear to be a concrete
structure. The Fireball Geosphere is set to a radius of 0 as we need it to grow, so therefore need to
animate its radius. Base to Pivot has been enabled as we need the fireball to grow from the bottom
of the sphere, not from its center. The light has been added simply to remove all lighting from the
scene; try rendering off the scene in the Camera Viewport with and without the light present and
see the difference.
T U N N E L EXPLOSION 69

2 Add a UVW Map modifier t o the Fireball


Geosphere and set t h e Mapping type t o XYZ t o
UVW. Go back t o the Geosphere level in the modifier
stack. Go t o frame 50 and turn on Auto Key. Set the
Radius t o 25. Go t o frame 100 and set the Radius t o
47. Turn o f f Auto Key. Right-click the keyframe a t
frame 0, select Radius and change the Out curve so
there is a steep attack, as illustrated. Go t o the Radius
keyframe at frame 100 and set the In curve t o the
same attack. Scale u p the Geosphere uniformly by
about 780% so that t h e t o p o f it is just underneath
the camera a t frame 100.

Information: The keyframe curves have been amended so that the radius 'bursts' outwards
from frame 0, with the intensity slowing down around frame 50 and then races to the value set at
frame 100, suggesting that there is a large amount of fire pushing the cloud forwards along the
tube as we discussed in the analysis section. We have scaled up the fireball so the resulting
material we assign will also be scaled, resulting in a large fire effect to displace the mesh.

PART TWO: AS we have an initial explosion, we are bound t o have some initial debris.
Therefore, we will generate this debris using a Particle Flow system.

3 In the Top Viewport, create a Particle Flow system


in the center o f the tunnel and label i t Explosion
Debris. Set the Icon Type t o Circle and the Diameter t o
20. Set the Viewport Quantity Multiplier t o 10. Still in
the Top Viewport, create a UDeflector Space Warp.
Click on the Pick Object and select t h e main tunnel
cylinder. Set the Bounce t o 0.5 w i t h a Variation and
Chaos o f 25.
Information: We need the initial debris to explode from
the same locatlon as the f~reball'semlsslon, so they are
I -.-
-" ---- --. __ _, -..-
. . . .-, - - ._ - _.- --. .
5

created In the same place As the flreball 1s to be contalned


wlthln the tunnel, so will the debrls, therefore the debrls partlcles need to rlcochet off the walls of
the tunnel As there IS golng to be a lot of partlcles floatlng around the scene, we need to have
some scene Interaction, so the Vlewport multlpller has been reduced
70 FIRE

P* .;
--*-------------
~ ~ - a ~ r ~ m +
. ,o
d +~ d~z a
r r. r ~ , - s * ~ - u Press 6 or click o n the Particle View button i n the
Explosion Debris particle system. In Particle View,
I

select the Birth operator and set the Emit Stop t o 0


e Amount t o 2000. Select the Speed operator
0
-
- --
t:.=.-
-- - and set the Speed t o 850 w i t h 600 Variation. Enable
e and set the Divergence t o 85. Add a Spin
- --
..-
.-
. - -- - -.- .,.. -... operator and set the Spin Rate t o 600 w i t h a Variation
' -
" ::
,. .- ,
:
:
.2
.-="=-
-.
.
. . .< - .
".__ -
.
a
--
-- ._._ . .-
.
:
..-.-" o f 300. Select the Shape operator and set the Size
.-.
.--
r-.=.--..:. --,.- jy-
..- .,- - E=
4--
I . _

t o 3. Add a Scale operator and set t h e Scale Variation


-
.. -- - - ..,.,
- . - -_ _ -_ -. -- -..-. .
.. .
.
""_. ..... ---
. , . , .,-. . ....-. .. for all axes t o 100. Set the Display operator t o show
- - .--- .- , , ,
. ,
Geometry t o see the particle system working so far.

Information: We have basically just tweaked a few settings here and there to get our particle
system behaving as we'd like. We've increased the amount of particles and set it up so that they are
all born at the same time (when the explosion occurs). We have also added a high velocity and wide
angle of dispersion (the divergence), plus an fast erratic spinning motion and a high variation in
particle sizes. All we now need to do is to get them to fall back down and to interact with the
tunnel.

--------------- In the Top Viewport, create a Gravity Space Warp.


5
:v-. .r.-Tcron+e.v~ , . - a , s r a : ~ n . c,-ms-,-;--.,

Add a Force operator t o t h e Particle Flow event


and add the Gravity Space Warp t o its Force Space
Warps list. Add a Material Dynamic and a Delete
operator t o the event and set the Delete operator t o
By Particle Age w i t h a Life Span o f 30 w i t h 20
Variation. Add a Collision Spawn test and add the

.,-
UDeflector Space Warp t o its Deflectors list. Set the
Offspring t o 3 with a Variation o f 50. Turn off Restart
--.A- ,
~-
. .__. , * --. . .
- . ,. _ . . . . - ,.-..., ., . Particle Age. Set the Inherited Speed t o 75 w i t h 25
.r - ,, . .
. . ,
..- - .-.- .-- --.
Variation and 45 Divergence. Set t h e Scale Factor t o
25 w i t h 50 Variation. Add a Collision test and add the UDeflector t o its Deflectors list.
Information: In this step we have told the debris particles to break up into smaller pieces (a
percentage of the original size of the particle) when it hits the wall of the tunnel. However, this
collision only generates spawned particles, the next time the particles come into contact with the
surface, there is no collision deflection, so we have to introduce the other Collision test. The Delete
operator has been included to get the debris to be 'burned up' in the fire and to keep the geometry
count down once the Fireball Geosphere has occluded them as they will no longer be relevant to the
render. This operator also drives the dynamic (changes over time in relation to the particle) which will
make use of a Particle Age map. Because of this type of map, we need to tell the system when it is
going to die so the colors assigned by the Particle Age map can be positioned correctly.
T U N N E L EXPLOSION 71

PART THREE: W i t h all of t h e objects in o u r scene f u l l y animated, w e n o w n e e d t o set


up the materials a n d assign t h e m t o these objects.

Open up the Material Editor and label a new


---------------
6
r* , e- ran+0--v. Y48'=-.,

-
v a + c s p _ - -
?
-

material Debris. Enable Self-Illumination and add a


Particle Age map t o the Diffuse Slot. Set Color 1 t o
white. Change the position o f Color 2 t o 25 and
change i t s color t o RGB 255,207,O. Change the color of
< -.--
Color 3 t o RGB 255,71,0. Back a t the t o p o f this ?-.

material, instance the Particle Age map t o the Self- C* . .-:_


._..
E- " Z > -
...
Illumination slot. Instance this Debris material t o the 8C ZtF ' -:.
E-- -.==
.-
--
:= , ..
slot in the Material Dynamic operator in the particle
system. r= - - - - ---
T : 'a . -- .--.-- --
. .-.-- . ._. --.." ----
-.,_.
- 7

- - . - - , I
-I I ,

Information: We have used the Part~cleAge map to


change the colors of the part~clesover the~rl~fespanWe start off w ~ t ha br~efflash of wh~te
before they qulckly change to a brlght yellow and gradually tra~loff to orange. Because we have
not reset the part~cleage of the spawned part~clesIn the Colllslon Spawn test, these spawned
part~cleswill malntaln the color transltlon from the color at wh~chthey h~t,through to the orange
color when they d ~ e

7 Label a new material Fireball and set i t s shader t o


Oren Nayar Blinn. Turn o n Self-Illumination and
add a Smoke map t o the Diffuse slot. Label i t White
and set the Source t o Explicit Map Channel. Set the
Size t o 0.001, Phase t o 3 w i t h 20 Iterations and an
Exponent o f 0.001. Set the Color 2 swatch t o white.
Drag this map t o its o w n Color 1 slot and select copy
when prompted. Go into this new map and label it
Yellow. Set the Phase and Exponent t o 1 and Color 2
to RGB 253,195,84. Drag this map t o its o w n Color 1
slot and select copy when prompted. Go into this new
map, label it RedIBlack and set t h e Exponent t o 1.5.

Information: Here we have set up the basics of our fireball material. We have used the Oren
Nayar Blinn shader as it has the right shading style for the fire we are trying to create. As the fire
grows and billows out, we need to animate the size of the flame, hence the current size for all
Smoke maps is set very small. There is also a low setting for the Exponent in the White map. This
is to be animated to reduce the intensity of the overall material over time.
72 FIRE

Back at the top of the material, add a Falloff Map


t o the Self-Illumination slot and label it Initial
Intensity Control. Set the Falloff Direction t o World
xis. Expand the Output rollout and set the Output
. Amount t o 20. Instance the Yellow smoke map (and
fore i t s RedIBlack smoke sub-map) into the Front
, :

slot. Add a Falloff map t o the Side slot and label it


Fold Intensity Color. Set the Front Color t o RGB
252,168,O and amend the Mix Curve, as illustrated, t o
, , . "..
F r*r ----
.-- -.- -.
a,,> , i-.',:~. the yellow more dominant.

Information: We have set the Output amount to a


high value as we can animate it reducing, revealing the detail in the fire, which is added to the
self-illumination by instancing the smoke map($ to the Front slot of the main falloff map. The
additional falloff map is purely to create an intense blend from yellow to white, so we have white
right on the perpendicular which blends into the yellow and then into the smoke maps in the other
falloff map.

9 Back at the top of the material, set the Bump


amount t o 50. Add a Smoke map t o the Bump slot
and label it Fireball Bump Large. Set the Source t o
Explicit Map Channel, Size t o 0.001, Phase t o 1,
Iterations t o 20 and Exponent t o 0.6. Set Color 2 t o
., ~.
;

.
white and swap the colors. Copy this smoke map t o
- '

, the Color 2 slot (now black), go into it and label i t


.-.
.z.
.,
Fireball Bump Small. Set the Exponent t o 0.5. Go back
t o the top of the material and add an Output map t o
. . ...
. . . ._ _ - the Displacement slot and label it Bump Inverter.
Ir
11
.I.;
,
. , .-
,
..c- ,
.,., ....
,

Enable Invert and instance the Fireball Bump Large


map t o the Map slot in this Output map.

Information:As our fire needs to be textured, the quickest and easiest way to do this is to assign
a lot of bump to the material. As we are using Smoke maps to drive the texture, it was just a logical
step to use Smoke maps to drive the Bump mapping as well. We have used two maps to control the
bump, to break up any consistency and add some irregularity to the Bump texture. As we also need
to displace the mesh with material displacement, we can use the inverse of the Bump map (white =
inwards bump, outwards displacement) so they do not oppose one another. Failing that we could
just use a negative displacement to generate the same effect, but a negative Output map works just
as well.
TUNNEL EXPLOSION 73

PART FOUR: W e n o w have all o f t h e materials set u p f o r o u r scene, b u t w e n o w


need t o animate virtually every part o f o u r main fireball material so it billows and
expands properly.

Assign the Fireball material t o the Fireball


10 Geosphere in the scene. Go t o frame 30 and
navigate t o the White map in the Diffuse slot. Turn on
Auto Key and set the Exponent t o 0.5. Go t o frame
100 and set the Size t o 40. Go t o the Yellow map and,
while still at frame 100 with Auto Key enabled, set
the Size t o 40 and Phase t o 3. Go t o the RedIBlack
- --.-
.I -- , ' . ..
..---
, , -
.--
map and set the Size t o 40 and Phase t o 3.
Information: We have reduced the Exponent of the
White map to let the other colors come through after the k ..- .- -
... ,-.
. ~ - .. _*.-. -
_ --..-.
.;.,.*... - ,.:,

initial 30 frame intense explosion. The maps have been


increased in size to simulate the expansion of the billowing fire. This animation has to occur for all
of the maps because if one was animated and the others were not, then one color would appear
to pass over (or under) the other.

Go t o frame 50 and, with Auto Key still


11 enabled, set the Output Amount in the Initial
Intensity Control falloff map t o 1.25. Go t o the
Fireball Bump Large map in the Bump slot. Go t o
frame 100 and set the Size t o 60 and the Phase t o 3.
Go to the Fireball Bump Small map and set its Size t o
10 and Phase t o 3. Back up at the top of the material,
set the Displacement amount t o 200. Turn off , -.. -_.
Auto Key.
,:.
.- .,- - -.
-.-" . .. - .* =
~ - - - . ;.. .. -6- m - - . r i r
. ._- -.
L-
~

Information: Reducing the Output amount reduced the * / ~ *?.."

intensity of the initial explosion, and allows the other detail


to show through the fire. Again, we have animated the size and Phase of the map; this time with
the Bump mapping (and therefore the displacement) but we have also animated an increase of
Displacement so that the billowing fire grows as it travels up the tunnel.
74 FIRE

........
Open the Function Curve Editor. Click on the
12
ri<-:\\
1 r*..:.:
=":- * % C
. .. --., ..
bF.1 e*.a.r=--=-
--,-.......
-- . .-.- -.
.-.-
-.
,--
:..: 'I:..,=- /
.r -

Filters button and turn on Show Only


:I::.
_?

"
<:--
*--
-
,-
*-.-- - .+5--;
..- __,,.. -_,-....--
- Animated Tracks. Expand the Fireball material's Maps
YE-,-,
:..: . - .I. :.... ....7 .: :.:..:-
I

;.:a - - - .-.- -. . -".-


entry in the editor. Expand all of the maps including
n -I
*.-,
z
---,-
. ~
,--a- - .
..
7..

.. --. .. .-
..F 3-
the Texture Output of the Initial Intensity Control.
-t=--. -- 1 ; .:=
. -. . .,-. ..._. .....-.:-.-.. . ..-
..--- -. .. .:
, -
. - --
:
---,-, . Select each of the highlighted entries individually and
-
0-

-
',.. --
8
- 2 .

amend the Out curves of their first keyframes at


_---
m :---. '1
,, " --,_,-, ,-,-
,, . . .. ..!;'
..
..... , frame 0 one by one so they all have a steep attack as
. ,
1
I/:
i
LA
illustrated. Amend all of their second keyframes In
:I
i 7 -7- -11:
1
.~: -: . . _~ ..
.~..k
curves so that they have a linear attack.
Information: Even with the animation assigned for the
maps, the motion simply speeds up at the beginning of the animation and slows down at the end.
We want a hard attack of motion right at the start of the animation and no slow down at the end as
if the animation will continue. Therefore, amending the In and Out curves for these keyframes
allows us to add this attack and remove the decay in motion and texture animation.

arc
thi
PART FIVE: Finally, w e need t o assign and configure Mental Ray t o w o r k w i t h o u r tuk
scene. int
thr
sur
ma
Right-click the Fireball Geosphere and select the
13
Properties. Enable Object Motion Blur. Press 6
t o open Particle Flow, select the Explosion Debris root
we

event, right-click and select Properties. Enable Object Cor


Motion Blur and click OK. Press F10 t o open the alsc
Render Panel. Expand the Assign Renderer rollout and
change the Production Renderer t o the mental ray
Renderer. Go t o the Renderer tab. Enable Motion
Blur and change the Shutter t o 2. In the Shadows
and Displacement enable Displacement and set
the Max Displace t o 200. Go t o the Indirect
Illumination tab and enable Final Gather. Set the number of samples t o about 200. Render
off the animation.

Information: We have to use Object Motion Blur with mental ray as Image Motion Blur does not
work with it. We have increased the Max Displace to 200 because that is how high we have set our
displacement in the Material Editor, else we would have a clipping effect. We have reduced the
amount of Final Gather samples to 200 to reduce rendering times (at the expense of quality).
TUNNEL EXPLOSION 75

Taking it further
Firstly, a word of warning. We have turned on some of the features in MentalRay that have an adverse
effect on each other. For example. due to Motion Blur being enabled, the displacement has to be cal-
culated several times. and because the displacement has to be calculated several times, so does the illu-
mination. And vice versa. Because of which this scene may take a fair while to render, so I would
suggest that you test the odd frame out and, if everything is to your taste, render it off overnight
(and maybe a little longer), because when we get further into the animation more motion blur and dis-
placement has to be calculated per frame.
Saying that, to be perfectly honest. there isn't much else we can do to this scene as we have pretty
much nailed the effect - okay, maybe add a little bit more red to the latter part of the flame and a few
more distinct dark patches. but that's about it. I'd suggest that the only other things to add to the scene
would be debris being caught up in the fire, sparks flying off surfaces as the fire passes over, or maybe
piping being ripped from the walls. We could also add one or two extra elements to the fire to make
some darker areas more prominent where surface material is burning. which would make the fire
smokier.
One other thing that springs to mind is the way that the reference footage liclcs and billows
around the side of the tube. To produce this effect we could add additional particle systems to control
this action, or tweak the displacement on the animated sphere so that thc faces close to the edge of the
tube are stretched out and deformed a little to create this 'licking' effect. The final element we could
introduce is a constant stream of particles emanating from the expanding fireball. If you scrub
through tzir1ne~explosior105.r~1p~~g on the DVD-ROM you will notice small particles of fire flying off the
surface of the fireball as it progresses through and out of the tube. To emulate this, assign a relevant
material to a particle system that uses the Fireball Geosphere as an emitter for these particles, get
them to spawn trails as they travel and have them interact with the sides of the tunnel. Quite simply
we can break up any hard edges of the fire effect we have generated.
In the Taken Further mpeg on the DVD-ROM I have taken the original render and put it through
Combustion to bring out the oranges of the fire. to add a n animated flare for the initial explosion and
also a subtle glow.
1 Fireworks

.-.
.w'

, \
'%

p-.
?.*&.-

I
.
?
a

'
tb ,

Introduction
Guy Fawkes night, 4th of July celebrations, the turn of the New Year. All very expensive tlmes as
we set light to our hard-earned money and watch it go up in smoke for a few brief seconds of
'000' and 'aaaah'. With the use of Particle Flow we can create our own convlnclng fireworks
dlsplay that isn't going to break the bank, scare the family pet, endanger nearby wildlife or
shower your car In burnt cardboard. Thanks to the way Partlcle Flow is structured, we can create
the various effects and then sit back and let the system pick which display to show us. All we now
need are toffee-apples, hot dogs and the smell of a bonfire.
FIREWORKS 77

Analysis of effect
This one is quite tricky to nail down. mainly due to the sheer
variety of fireworks out there: Flares, Flare splitters. Flaks,
Explosion Trails and so on. For this example, wc will stick with
the traditional Explosion Trails effect.
Open up the FirelO7-Firr\vorkslR~~fer~~n~~rlMo\~i~~slfire~~~orks-
tmils04.inpeg on the DVD.This particular clip gives a good exam-
ple of the entire duration of a firework's life. (a) Firstly, the fire-
nark is ejected from the cannon (off camera), which, when
ignited, glows an intensc color and ernits a trail as it travels up
into the sky. This trail is not as intcnsc as the firework itself, and
quickly diminishes. although not before being affected by the
wind and breaking up a little in shape and form. (b) Once thc
firework has reached a certain point, which is different for each
fire\vork,it explodes into numerous fragments. These fragments
are ejected at a high velocity, but appear to slow down immedi-
ately and fall back to earth. (c) each of which emitting a trail
of its own with propcrtics not too dissimilar from the initial
firework ejection trail: sometimes a different color - normally
the initial trail is a faint orange and the fragment trails are
brightly colored blues, purples and greens. Depending on the
type of firework, some extra sparks are emitted from the frag-
ments as well, at a higher velocity than the trails. creating a
sparking effect as the fragment falls back to earth. (d) Also,
depending on the type of intensity andlor material burning,
extra glows and flares are present at the ends of these tr.rll'I S. SO
these must also be introduced. Once the intensity of these glow-
ing explosion fragments have diminished, the trails cease to be
emitted.
Using this information, we can have a look at 3ds niax and
determine what features we can use to siliiulate the effect. As
this effect is best suited to particles, wc shall use Particle Flow to
create the desired result. Initially, a single particle will be ejected
upwards. which will spawn a trail of particles, which will be
affected by wind, as it travels. The main ejected particle will
becolored one shade and the trails another, which will make use
of Particle Age maps to fade out the trail particle after it has bcen
born, and Material Effects ID'S to assign glow post processes to
these colors. IJpon a randomly determined age (within a certain
threshold). the particle will spawn additional particles which
will be shaded differently (they may also have a different
effects ID to assign alternative glows and effects to them), have
a random direction. a slight variation in velocity and will
be affected by gravity. To slow down the exploded particles
78 FIRE

right after their birth. a Drag Space Warp will be utilized. As these particles fall. they will emit trails
which will also be affected by wind.
Finally, because we want several different fireworks effects in our fireworlts display, we should set
up a few Split Amount operators in a particle set so the system splits the initial particles up and passes
them to different fireworks effects.

Walkthrough
PART ONE: First w e w i l l set u p t h e basic elements our effect requires, such as Gravity
a n d W i n d Space Warps, a n d t h e basic Particle Flow system.

-..-------------
-- vi-- r G o * u * c l * ,
1 Turn o n Grid and Angle Snap and create a Particle
~ . f i r < ~m
~ - y -

Flow system in the Top Viewport so its icon size is


set t o 140, and Length and Width set t o 200. Set the
Viewport Quantity multiplier t o 100% and Particle
Amount's Upper Limit t o 10000000 (add a couple of
..-
extra '0s') and mirror or rotate the system so it is
pointing directly upwards.

Information: The V~ewportmult~pl~er 1s set to 100% so


we can see all of our ~ n ~ tem~tted
~ a l part~clesIf th~ssetting
---- -..-- ... - --m--
- _ _ _-.
IS too h ~ g h
.F 3,

for your computer, leave ~tas ~tIS The Upper


L ~ r nhas
~ t been Increased because ~fIS too low, the part~cle
system w ~ lnot l d~splayany more part~clesafter th~samount has been generated Th~sIS s~mply
a fallsafe dev~cebu~ltInto the system.

...
-*-------------
^'< e F - 7 ; r0*+:,.ICTp O..<.l-"- - -v.
'--.
-2
,,-~y;c-~v
I...BT
.- .
In the Left Viewport, create a Wind Space Warp.
Set the Strength t o 0, Turbulence t o 0.12,
-
. .--
T -%
7

;
Frequency t o 0.18, and Scale t o 0.01. Create a Gravity
Space Warp in the Top Viewport so i t is pointing
-. ..
- -
-

..- -

vertically down.
. ---
---
Information: We only want the wind to break up the
particles a little, so the turbulence feature is used. We do
not need the particles to be blown across the scene so the
strength is set to 0. The Gravity Warp's settings can be
. - -.. - -m- - ".,.
. . . ,
--.-, .- --.-.
.- . .
.-. - __
_ _ _,- -,..., amended in the particle system so it is left the way it is.
FIREWORKS 79

3 Right click the Play Animation button and set the


End Time t o 500. Create a Drag Space Warp in the
Top Viewport and set its Time Off setting t o 500. Set
the Linear Damping X, Y and Z Axis settings t o 10%.
Create a Camera i n t h e Top Viewport -5000 down the
Y axis with i t s Target pointing u p about 2500 u p the
Z axis, as illustrated. Set the Camera's Lens size
to 28 mm.
Information: The length of the animation has been
increased, as has the Drag Space Warp's duration and r --- .
- . - *-- --. - _ - - *_-..- ,I
.
strength A Camera has had to be introduced because the
faclng particles that are to be used later on require something to look at. A 28 mm lens is used to
glve a w~defield of vision, thus giving a sense of scale to the scene.

PART TWO: NOWwe have the basic scene constructed, we can go into our particle
system and set up the particle events.

Select the particle system and go into Particle


4 View. Rename the event 01 event t o Rocket
Particle. In the Birth operator, set the Emit Stop t o
500 and Amount t o 75. In the Speed 01 operator, set
the Speed setting t o 2500 and Divergence t o 35.
Delete the Rotation and Shape operators. Add a
Shape Facing operator underneath Speed 01, select
the Camera as its Look A t object, turn o n Use Parallel
Direction, and set the World Space size t o 50. Change
the Display operator's Type t o Geometry.

Information: This sets up the basic properties of the


initial ejected firework particle. We have used a facing particle because we do not need to see the
rear of the particle, only be able to assign a glow to it, and a single face keeps the geometry
count down. Geometry is used as a display here because there are not many particles to draw in
the Viewport.
80 FIRE

Add a Material Static operator underneath the


5 Shape Facing operator. A t frame 0, add a Spawn
test under the Material Static operator, set the Spawn
rate t o 300 Per Second. Set the Inherited speed t o
-20 w i t h a 100% Variation and a Divergence of 15.
Add an Age test underneath the Spawn test, and set
the Test Value t o 55 w i t h a Variation o f 20.

Information: Because the material assigned to this


particle is not going to be changed, it does not need a
Material Dynamic operator. The negative inherited speed is
used to thrust the spawned particles out in the opposite
direction to give the impression of a roc:ket. The Age test is to send the particle onto the next event
if it is ready to be exploded (once it has reached a certain age).

Drag a Force operator o u t t o the Particle View


6canvas t o create a new event. Label this event
Rocket Trails. Add the Wind Space Warp t o the Force's
Space Warp list. Add a Material Dynamic operator
underneath the Force operator and add a Delete
operator underneath the Material Dynamic. Set the
Delete operator t o By Particle Age and set i t s Life
Span setting t o 15 w i t h 5 Variation. Add a Scale
operator underneath the Force operator and set the
Type t o Relative First. Set the Scale Factor X Y and Z
spinners t o 25 w i t h 50 Variation o n all axes and set
the Animation Offset Keying Sync By t o Event Duration. Click on Auto Key t o enable
animation and g o t o frame 20. Change the Scale Factor t o 0. Turn off Auto Key and wire
the Rocket Particle's Spawn test output t o the Rocket Trails event. Go back t o frame 0.

Information: This entire step designs the behavior of the ejected firework's particles. By sending
the spawned particles to another event we can change their properties. This new event changes the
material (which we will introduce later on), assigns a lifespadevent duration using the Delete
operator, and animates the Scale to make the particles shrink as they age. Set this event's Display
operator to Geometry as before to see this in action. We have wired the Rocket Trails event to the
Spawn test before animating the Scale operator, else the Spawn test will generate too many
particles for our system to handle, as they are not being passed to the next event.
FIREWORKS 81

PART THREE: With the ejection particles and their respective trails now designed, we
can use the Age test t o send the particle t o an event t o choose how t o blow it up.

Drag a Split Amount test t o the canvas t o create a ~ > ~ y . - ~ = ~ ~--*~ ~, , - mZ US-"
~ ~ ~ T ~ : c
7
2
.-em,
new event, and label it Explosion Splitter. Drag .-.
-.
.- - . I
.- -, -...
-,-

.-..--
another two Split Amount tests t o this event. Set the . .--

first Split Amount test's Fraction of Particles Ratio t o - - ..-


1
-
.

-
--.- /

25, the second one t o 33 and the third one t o 50. Add
K.;:
a Send Out test underneath the last Split Amount test. r:
[.-,
Wire this event t o the Rocket Particles Event's Age test. 7 .

-->--.. + .
=.,=:---."- ,- ,
-.
Information: As we are going to have multiple fireworks
effects, we need to have the ability to pass the particles
down to random events. The first test lets 75% through to '-- -- ~
- -.. -- - r ~. .-&-..-.
the second test. The second test has 75% which lets 67%
of 75% through to the third test (50% of the total) which sends the last 50% (25% of the total)
to the final Send Out test, which sends the rest of the particles out to the next event, so each
event has an equal share of the particles. Whew! Everybody follow that?!

Drag a Spawn test t o the canvas t o create a new


8 event, and label this event Explosion Fragmentsol.
In this Spawn's settings, check on Delete Parent, and
set the Offspring number t o 60 with a 10% variation.
Set the Inherited speed t o 0. Add a Speed operator
underneath this Spawn test and set the Speed t o 1300
with a 300 Variation and Random 3D direction.

Information: As we do not need the explosion particles


to carry on along the original trajectory, the inherited speed
is reduced to 0 and a new speed with random direction is
introduced to simulate the exploded particle's initial
--..-----
-9 Add a Force operator t o the event and add the
a+~--;"
Te m i
- Gravity and Drag Space Warps t o its Space Warp
list. Reduce the Influence t o 100%. Add another Force
--
I -- -
operator and add the Wind Space Warp t o this new
.
.- -
- Force's Space Warp list. Add a Scale operator and set
-
7
_

- ,-.--
the Type t o Relative First, Scale Factor t o 40 and Scale
.- --
r
Variation t o 20 for all axes. Add a Spawn test and
--
rT
label i t Spawn Explosion Trails. Set its Rate t o 100 Per
Second and lnherited Speed t o 10 w i t h 50 variation.
u l .-
--
rn
n-..
-
=-&'I7

-- - -- .
. - -
..m ,, a *
Information: The Gravity and Drag Space Warps are
used to bring the particles back down to earth after their
initial explosion velocity and to slow them down a little, simulating wind resistance as we noted in
the reference material 100% is a reductton in strength as the default setting for the Space Warp to
have to the same effect as it would on the Legacy systems is 1000% The new Spawn test outputs
several particles per second and has a low inherited speed to simulate these particles falling behind
the particle emitting them

--------
. --- - 10
"" -- -
"^ me--,
-.--- % .- r -:
~i Add another Spawn t o the Explosion
81z.z
-.--
" .*-.,.--- Fragments01 event and label i t Spawn Sparkly
- -
.--
-7 I
Bits. Set the rate t o 150 Per Second and set i t s
L- lnherited Speed t o O. Add Material Dynamic and
--
.- Delete operators t o the event and set the particle
-- .
..1:----
5. FP- -
, deletion by Particle Age, w i t h a Life Span o f 75 w i t h
8 ~.-- -- - .i --
- 2 -
--m-.

.- ::.-. ' - -
.-
t' -- ---
----
t
7-
25 Variation.
..--.... n-..-
Information: The second Spawn test is designed to trail
.--..
..-I *-
-3---

.---- -- I-"
:_I-:=
,. particles behind with no inherited velocity As the exploded
- ,." particle w ~ lfade
m -
.=-I=
_ ---
__
- -. -.- l over time, we have to use a Material
Dynamic operator to utilize any particle information
relating to material settings later on Agatn, the Delete operator sets the lifespan of the particle.

Drag a Material Dynamic operator t o the


11 canvas t o create a new event and label i t
Explosion Trailsol. Instance the Force operator w i t h
the Wind Space Warp in the Explosion Fragments01
event into this new event. Add a Delete operator t o
the event and set it t o By Particle Age, w i t h a Life
Span of 50 w i t h 25 Variation. Add a Scale operator
underneath the Material Dynamic operator and set
the Type t o Relative First. A t frame 0, set the Scale
Factor t o 75 and variation t o 50 for all axes and set
FIREWORKS 83

the Animation Offset Keying Sync By t o Event Duration. Go t o frame 50, t u r n o n Auto Key and
set the Scale Factor t o 0. Turn A u t o Key back off.
Information: Again, we have animated the scale of this trailing particle so that it reduces in size
over the duration of the event, which is the life of the particle. We are using instanced settings for
the Wind force so that any affected particles look like they are being dissipated by the same wind.

Add a Material Static operator t o t h e canvas t o


12 create a n e w event and label it Sparkly BitsOl.
Add a Speed operator and set t h e Speed t o 600 w i t h
300 Variation and Random 3D direction. A d d a Delete
operator and set it t o Particle Age, w i t h a Life Span o f
10 and 5 Variation. A d d a Scale operator, set t h e Type
to Relative First, Scale Factor t o 50 w i t h a Variation o f
50 for all axes and Sync By t o Event Duration. A t
frame 10, t u r n o n A u t o Key and set t h e Scale Factor t o
0 for all axes. Turn o f f A u t o Key. Finally, wire this
event t o t h e Explosion FragmentsOl event's Spawn
Sparkly Bits output, t h e Explosion Trails event t o t h e Explosion FragmentsOl Spawn's
Explosion Trails output, and wire t h e Explosion FragmentsOl event t o t h e first Split
Amount test's o u t p u t i n t h e Explosion Splitter event.

Information: As the sparkly bits will diminish rapidly due to their short lifespan and small size,
there is no point in using a dynamic material. Here we wire up all of the remaining events, leaving
the other Split Amount tests vacant until the other systems are designed later on.

PART FOUR: With the particle system virtually completed, we can now move onto
designing the materials t o make the particles glow different colors.

Label a n e w material Rocket Particle. Turn o n


13 -
r'C . D + u . l m P
:-.-;%-------- r r ' o E . 1m2- l v .
e r ! - m u s T m
. A *- ='-r*b
Face Map, set t h e Diffuse t o RGB 255,223,O and .mar-,
-
.-.-.
"*--
- 1L
set the Self-Illumination t o 80. Add a Gradient map t o
the Opacity slot and set its Gradient Type t o Radial. . ,>. .am,
- -,
1

!-. i;
-.a+-.

Instance this material t o t h e Material Static operator +


.- -
of the Rocket Particle event. Check o n Show M a p i n
Viewport t o view t h e material in action in t h e
7-
*.-
... - .
.-+. - r-e-
---
-7

-I;-
*-.-. 1

,
- -.
"
=
- - t--
.--.
2--
; I - 7

--- - ---
-7

=.--
Viewport. .--.a
- - .--- .-
u

.-
*
a
-.
---
- =-
--
-.r -
--F

Information: Thls materlal only needs to be baslc and a. -.-:


- ..;--
-
-
.
- - r 7

=-@?-~ :"/F-~ -
does not need to change In lntenslty or color The face map --.----
+
:
"

-.."* : ~
- - -
.
and radlal opacrty gives the lmpresslon of clrcular partlcles
when assrgned to the flat faclng partlcles of the partlcle system
-""-------..-----
-+. ~c
I-~ I ~ . + u - ~ F ; ~I .L~ , , * Label a new material Rocket Trails. Set the
Material Effects Channel ID t o 1, check o n Face
d Self-Illumination and set the Advanced
6 : --
$2.:. rency type t o Additive. Add a Particle Age map
$- z - Diffuse slot, label it Rocket Trails Color and set
"=-'

- ~ - 2 -- -
D-

.
:-
.--.
.--
..-
...--
. m
.--
1;

. ;4,--
" --- " .-iiz-
*-..

* --- j -z--.z
the colors t o white, orange and red a t positions 0, 10
and 100 respectively. Instance this map t o the Self
Illumination Slot. Add a Mask map t o the Opacity slot
-- I i t Rocket Trails Mask. Add a Particle Age
, ---- :, ,
. --...---- he Mask slot and set Color 1 t o RGB 70,70,70,
Color 2 t o RGB 30,30,30 and Color 3 t o black. In the
Rocket Trails Mask's Map slot, add a Gradient map and set its Gradient Type t o Radial. Assign
this material using instancing t o the Material Dynamic operator in the Rocket Trails event.

Information: By using Particle Age maps we can control the color and opacity of the particle
throughout its lifespan. The particle has a very low opacity due to the sheer number of particles being
emitted, and because of additive transparency being used. In addition, we don't want the rocket trails
to be too intense because, if we refer to the reference material, they are as intense as the explosion
trails.

Label a new material Explosion Fragments01


and set its Material Effects Channel ID t o 2.
set Self Illumination t o 100.
white and enable Additive
Transparency. Add a Mask map t o the Opacity slot and
in the Mask slot. Set Colors 1
and 2 t o white and Color 3 t o black, w i t h Color 2's
... -- -
--. -
7-- .
position set t o 60. In the Mask's map slot, add a
.- ..--
----
4-

-.-. -
-7

-- . .d*
- -.-
? .a x
-r- .r-
Gradient map and set the Gradient Type t o Radial.
r- ----. .--- :-; ,.-, --. 5 : ~ -
m i 1
--.--..- 1. + Assign this material t o the Material Dynamic Operator
in the Explosion Fragments01 event.

Information: As before, the material's opacity is controlled by the particle's age which masks a
radial gradient and fades out the gradient the older the particle gets. As we want these particles to
be intense for a long amount of time, the Particle Age map's colors are set to white, making the
particle opaque for the majority of its life.
FIREWORKS 85

Copy the Rocket Trails material t o a new slot


-------....-------
*- ... -..
16
I*". rili>+o.l-- c.ACrl.- ,-zt(o--u
r
rm
and label it Explosion Trails. Rename the Particle
Age map in the Diffuse slot t o Explosion Trails ColourOl
and set Colors 2 and 3 t o purple and blue respectively.
8 -

Rename the Mask in the Opacity slot t o Explosion Trails


Mask and set the Particle Age colors 1 and 2 in the
Mask slot t o RGB 150,150,150 and RGB 90,90,90 -.-. ...
- -m .
.--.-
..-..
-.-
-.:-- - i --=-
i-
"
respectively. Instance this material t o the Material =-.. n -

Dynamic operator in the Explosion Trails01 event.


".
.---, ---.-
s-

Information: As we had the majority of the structure of


*-=+
I,-
-"- ---- ..-. -.- :" r2 77 - - --

this materlal already set up in another material, ~twas


pointless to reproduce everything when we could simply copy the material and tweak a few
settings. Using the reference material, we have chosen a common color scheme for our fireworks
trails - purple to blue as the particle trail ages.

~"--.-~~~F~<Z~F7-eT.:c~
17 Copy the Explosion Fragments01 material t o a
new slot and label it Sparkly BitsOl. Set the
Material Effect Channel t o 1 and remove the maps - - -- -.
from the Opacity slot. Add a new Gradient map set t o
Radial in the Opacity slot, set colors 2 and 3 t o RGB
100,100,100 and the Color 2 position setting t o 0.9.
-
Instance this material t o the Material Static operator
in the Sparkly Bits01 event.
.,-
.--. ...-
.- --,
:=-- z-

.-- - -
Information: Again, as the majority of the leg work has
already been done, we do not need to recreate the material
.
' l"il--
--
e
m---

---
.. -"-- , :?r <- - -
"-. .. -...
The hlgh posit~onof the color 2 setting In the gradient IS to
create a harder edge to the gradient, thus creatlng a more solid color

.--------------
18 Select the Explosion Fragmentsol, Explosior
TrailsOl and Sparkly BitsOl events and shift-
-- . ----
--.
rI13+D.IilPr r..CedJ-

--
-- -
.-.
- ---.
.---
+
,FI * . - . - p t r a --
-,,
.L
:#
drag them t o instance them. Keep settings like for t - --- -
and particle age constant across the duplicate events, ..
-6-
.
;:

but make the other settings unique and tweak them a -- - -- p-


i:-.'
little t o create different explosion speeds and .;
a-
-
-
*-:
---- .4v
-
different particle velocity variations. In addition, copy
the materials for the Explosion Trails and Sparkly Bits I-- . .- -
i; .

(should you decide t o use this event i n the other .!zs:;


- !+ --i:-
,--
-
'T-
I
systems) and, using the reference material provided,
0 -

:=- - - -
.
" ' A _ __I*
86 FIRE

choose different colors for the new event's trails and label and assign them accordingly.
Once you have another three sets of events, wire them together t o the splitter event, as
you did with the original.

Information: Here we design new colors and styles for the additional firework explosions by using
the original explosions as a foundation. By simply amending a few settings, like particle spawning,
and creating new materials and colors to assign to these particles, we can create completely
different effects very quickly and easily.

PART FIVE: With the particles and materials finished, we can add the finishing touches
t o our fireworks by adding glows and lens effects t o simulate intense illumination.

In the Render Effects window, add a Lens Effects


19 effect and label it Glows. Add three Glow
elements t o the right-hand pane of the Lens Effect
Parameters rollout and label them Glow Inner, Glow
Middle and Glow Outer. Set each Glow's lmage Source
t o Effects ID 1, and Use Source Color t o 100. For Glow
Inner, set the Size t o 0.02 and lntensity t o 60, for Glow
Middle set the Size t o 1 and the intensity t o 60, and for
Glow Outer set the Size t o 10 and the intensity t o 50.
Add another Glow and label it Glow Fragments. Set
the lmage Source t o Effects ID 2, Size t o 0.02, Intensity
t o 150 and Use Source Color t o 100.
Information: The Material Effects ID'Shave been passed from the render to the post process
glows we have created, therefore only the materials that have been assigned these corresponding
effects ID'Swill glow.

20 In Video Post, add a Scene Event and OK t o


exit the dialog that pops up as the Camera is
already highlighted. Add an lmage Filter Event and
choose Lens Effect Highlight. Click Setup, turn off
Object ID and enable Effects ID and set it t o 2. In the
Geometry tab, set the Clamp t o 70 and check on Alt
Rays. In the Preferencestab, set the Size t o 3 and
Points t o 6. Click OK t o exit the dialog.

Information: The highlight effect is assigned just to ID 2,


therefore the fragments will have this effect applied to it,
FIREWORKS 87

not the trails. Pixel intensity is used as a guide for highlight strength and Alt Rays used to create slightly
different highlights so the effect is not uniform.

Finally, add an image output event t o t h e


21 Video Post queue and render o f f t h e entire
animation.

Information: Typically, we should always use a sequence


of images in case the render goes awry. If you render out t o
an animation file, such as an AVI (etc.) your image will be
degraded due to compression used in the AVI. Plus, if the
render dies, you will have to re-render the entire sequence
again. I have used AV14 on the DVD purely to keep file sizes
down, but I'd recommend that you use a TIFF or, ~fspace IS ----- , r
-" -- _ --.--
- .
I~m~ted, a h ~ g hqual~tyJPEG sequence

Taking it further
We have used Video Post to design our highlights due to the speed at which it calculates them:
;I normal render effect takes an age to calculate thcin which would dramatically increase the render
times. Because glows are calculated on pixel sizc and not based on actual rendered image size,
should you decide to increase (or decrease) the rendered canvas size you will have to adjust the
glow's size accordingly else it will look either loo intense, too faint or will appear as just a large
splodge.
The result of our efforts is a convincing fireworks system. Because of the way Particle Flow is
designed, we can atld multiple effects. adding layer upon layer of particles and firework styles.
After the scene has been rendered off. you could conlposite the rendered plate onto ;I backdrop of
your house so it would appear as if you have had your very own privatc fireworks display!
The 0 7 - j i r ~ \ v o r - k s - t a k i ~ 1 1 ~ ~ t 1 r t l 1 r ~ i/irc~\~~orks-taken~ji~rtI~~~i:iiinx
i1peg7 file on the DVll uses this
technique - the rendered fireworlts animation was brought back into 3ds niax as a Bilmap map in the
Diffuse and Opacity slots of a self-illuminated material with additive transparency, and assigned to a
Plane object with the same dimensions as the rendered image.
This object was positioned right in front of a plane with a background imagc of cloud and a build-
ing assigned (file O7-firp\a~orks-Dackgro~~n~1.j~~~~ in the fireworks source folder) which was darkened in 3ds
max to create a darlicr environment. Thc fireworlis plane had the 07-~ri~\a~orks-D~1ck~(rro~111~I~ ii~nsk.jpg
as an opacity map to allow the building and bush silhouette to pass through, while thc background
plane used a blurred copy of the fircworlts animation to control self-illurnination, thus illuminating
the building when a firework go1 close to it.
88 FIRE

The whole scene was rendered off with a moving camera to simulate a camcorder. Finally. the 1
i~nimationwas taken into Combustion and blurred slightly when the camera zooms into the firework
to suggest that the camcorder couldn't focus while zooming, which, when thcrc is low light, is nor-
(
mally the case.
Have a li~rtherlook at the fireworks samples on the DVL) and try to add extra effects to make
the scene more believable such as small bright flak explosions when the firework initially explodes,
and smoke from flares and trails from previous fireworks being illuminated by more fireworks. Try dif-
ferent styles and settings using the reference material on the DVD to create your own effects and.
using the knowledge you've gained in this tutorial, adapt the construction process to design your own
fireworlts display!

Yc
nc
of
eil
a I
Re
US1
mi
ter
Introduction
You would think that creating glowing coals would be a relatively simple procedure. Not
necessarily so. Like any other natural effect, a lot of elements come into play - it's not just a case
of bung in a few lights, crank up the glow and render. The way the coal burns, and disperses
either through friction from an adjacent brick or through third party interaction, it never glows in
a uniform fashion. In this tutorial we will first create and distribute the bricks using a basic
Reactor dynamics setup (purely to save time and to create a more natural arrangement). Next,
using lights distributed with these bricks, we will illuminate the pile of coal, which will have
materials we have designed assigned to them to control the broken-up and partially burning coal
texture. Finally, we will assign a glow render effect to intensify the hot areas somewhat.
90
-
FIRE
- -

Analysis of effect
Depending on the time of day, this particular effect is viewed differ-
ently. To illustrate this, open up the E'ire/06-CoalslR~rl;:r~nc1~lMovi~.s/
coals02-night-high-low-exposurcr.mpeg on the DVD. (a) In this clip
you will notice that as the exposure is reduced, and less light is
passed into the camera's lens, the more intense the colors become.
(b) Compare this to the coals01-night-high-rxposm.avi in the
same folder - the colors are more desaturated and the surround-
ing areas brighter, as there is more light passing into the camera's
lens. The same can be said when viewing the scene in daylight -
there is very little hint that the coals are actually hot at all, apart
from the smoke and occasional lick of Sire poking its way from
beneath the coals. (c) Open up the coals0L~hy.rr~peg (in the same
folder) and notice that there is no hint of a glow whatsoever in the
footage. This is also consistent in the other daylight clips because
the sun is so intense: it is washing out the subtle glow from the hot
embers. Therefore, to get a recognizable glowing coals effect,
we should design our scene so that there is very little light, if any
at all.
(d) Analyzing the dark clips, we notice that the glow of the
individual coals are most prominent where they are adjacent or
touching one another. The coals on the exterior of the pile do not

r
glow as much as the others because they are more exposed to
fresh air, which cools them down a little, and also because the

1
heat is not concentrated in a confined space (as it is within the
center of the coal pile). Some parts of the charcoal have also bro-
ken off, leaving some interior parts of the coal brick more exposed
than others, which are hotter than the exterior parts and there-
1
4
I
fore glow more. The occasional spark or debris also escapes from
the pile - be it part of the brick, or charred paper which has got

-
caught in the updraft of the rising heat emitting from the hot
coals.
First of all, we will have to create the positioning of the coals.
To do this, we could either manually place every single piece of
coal o n a plinth, in a bowl or on a barbeque. but it is a lot easier
and quicker to automate the process using Reactor, as we can lit-
erally drop a load of coal onto the surface and there we have our
'naturally' placed bricks. Easy! To create the intense glowing
inside the center of the coal pile, we can use Omni lights with
falloff. Now we could just drop a few lights in and around the pile.
but there will be some areas which will be more intense than oth-
ers, and some of the sides of some of the coal bricks will not be
illuminated correctly. Therefore, we can link lights to the bricks
that we drop onto our surface so they illuminate the adjacent
h r i ~ k with
s their 'glow', but won't illuminate themselves as the light source will be contained within
the brick geometry. The cracked and glowing effect will be the trickiest part, with the majority of the
legwork coming from procedural maps and a complex material setup, but it's nothing we can't han-
dle. Finally, the odd spark or rising debris will be generated with a simple particle system and basic
Space Warp setup.

Walkthrough
PART ONE: After loading in the initial scene, we will first create the charcoal bricks,
link lights t o them and distribute them in the vessel provided.

Open up the FirelO6~CoaIslSourceI08~coaIs~


1 startrnax file included on the DVD. In the Top
Viewport, create a Sphere primitive with a Radius of
100 and label i t CharcoalOl. Set the Segments t o 16.

Information: The initial scene consists of a basic dish


that is currently set to a low polygon density so that when
we perform our dynamics calculations, it doesn't take all
that long to work out any collisions. The low polygon
sphere, as it will not be collapsed and is therefore going to
be parametric, can also have ~tspolygon density increased I-
- - . .--
...-A
-

--. - .- -/
- ,-*
I
a,

later on rf so deslred

Add a FFD3 x 3 x 3 modifier t o the Sphere's


2 modifier stack. In the Left Viewport, select all of
the FFD handles and scale them down vertically t o
about 50% of its original height. Next, in the Top
Viewport, select the handles in the outer corners and
scale them along the X and Y axes so that they are
200% of their original size. The resulting shape should
be that of a flattened and rounded cube as shown.
Information: By addinq - an FFD modifier, we can squash ,-. _ . -.. -,,- - _ - --. - *-. .::mz;L.;
and stretch the geometry to our heart's content As thls
A
*

mod~fierIS non-destructive- I e no vertices or polygons


have been created, welded or deleted -we can amend the mesh at the base of the stack later on if
desired
92 FIRE

---------------
,
:I- SF-:., roo re,=?~, + ~ + r t n : - ~ n r. , *
-mIsml. Next, create an Omni light in the Top Viewport
,.*=,
,....-
.

._.- -
--
-
-~ ---I"Y-
= - - -~
--
..-A
.
-
+..-
3 and position it in the center o f the Charcoal01
object. Label it Omni Charcoal Glow01 and link i t t o
"
-.. .. -
-- the Charcoal01 object. Enable Shadows and set the
- ,
..-,*,

-*..-- ...... Multiplier t o 3. Set the color t o RGB 198,73,0 and set
-.,
.- ..
,
.-
-.:- - .- the Decay Type t o Inverse Square. Enable the Decay
---. -.. - -

.--. - *- Start Show and increase the Start setting until i t


.-.,.
-. ,
-.- -- . reaches the external horizontal boundary o f the
-.
--
-.- Charcoal01 object in the Left Viewport - about 160
,>
-
.-
-

.
--- , - ~. - ,--
- -
- .--- .
. -.
~ - -
m-.
: - - . .. _r
, . I
.,. should suffice.
Information: Typically, you should not really increase the
multiplier of a light over a value of 1 else colors are washed out (for values greater than 1, a clone of
the original light should be used). For this instance, as we are using lnverse Square decay, which is as
close to how real light behaves as we're going to get, this doesn't matter. As the light's decay should
start from the exterior of the Charcoal object, the Start setting is amended.

Enable Use in the Far Attenuation section and set


4 the End setting t o 1000. In the Advanced Effects
rollout, set the Contrast and Soften Diff. Edges t o 100.
In the Shadow Map Params rollout, set the Bias t o
0.001, Size t o 128 and Sample Range t o 10. In the Left
Viewport, scale the light down vertically by about
50% so that its lnverse Square Decay Start guide is
close t o the t o p of the Charcoal01 object.

-- . -- - . ----- "I
-...-
.I. . r *
Information: The Far Attenuation is used to specify to
the Inverse Square Decay exactly where the decay reaches
the value of 0 If this attenuation setting IS not used, the
decay will continue to be calculated to infinity which will increase render times The Contrast has
been increased to make the l~ghtmore intense in places and the Soften Diff. Edge setting increased
to diffuse the falloff from lit to shaded areas somewhat The B~ashas been reduced to tuck the
shadows behind any shadow casting objects so that they are not detached, the Size reduced as we
do not need any detailed shadows in our scene, and the Sample Range increased to diffuse the
shadows at render time
COALS 93

5 Proxy. At the base of this new object's modifier


stack, amend the Segments t o 8. In the Left or Front
Viewport, select the Charcoal01 and Omni Charcoal
Glow01 and Shift-Move them vertically t o create a
copy on top of the original with a gap in-between the
copies. In the resulting dialog that pops up, use
Instanced cloning and enter 15 copies. Offset every
other Charcoal copy; or as many as you see fit, so they
=. ..
_ _ .. . . .- .-. --.--
..,.
. ,
are not exactly lined up. , . . ..
,--..,
. . ., . - ,
f
---.- I- I . I.
-I- - ..I

Information: The low polygon Proxy object has been


created so that it can be used in the dynamics simulation instead of the original Charcoal geometry,
which has more polygons and will therefore take longer to calculate. The cloned stack is offset
slightly (with the linked lights following suit) so that when the dynamics simulation is calculated, the
bricks will slide off one another and not just sit there for an age until they tumble. Just to give them
a helping hand.

Instance clone the Charcoal and light stack


6 another three times so that there are about 40 t o
50 instances in total, and offset the stacks so that they
are still above the dish but not touching one another.
Next, create a Rigid Body Collection and add all of the
Charcoal objects (not including the Proxy object) and
the Dish t o the Rigid Bodies list.

Information: Offsetting the Charcoal reduces the chance


that they will pass through one another when the dynamics
s~mulat~on IS calculated The D~sh IS added to the R~gld
I
-"
, ...
--.-- - -. .-.. --. . . --s-- .,.
1

Body collect~onso that ~tcan be Included In the s~mulat~on


for the Charcoal to settle on

7 Open reactor in the Utilities tab. Right click the


Play Animation button and set the Length t o 1000.
Exit this panel by clicking OK. Select all of the
Charcoal objects and set the Mass t o 0.1 kg, Elasticity
to 0.3 and the Friction t o 0.6 in reactor's Properties
rollout. In the Simulation Geometry section, enable
Use Proxy Convex Hull, click the None button and
select the Charcoal Proxy object. Select the Dish and
set i t s Mass t o 1 kg, Elasticity and Friction t o 0.3,
enable Unyielding and set the Simulation Geometry
94 FIRE

t o Concave Use Mesh. Test the simulation by clicking on the Preview in Window button.
Ignore any messages. If the simulation is n o t t o your liking, re-arrange the objects and run
the simulation again. Once satisfied, go t o the MAX menu in the preview window and
select Update MAX.

Information: A very large step yet quite straightforward, this section sets up the dynamics
properties of all of the elements in the simulation. Not being happy with the original simulation
result, I have also added another stack of bricks, which brings the total up to 64. The timescale has
been increased so we have adequate time to calculate the dynamics of the objects when the
animation is created, should you wish to generate the animation and not just update the Max scene.
We're not overly concerned about any messages that pop up as we only require the end result of
the simulation, not the animation itself. Using the Update MAX option enables us to use the
positions in the preview window to position our geometry in max. Because of which, we can
manually position objects in the preview window which gives us a lot more flexibility as to where
our objects will finally rest.

Select the Dish and select the Circle at the base of


8 the Modifier Stack. Expand t h e Interpolation
rollout and enable Adaptive. Go t o the Lathe modifier
and increase the amount o f Segments t o 64. Hide the
Charcoal Proxy object. A quick test render shows our
glow effect working nicely. If there are any objects
andlor lights which are not quite right, re-arrange
them slightly or delete them.

Information: As the Dish has its Modifier Stack


r= -- .-. ., , ..
--
. .--
, - -._. .- ' ..
.. ., ,._. _,-
.-..l._-
.
.,..* . maintained, we can easily refine it because we are not
manually creating any additional polygons, but simply
adjusting a few settings. The light intensities appear to be working properly, however in some areas
the shadows seem a little harsh. To rectify this, you can amend shadow settings a little to smooth
them out somewhat, although a lot of this can be sorted out with materials, which we will tackle
next.
COALS 95

PART TWO: W i t h t h e i l l u m i n a t i o n all set up, w e n o w n e e d t o create t h e material f o r


our coal.

Open the Material Editor and label a new material


9 Coal. Change the Shader t o Oren-Nayar-Blinn, set
the Diffuse color t o RGB 65,65,65 and check on Self-
Illumination. Expand the Maps rollout and add a Mask
map t o the Bump slot. Set the Bump amount t o -100.
Label this Mask Charcoal Bump. In the Mask slot, add
a Falloff map and label it Bump Illumination Mask. Set
the Falloff Type t o ShadowILight and swap t h e colors.
Amend the Mix Curve t o that illustrated.
Information: The Oren-Nayar-Bl~nnshader 1s used i .---..
--. r _ . _ -_ -..-*.
I. .
because ~tgtves a mater~alfalloff more su~tedto the effect
we are trylng to emulate We have created the bastc shade for our charcoal bnck, whlch we will add
self lllumlnat~onto later on In the des~redplaces The Falloff map masks the bump so that where
l~ghthits ~t1s not as bumpy - 1.e the Irregular surface of a normal charcoal br~ck1s textured. The
glowlng one has had these lrregularlt~esburnt off

----------------

m!
Add a Noise map in the Map slot o f t h e Mask
10
I-. .-7.,cn+u,c r . .fie- -*a&- ',
'I:,'
Charcoal Bump map and label it Craters. Set .- 03.

the Noise Type t o Turbulence w i t h a Size o f 12.8, High


.-.
, .... .
.* .,..-..-
of 0.71, and Levels t o 10. Add a Noise map t o the
Color 2 slot and label it Noise Breakup. Set the Noise "
.i:-.l,
---...-
-'.I
- -
-. --
.
t..

Type t o Fractal, Size t o 50, High t o 0.605 and Low t o


0.08. Set the Color 1 swatch t o white. Set the Color 2
.
.----
---
. -..
--.
-..
swatch t o RGB 30,30,30, check on Enable Color Map .....-
... . --
..
and amend the Output Color Map curve as shown.

Information:The Falloff map masks out the bump that


... ..
;
.
. . . ___
. . .., . .- - . ,-.
.- -...
-
. -
P..

. ?cc-~,I,,%"!
~--l;=::;:!:
has been created using the nested Noise maps. The first
Noise map creates a general small bumpy surface that is relatively regular. The use of the second
Noise map is to break up the repetition using a larger noise with a different Noise Type. The Color
map is used so that the broken up noise does not fade in or out very much, if at all.
96 FIRE

At the top of the material stack, add a Mix


11 map t o the Self-Illumination slot and label it 51
lntensity Increase. Set the Color 2 Swatch t o RGB
198.37,O. Add a Falloff map t o the Mix slot and label
it lntensity Mask. Set the Falloff Type t o ShadowILight
and amend the Mix Curve t o that illustrated. Add
another Falloff map t o the Lit slot and set the Falloff
Type t o Fresnel. Label this map 51 Edge Intensity.

Information: The Mix map overlays a color which is


controlled by a masked Fresnel map, which is more
prominent where light is present, therefore being most
intense in the areas of high illumination -- i.e. in the 'hot' areas of the pile of coals.

Add a Mix map t o the 51 lntensity Increase Mix


12 map's Color 1 slot and label i t 51 Intensity. Add
another Mix map t o this map's Color Slot 1 and label
it Back Side. Add a Falloff map t o this Mix map's Color
2 slot and label it Glow Color. Set the Side slot t o
RGB 251.60.5 and set the Output Amount t o 4 in the
Output rollout. In the Back Side Mix map, instance the
Charcoal Bump Mask map t o this map's Mix slot.
Information: As there is no additional mixins - at the
. . .___
,. . . . - *.-....
-.... ..
.E l ~
.
--- ..
_ ( :....- " .?.
. .-
-
Lm--
moment, we have just created a glow using a Falloff map
k ;... ' V

(which is set to a high intensity) that is controlled using the


material's Bump map, which positions the glows where there is texture in the surface. I

In the 51 lntensity Mix map, add a Mix map


13 t o the Color 2 slot and label it lntense Side.
Instance the Glow Color Falloff map t o the Color 1
slot of this new Mix map, add a Falloff map t o the
Mix slot and label it Intense White Mixer. Set the
Falloff Type t o ShadowILight and amend the Mix
Curve as illustrated.

Information: We want the same glow pretty much


- across the board. but broken UD around non-intense areas.
rB . -~ ----" ... . . . , , . -.- -.
- . . - i -
- .,. ... Therefore, the same glow is used in the intense parts of the
r-==-**,*
8

material. It is also mixed with a white color to show even


more intensity where there is light which is automatically controlled using a Shadow Light Falloff
map.
COALS 97

To put i t all together, add a Gradient Ramp


14 map t o the 51 Intensity Mix map and label i t
IntenseIBack Side Mixer. Set the Gradient Type t o
Lighting and Interpolation t o Ease In. Move the
current flag a t position 50 t o position 20, create a flag
at position 38 and set it t o white. Back u p at the t o p
of the material, set its Material Effects Channel ID t o
1. Select all of the Charcoal objects i n the scene and
assign this material t o them.
.. .,
. . .- . : - ~ - - ~,-,.
.-.- ..
x . , +

Information: Using a Gradient Ramp gives us more


r
....-*.,
~~~~~~~-~
. .. .
.
2
.r
.. s >.

control over falloff with respect to lighting than using


either a nested Falloff map tree or by playing around with Mix curves. This map is used to create a
nice transition from illuminated to non-illuminated areas of the coal, so the intense colors are on the
illuminated areas, whereas the subtle self illumination is on the non-illuminated or shadowed areas.
The Effects Channel ID is used to pass the material information across to the renderer so we can
assign a glow to objects that have this material assigned to them.

PART THREE: With the main material set up, we will now create a new material that
will be assigned t o a Particle Flow system to simulate rising debris.

Label a new material Debris and set its Material


15 Effects Channel t o 1. Set the Diffuse color t o
RGB 255,75,0, enable Self-Illumination and set its
color swatch t o RGB 255,115.0. Add a Particle Age
map t o the Opacity slot and label i t Debris Quick
Fade. Set Colors 1 and 2 t o white, w i t h Color 2 at
position 75, and Color 3 t o black.

Information: A quick step and pretty self-explanatory. By


viewing the reference footage, we can see that any rising
debris glows for quite a long time, and then suddenly
diminishes in intensity, hence the large amount of white in
the Particle Age map.
98 FIRE

In the Top Viewport, create a Wind Space Warp


16 in the center o f the Dish and label it High
Turbulence. Set the Turbulence t o 10. Copy this Space
Warp, label the copy Low Turbulence and set the
Turbulence t o 3. In the same Viewport, create a Particle
Flow system and label it Debris. Set the Viewport
Quantity Multiplier t o 100 and open Particle View.

Information: As we.want two types of turbulence, a


= -.
s ,. , ---
-
- - .--.r r.- 6-- --- +:;-
-* ;-
-
--.--
-.
-r-. c
A
strong and a more subtle one, we need to create two
different Space Warps wlth different turbulence settings.

----------------
'P?. I-I ~ O D + O . I F Z P r~. d c d > r - 7 r

-
,
-17
+r,rPI%6L-3p In the Birth operator, set the Emit Start t o -50,
Emit Stop t o 200 and Amount t o 200. Replace
- * --
- the Position Icon operator w i t h a new Position Object
.--
-- operator and add all o f the Charcoal objects t o the
----

:~-:-m
r- 7
-- Emitter Objects list. Remove the Speed operator and
-----
1-
--
-"-
- -- add a Spin operator. Add a Split Amount test under
...-- r.-.._-.--- , . -
C.. ------..
---- - ,-- t h e Shape operator and set the Fraction of Particles
.--
--- .-
m -

..-- ...-.-.-
TZ-
-

.--
m
rn
-+i;=- Ratio t o 10. Add a Send out test underneath the Split
.-- -- "-
...-
.---
--
-
- .. -
p ? . . " . - - - - - - " -.-F
, C L b
" - - - --" " - --.- -
------- --. - --.--
-
.
- - , . ,.
Amount test.
Information:The bas~csetup for our partlcle system
s~mplydeflnes the shape and what IS golng to emlt the
particles In the scene - namely all of the charcoal br~cksWe are golng to send out a small
percentage of part~clesto one event and the rest to another event

Drag out a Scale operator t o t h e canvas t o


18 create a new event and label t h e event High
Turbulence. Set the Scale variation t o 100 for all axes.
Add a Material Dynamic operator and drag the Debris
material t o the slot in this operator. Add a Force
operator and add the High Turbulence Space Warp t o
its list. Add a Delete operator and set the By Particle
Age's Life Span and Variation t o 30. Wire this event t o
the Split Amount test in the other event.

Information: The 10% sent out from the first event have
the High Turbulence Space Warp assigned to them so that an
occasional particle flies up with more vigor than the others.
I
COALS 99

Instance the High Turbulence event and label


19 the copy Low Turbulence. Make all operators
nique apart from the Material Dynamic operator. Set
this new event's Scale operator's Scale Factor t o 20 for
all axes, remove the High Turbulence Space Warp
from the Force operator's list and add the Low
Turbulence Space Warp i n its place. Amend the Delete
operator's Life Span t o 10 and Variation t o 5. Wire this
event t o the Send Out test i n the first event. Finally
open the properties o f the Debris root, enable Image
Motion Blur and turn off Cast and Receive Shadows.

Information: We have cloned the original turbulence event and, by making a lot of the operators
unique, we can amend the settings and not affect the originals. We do, however, want to keep the
materials the same, so this operator is not made unique. The result is two sets of particles - one
with a shorter lifespan which rise slowly, and the other which shoots off particles a lot faster,
suggesting that the particle is lighter and getting caught in the updraft of heat emanating from the coals.

PART FOUR: With all our scene elements finalized, we can complete the effect by
adding a subtle glow.

Right-click the Play Animation button and


20 amend the Animation Length t o 200. Open the
Render Effects window and add a Lens Effects effect.
Add a Glow element t o the right-hand Lens Effects
Parameters list. In t h e resulting Glow Element rollout,
set the Size t o 10, Intensity t o 60 and Use Source Color
to 100. Click o n the Options t a b and enable the
Effects ID. Render o f f the scene.

Information: As the Effects ID corresponds to the ID we


assigned to the materials earlier on, the glow is only
. ..
---
--...
. t.->,L-..
- ..
*
... -
.- -
t ..~..-
assigned to these materials. Because we do not need the
animation to be as long anymore it has been reduced to a feasible amount.
100 FIRE

Taking it further
Our final scene shows the glowing embers, err... glowing, with the odd glowing particle rising up in
the heat from the coals.
If you observe glowing coals on a fire or barbeque, after a while the stack collapses, showering the
coals in sparks as they rub against one another and break apart, revealing a brighter glow. This could
be simulated by running a Reactor simulation again on the coals with a lower friction (or with the
same friction but with a downwards force applied to get them to move). Volume Select modifiers could
be used to detect when an object collides or rubs up against another object, therefore generating a
selection for another particle system to generate a load of sparks, which could be affected by the wind
system we already have in the scene.
Alternatively, try breaking up the geometry of the coals and use the Fracture feature in Reactor
to get them to break up realistically and to start emitting particles when they move (hint: Speed Test).
You may also want to add some extra texture to the illuminated areas so the colors are broken up
a little more, and even try using the Bump map and/or Self Illumination map in conjunction with
material displacement. Finally, try animating the hot embers a little by using a Noise map to control
the color and animating its Phase slightly to give the impression that there is a hint of a flame in there,
licking the sides of the coals and making them glow in places (see the Wood Fire video tutorial on the
DVD-ROM).
In the additional 3ds max file (and rendered animation) included on the DVD ROM. I have ani-
mated each Omni light using a Noise controller on the Multiplier value. This makes the coals flicker as
if there was a subtle breeze blowing over them making them glow. This, in turn, complements the
existing motion of the particles in the scene.
t first glance, water effects appear quite easy

A to do, and so a lot of the time it results in

failure. Water dynamics are exceptionally difficult to

simulate, which is why research still continues into

producing the most effective fluid dynamics system.

In this section we will concentrate on creating fluid


1
$
effects, from calm to stormy seas, risina bubbles in a

glass of lemonade and even create convection

effects with a lava lamp, amongst others. See the

DVD-ROM for more water effects in the Videos

section.
I
.pauels la6 s,lal pue 'pueJq
UMO s,lay~ew~adns 40 al$$oqe uado os .p!nb!l ayl pue ssel6 ayl 01sle!Jalew Q!seq) aql6u!ppe aq
0161406 aJ,aMlnq 'se6 40 salqqnq 6u!leaJ3 lnoqe s,~!se uo!pas J!V ayl u! aq Allea~plnoys le!Joinl
s!c(lhlle3!uq3al 'heyo .dn $as 01 walsAs ap!ued 6u!6ualley~e aynb u! JlnsaJ ue3 s!yl 'p!nb!l a q u!
papuadsns slods al6u!s 6u!laheJl, pJ!aM w o ~pue j wolloq ayl uo p a w ~ oaJe
j hay$A ~ Maql 'a3epns
aylM !YI DeaJ pue IaneJlhay$A ~ Mayl !a~esalqqnq ayl 'IlaM i l e y l inoqe 6u!qsa~alu1 os s! leyM
japeuoual aq 01JaieMayl IU~M noA 41 IeqM lnq 'qyeeeeev .JaleM 40 ssel6 aldw!s e ayew 01 xelu
$06 an,aM !aria s,~!puv ,jleyl $noqe 6u1lpxas!
spE olu! ly6!J ll!nq paau aM 6 u ! y ~ h a ~Allenu!~
a
leqM, 1q6noqi I uayl 'Jaienn jo ssel6 e ayew 01 ~ o uo y le!Joln$e apnpu! 01 6 ~ 1 0hlleu!6!~o
6 seM I

uo!qmporaul
104 WATER

Analysis of effect
(a) The actual glass and lemonade effects are pretty straight-
forward as these are generic right across the board (albeit from a
slight amount of distortion due to imperfections in the glass).
These imperfections are actually what increases the amount of
bubbles in the lemonade. For example, in a freshly poured glass
of lemonade, stick your finger into the liquid. You will notice that
bubbles will form around the whorls of your fingerprint. any
loose skin and any other debris present on your finger. The same
can be attributed to the formation position of the bubbles on
the inside of the glass; they form where there are imperfections.
dust and debris on the surface of the glass. (b) This can also be
seen in the small vigorous trail bubbles which casually drift
around inside the liquid and emit a stream of trailing bubbles at
a fast rate. Look very closely and you will see a small piece of
debris which the bubbles are forming around. As there is noth-
ing much for them to form around, they immediately slip off the
surface of the debris, accelerate upwards and hit the surface of
the water at which point, due to surface tension, they either pop
or travel (due to the meniscus of the fluid) to the side of the glass.
(c)If they make it (they might pop en-route) they either get stuck
in the meniscus or travel around the glass a little before bursting.
Other bubbles also behave the same way when they reach the
surface of the liquid; these are born by forming around imper-
fections or debris near, or on the base (which is what we will con-
centrate on Ibr this tutorial) of the glass. (d) After the gas has
collated. and the pull upwards from the difference in pressure is
greater then the tension on the surface, the bubble detaches and
travels upwards (at roughly the same speed as the tiny trail bub-
bles), where it hits the surface and behaves as the small trailing
V
side of the gla: bubbles do.
I 1111~1011 1 ~ 2bul)blesleilhMger or^ trav The actual construction of the glass and lemonade objects
has already been done for us; they are both derived from a single
lathed spline which has been modified to create the two sepa-
rate objects (so their geometry is close to one another). The
lemonade geometry has also been reduced slightly in size so
that the outer polygons of its geometry are not fighting with the
inner polygons of the glass for which one is displayed on top.
which occurs when two faces occupy the same co-ordinates. We
will need to create materials for them, which can be done very
easily with the use of the Architectural Material. The bubbles
themselves will be generated using a Particle Flow system in
two separate stages. Firstly, the small particle trails will be cre-
ated using the lemonade geometry as an emitter for a couple ol
LEMONADE 105

individual particles which will move around the volume of the 'liquid' at random. As they travel, they
will emit a stream of particles which will be passed to an event containing Wind to make them accel-
erate upwards to the surface. Upon reaching the surface, they will come into contact with a deflector
that will force them to spawn an additional particle (with the parent particle being deleted) to kill the
velocity. This particle will then be passed to another event to make a transition to the nearest side of
the glass which, if it makes it without bursting, will linger and move around the edge of the glass for
a short period before popping. The other stage is the bubbles forming and rising from the bottom of the
glass. These particles will scale up and, once they reach a certain size, will be passed to a n event which
accesses the same wind as the other particles. Upon hitting the deflector, the particles will be passed to
the same event as the trails particles so that they behave in the same way (and to save us extra work).

Walkthrough
PART ONE: First we will load in the initial scene. After which, we will create and
assign the materials for our glass, lemonade and bubbles.

Open u p the WaterJ09-LemonadelSourceJ


1 09-lemonade-start.max file included o n the
DVD-ROM. Press M or click on the Material Editor
button t o open u p the Material Editor. In the first
available slot, create a new Architectural material and
label it Glass. Choose the Glass-Clear preset from the
pull-down menu in the Templates rollout and set the
Diffuse color t o white. Assign this material t o the
Glass object in the scene.
Information: A qu~ckword of warnlng before we go any '
.--
-""- -
--. - . ..
,

further - this scene makes heavy use of raytraclng and


reflectwe Arch~tecturalmaterials, so ~fyou are uslng a slow mach~ne~tmay take a wh~leto render rt
off Our bas~cscene IS compr~sedof a (rough) cafe style layout wrth a few tables and ashtrays
situated on them Th~sIS the same scene that IS used In the Crgarette Smoke tutor~alWe are uslng
the Glass arch~tecturalmater~alas rt already has the bas~cfeatures set up with~nthe preset, so we do
not need to generate our own glass mater~alfrom scratch As a rule, ~f~ta~n'tbroke, don't try to frx
rt We have adjusted the Drffuse Color of this mater~albecause in th~smaterial type ~thas an affect
on transparency
106 WATER

---------------
..- , "'.-'-,
2 Clone this material a couple of times and label
r rJ3 *"-?=?.m , :<,.,,?. r--7;w. e , "W a ;c--3-

them Lemonade and Air accordingly. In the


Lemonade material, change the Template preset
menu t o Water and in the Air material change i t t o
User Defined and set the lndex o f Refraction t o 1.02.
Assign the Lemonade material t o the Lemonade
object in the scene.

Information: As we have got the basics of the other

. . . . .. . . . . . . . .
materials alreadv set uo.
, . we do not need to reoeat
s
r~~
.
-- ~
. . _--
. --.- .....- , , ~ . --
~ -~-. ~ . - -_.-
-
-
m--.,,,,.
ourselves, therefore we can just clone the material to save
.3..F.,.

ourselves extra work. The Air material is going to be


assigned to the particle system in the scene which will act as the bubbles. We have used an lndex of
Refraction (refractive properties of a medium) setting that is not air else the bubbles would not be all
that visible. Therefore, a low IOR will not distort the scene elements behind the object with this
material assigned too much (as air wouldn't), but will reflect and refract enough on the perpendicular
to suggest that there is a bubble of air in the liquid, instead of another substance inside the liquid,
which is what we are really creating. But because of the low IOR, we can get away with it.

PART TWO: With the materials set up, we will now set up additional objects in the
scene t o control the motion and interaction of the bubble particles.

3 In the Top Viewport, create a UDeflector Space


Warp. Click on i t s Pick Object button and select the
Glass object in the scene. Set the Bounce t o 0.1. Still in
the Top Viewport, create a Deflector Space Warp over
the t o p of the Glass and Lemonade objects. In the Left
Viewport, reposition this Deflector so that it is
situated underneath the meniscus (the curved part) of
the Lemonade surface, along the main surface of the
Lemonade.
:" .
~~. - -
--. . ..-.
..,. , -
. ' . . ,. -. .. - -. . . . . .-.-~:
'f .
:T
Information: The UDeflector is to detect collisions for
f,:

events later on, and to prevent any particles passing


through the sides of the glass. This is highly unlikely due to their motion, but it is better to be safe
than sorry. The meniscus of a fluid is the curved area where it comes into contact with a solid object,
e.g. the side of a glass or cup. When viewed in the Left Viewport, the top of the meniscus of the
Lemonade is (obviously) higher than the majority of its surface, so ensure that you place the
Deflector in the correct place or else the particles will pass through the surface of the Lemonade.
There is no Bounce set in the UDeflector as we want the particles to just brush off the side of the
glass. The Bounce remains in the Deflector as we are simply using this Space Warp in a Collision test
to send the particles to the next event, so the Bounce will have no effect.
LEMONADE 107

In the Left Viewport, select the Lemonade object,


4 create a reference copy of it and label it
Lemonade Base Emitter. Add a Slice modifier t o this
reference copy and enable Remove Top. Still in the
Left Viewport, rotate the Slice modifier's Gizmo 90
degrees anti-clockwise t o remove the top half of the
mesh. Move this gizmo down so that 113 of the curved
geometry atthe bottom of the glasshas been sliced
off. Add a Normal and a Push modifier. Set the Push
Value t o 1.5. Right-click this object and select . . -. -.
I
....."- - - .
~~ ~ ~~

.:
-
. ,. . . . ,- -. . . . :.,:..:.-. --*-- ., <.
..,
Properties in the resulting Quad menu. Turn off
Renderable in the resulting Properties panel and click OK t o exit. In the Top Viewport,
create a Wind Space Warp in the middle of the Glass and set i t s Turbulence t o 0.5.

Information: This reference copy is used to emit the growing bubbles emanating from the bottom
of the glass. We have flipped the normals and pulled in the mesh so that the particles are being born
(and grow) on the inside of the glass. If we did not have the Push modifier added, the bubbles
would grow and intersect the Lemonade and Glass geometries. This object has been made
non-renderableas it is simply an emitter object, yet has been kept as a reference just in case we
do anything to the source geometry, such as change its shape later on. The Wind Space Warp has
been added so the particles accelerate up the glass and don't just travel with a linear speed.

I PART THREE: We will now develop the first part of the particle system which generates
the small bubble trails.

5 In the Top Viewport, create a Particle Flow system


-
--= - - - . - Z ~ ~ T F n 7 Z F % ? y T ~ . a > ~ - r. &,-ma;-
.
-
J.
r - ,
*DT

and label it Bubbles. Set the Viewport Quantity -


-P
-
-
I-

Multiplier t o 100 and click on the Particle View 'I.. - , -


button. In Particle View, rename Event 01 t o Bubble
-- - -. .... - . :. P -
f
, b
7

Trails Emitter. In the Birth operator, set the Emit Start

. ..
and Emit Stop t o -100 and Amount t o 2. Remove the
Rotation and Shape operators and overwrite the
s .: -.- ..
Position Icon operator with a Position Object
i--
m-
kZY-.
.-.=j ::-
EY- ;:: , - -
e-
)=-e:-
operator. In this new operator, add the Lemonade ---a -
object t o the Emitter Objects list and change the
m
I=- .. ._ . . . . . .
-
. .-----
a .
. I
- ._. -.-.--
. . ,*
. . ---.--,, -
Location t o Volume.

Information: As we want the particles to be already born when we 'join' the scene, we need to set
a negative frame for the birth of the particles. - 100 was used to give the trailing particles (which we
will set up shortly) time to move up and interact with the surface. Currently, we are only using two
trails (hence the Amount setting of 2), but this could be increased to any setting you want, as the
information will be passed on down through the events to come and acted on accordingly.
108 WATER

Select the Speed operator and set the Speed t o 3


6 with 10 Variation and a Random 3D Direction. Add a
Collision test and add the Deflector and UDeflector t o its
Deflectors list. Turn off the entire particle system. Add a
Spawn test and enable Per Second. Set the Rate t o 50
and the Inherited Speed t o 0. Drag a Material Static
operator t o the canvas t o create a new event and label
this event Trails Motion. Instance the Air material from
the Material Editor t o the slot in the Material Static
operator. Wire the output of the Spawn test t o the input
of this event. Turn the particle system back on.

Information: We have added the deflectors in case the emitter particles move through the sides
of the glass; even though they are moving very slowly, there is a chance so we will prevent this just
in case. We have had to turn off the particle system before setting the Spawn test's settings else, as
we have set the birth time back to - 100, the particle spawning will have to be calculated for 100
frames which, with the default settings and other operators in this event, can take a while, because
of the spawned particles being stuck in the same event, spawning even more particles! Once the
spawned particles have been passed to the next event we do not have the update lag problems, so
the system can be turned back on.

7
Add a Shape test t o this new event and set the
Shape t o Sphere with a Size o f 2. Add a Scale
operator t o the event, set the Scale Factor t o 40 for all
.
(I... . --
. -..
\ I

axes and the Scale Variation t o 5 for all axes. Add a


Force operator and add the Wind Space Warp t o its
Force Space Warps list and set the Influence t o 250.
Add a Collision test t o the event and add the
UDeflector t o its Deflectors list. Add a Collision Spawn
test and add the Deflector t o its Deflectors list. Set the
Spawnable setting t o 50. Drag out a Speed operator
t o the canvas t o create a new event and label this
event Glass Attraction. Set the Speed operator's Speed and Variation t o 10 w i t h a Random
Horizontal Direction, and wire the Collision Spawn test t o the input of this event.

Information: We have used a Shape operator, set its size to a certain amount, then reduced it
dramatically using a Scale operator as we will use an instance of this Shape operator in another event, so
we required an additional operator to sort out its scale and scale variation. The Force operator has the
Influence dropped to 250% (a setting of 1000% is the same as 100% influence on the legacy particle
systems) to get the bubbles to accelerate up through the liquid and to disperse a little near to the top of
the liquid. We have added a Collision test so that the Wind-affected particles do not pass through the
sides of the Glass. We have used a Collision Spawn test because it kills the speed of the spawned particle
so that we can assign a single Speed operator which disperses the bubbles across the surface of the
lemonade. We don't want all of the bubbles to be dispersed; some need to pop, hence the reduction of
the Spawnable setting to 50%. To illustrate this in the Viewport, set the Display operators to show
Geometry.
LEMONADE 109

Copy the Material Static operator i n the Trails


8 Motion event and Paste lnstanced it into this new
event. Add a Find Target test and change it t o Control
By Time. Set the Time setting t o 20. Enable Mesh
Objects and add the Glass object t o the Target list.
Change the Point t o Closest Surface. Copy and Paste
lnstanced the Collision test from the Trails Motion
event. Add a Delete operator, enable By Particle Age
and set the Life Span t o 10 w i t h 0 Variation.
8. ' x.i
"> .. .-. . . . . . .
Information: The Find Target test is set to look for the ---.----. ..- . -r 1
*..
.--."

Glass's closest geometry, then spend 20 frames (give or


take 5) getting there. However, some along the way (those with further to travel) will burst. For this
to occur, the Delete operator was introduced and set to a value of 10 which ensures that the
bubbles have to be pretty close to the edge of the glass to make it without being deleted or popped.

Copy either of the Material Static operators


9 present in the particle system and Paste lnstanced
it onto the canvas t o create a new event. Label this
new event Bubble Glass Travel. Wire the output o f the
Collision test i n the Glass Attraction event t o the input
of this new event. Add a Speed By Surface operator t o
the new event and change it t o Control Speed
Continuously. Set the Speed and its Variation t o 5, add
the Glass object t o the Surface Geometry list and set
the Direction t o Parallel To Surface. Add a Delete
operator t o the event, enable By Particle Age and set
the Life Span t o 20.

Information: We have got several instances of the same Material operator throughout this system
because the particle loses its assigned material as soon as it leaves an event. The Speed By Surface
operator pushes the bubble around the surface of the glass geometry; however, this does not last
very long as the bubble will burst after a short time of moving around the glass. Scrub through the
animation so far. Depending on the positioning of your original two particles, you may never see the
particles drifting to the side and working their way around the edge of the glass. If this is the case,
amend the Seed of the Position Object operator to distribute them in different positions. You may
also notice that some of the particles, when rising, hit the UDeflector and the Deflector, occasionally
pass through the sides of the glass. This is due to the particle system's lntegration Step is set to
Frame, and so is not very accurate when detecting collisions, especially on geometry-based
deflectors. To rectify this, lower the setting to half or even lower, and test again, but don't forget to
amend the Render lntegration Step as well. Also bear in mind, that as max now needs to do more
work in calculating collisions, that this will take longer to calculate. If needs be, use a new position
seed to relocate the emitter particles.
110 WATER

PART FOUR: NOW w e have t h e b u b b l e trails sorted out, w e will create t h e rising bub-
bles f r o m t h e base of t h e glass.

- 10
,------------
..*'.<'..'-""
, .G--?; r,,D+","lp

...
.. -
,..-
-- r
,
-..
:-
,,rm zcls!;
*'or-;*

.
Drag a Birth operator t o the canvas t o create a
new event and label it Rising Bubbles Emitter.
Wire the input o f this event t o the output o f the
.'-.
-. i

.,--..-. Bubbles root event. Select the new Birth operator, set
c-
-.-..-..
1.
:
the Emit Start t o -100, Emit Stop t o 200 and Amount
- -.-
--
.-. -
t o 300. Add a Position Object operator t o the event
--
~-
-.-.-
-
-.?-
..-:
. --- i
and add the Lemonade Base Emitter t o its Emitter
-.- - .
- . - ...
..
Objects list. Copy the Shape and Material Static
----. operators from the Trails Motion event and Paste
~

, .-. .
.. i
-- >
. i
~. ~~~

"-- ----
-
-.- .
... .. .. .-. . . .- . . ..
_r .. . r .
Instanced them into this event.
Information: As before, we can re-use previously created
settings from the other event($ and reuse them in the new event. Thanks to the Push modifier
assigned to the Lemonade Base Emitter object we have very little intersection of the particle
geometry in the glass.

-
---------------
'r' L 95- ? : r i f n + u q C 7 r.
PK-
< s ~ c < 1 3 1 - - ~ : ( ~ + 1 . ~ s * ~ ~ _

~~~

.
Add a Scale operator t o the event and set the
Type t o Absolute. Set the Scale Factor t o 0 and
-- - "
the Scale Variation t o 25 for all axes. Set the
FZ-:
.. .- p-:y_
'-I:.-_ -z:--: , Animation Offset Keying t o Event Duration. Turn on
-. -,p ..::.:,:
":8* ;i
L

o frame 30. Set the Scale Factor t o

-
rI-. Z>Z i
-.) . . -

,.-..- ..
r;-.
.. ... -
.. ~.
~

: . -~ -
Key and g o back t o frame 0. Add a
Scale test and set the Test Value t o 80 and Variation t o
operator in the Trails Motion event
.-.-.
.-
..
i..
.-
i:. ~ :-. .: "-

- ..
--*. '<- ". ,
d it onto the canvas t o create a new
,m .e . . _ ~.. .-
---
I . . . . . . .
-.- -
. .-. - -4 -.
~7-.?- ,. . .
, , ..,- -. , ,. "
event, labeling i t Rising Bubbles Motion. Wire the
output o f the Scale test t o the input o f this event.

Information: Typically, the bubble would grow and expand with one side of the bubble touching
the base of the glass. There is no way to do this with a standard particle shape, but if we used a
sphere primitive with Base to Pivot enabled, we could simulate it quite easily. With the Scale
Variation and the Variation in the Scale test, our bubbles will grow to different sizes and detach
themselves at different intervals, before accelerating after being caught by the Wind Space Warp in
the instanced Force operator, making the effect more realistic.
LEMONADE 111

12 Copy t h e Material Static operator, Collision and


Collision Spawn tests from t h e Trails Motion
event and Paste Instanced them into this new event.
Wire t h e Output of t h e Collision Spawn test in this
event t o t h e input of t h e Glass Attraction event.
Right-click t h e Bubbles root event and select
Properties. Turn off Cast Shadows and Receive
Shadows and click OK t o exit this panel. Finally, if
desired, right-click t h e Play Animation button and
extend t h e animation t o 200 frames. Render off .*....
-. .-
--
I . . . . . . . . .*....-:.,-
-.. . . . ._:--, ..
---.- ,--.-, 7.i
--. -3.
,

the animation.
Information: As these rising bubbles interact in exactly the same way as the other ones, we can
pipe these particles into the same event as the others, saving us recreating the event(s) all over
again. We do not want the bubbles to cast or receive shadows so the entire system has those
options disabled.

Taking it further
I
Now, I have to stress again that this is going to take a very long time to render due to the amount of ray-
tracing in the scene, this is definitely going to be a n overnight job! You could try reducing the Maximum
Depth in the raytracer's control settings, but you may lose some refraction detail. Additionally, you will
also get some aliasing in the reflections and refractions; this is normal as anti-aliased raytracing takes
a few lifetimes to render. Help is at hand though. As we have mental ray with its advanced raytracing,
we can always convert the scene to use the mental ray renderer. Because of this, there are also more
advanced materials and shaders to create better glass and water effects than the Architectural materi-
als we have used here. Plus you have got the added bonus of caustics and all of the other lovely effects
to refract the existing lighting in the scene to make the liquid and glass behave as they should in this
lighting scenario. Suffice to say, even without converting the scene, the animation does its job and is
very convincing in the way the particles behave, so in that sense, we have achieved our goal.
With regards to the actual motion of the bubbles in the liquid, therc is not much more you can do,
save adding a few tiny droplets of liquid being expelled when the bubbles finally pop, or increase the
ferocity of the bubbles and get the droplets to be emitted and fly upwards once the bubbles pop (as
soon as they hit the deflector) then have them fall back down to the surface and create small ripples
(have a look at the Rain tutorial in this book to see how to generate a n animated Bump map based on
the droplet interacting with the surface).
Don't forget that this effect can be adapted for other liquids and glasses, such as a Cola drink or
even Champagne! Change the glass shape and deflector accordingly (hence the reference copy of the
particle emitter) and simply assign new materials to it.
As mentioned in the analysis, bubbles are formed around the glass due to the presence of a small
particle or rough surface on the glass. As we have not created any particles on the inside of the glass,
clone the lemonade geometry again and create a n emitter, as we did before, for just the sides of the
lemonade. You can then emit growing particles from this object, as before, either by introducing this
object as an emitter to the existing Position Object operator in the Rising Bubbles Emitter event and
112 WATER

increasing the particle count, or create a n extra emitter event with its own characteristics and feed
them back into the particle system.
According to the 3ds max manual, we can use an IOR below 1 to suggest bubbles underwater as
the effect is shown right on the perpendicular of the bubble geometry. UnTortunately, the IOR cannot
r
be reduced below 1 for a n Architectural material, hence the higher IOR value in this tutorial. If you
want to try a lower IOR value, convert the material to a standard or raytrace material. set the mater-
ial up and assign the IOR below 1 as desired.
You may want to also include some condensation on the side of the glass to suggest that the liq-
uid is very cold: try creating a condensation material to drive this effect, and use a noisy gradient to
distribute it around the surface of the glass by mixing it with the original glass material. You may also
want to add the odd water droplet running down the side of the glass (a simple hand-animated object
would suffice here) and additional water droplets which condense, grow and fall - try using the samc
technology we have developed for the rising particles; get them to grow on the side of the glass. and
when they get big enough, have them fall to, and puddle on, the table (suggestion: use a Blobmesh
object on the puddle particles at rest). Finally, to suggest that all of this condensation is being caused
by something, add an ice cube or two to the lemonade; a few deformed boxes should do with a nice Ice
material assigned to them (try adapting the material developed in the Hailstones tutorial in this book).
Don't forget though that bubbles will formquite vigorously around the ice cubes, which will also need
to be simulated (and used as deflectors for rising particles) and fed into the events which drive the
motion of the particles on the surface of the lemonade.
i
I

Introduction
When starting out in 3D, the first thing we tend to do is take a sphere, wrap a planet texture
around it and then blow it up. But the second thing we do is to create a nice peaceful ocean -
maybe it's a Yin and Yang thing, I don't know, but it's safe to say that our first efforts are, well,
not all that great. In this tutorial we will try to emulate the motion of the waves so that they are
not just moving up and down, but also travelling in several directions at the same time, and
adding extra ripple motion caused by light winds, before finishing the scene off by animating a
static bitmap effect to give the impression that the clouds are moving relative to the distance they
are from camera, so that those in the foreground move more than those in the background,
therefore giving the scene a sense of scale.
114 WATER

Analysis of effect
(a)The color of the sea is based on two main issues - the first being the
conditions of the sky. This has an immediate effect on the color of the
surface water because the sky is being reflected. It is not, however,
reflected 100%(to our perspective) as we are situated at an angle to
the surface, and are therefore viewing it almost side on. Because of
this we have disruptions in the surface which break up and blur the
reflection. (b) Add to this the fact that the reflection is most promi-
nent on the perpendicular and the reflection can be dulled right
down. (c)The second color issue is due to the condition of the waters:
in some areas of the world, the sea can appear to be a very deep blue.
because of the clarity of the water and the underlying sea bed. and
not necessarily because of the reflection of the sky. The surface
motion is quite subtle, yet can look quite erratic, but if you break it
down into its core components we can see that the motion is com-
prised of several wave 'sets' passing in several similar directions to
one another. (d)They can be broken down further, as they have more
detailed ripples on top which continuously change shape due to the
top surface water being disturbed by any light winds. Finally, the
lighting of the scene will have an effect on the color and shade of the
I
the water suhace;iind appear strongest
on the ~er~endicular of a wave or r i ~ ~ l e water as this will affect the color of the clouds (if any), sky and any
additional volumetric effects such as fogging and mist.
Image courtesy of Carol Baker/Jenny Baker
Creating the objects to generate this scene is about as basic as
you're ever going to get. All we have to create is a simple Plane.
a Sphere and a n Omni light. However, we do need to add extra ele-
ments to these objects to make them behave the way we want. The
sky will be generated using an animated hemispherical Sphere with
a cylindrically mapped panoramic texture assigned to it. The geome-
try, and therefore the texture, will be deformed over time at the top
most point using a twisting motion controlled by Volume Select and
XForm modifiers to reduce the strength of the deformation the fur-
C ther away we progress from the top of the Sphere. The Sea itself will
Image courtesy of Carol Bakerllenny Baker be animated using two animated Noise modifiers, each traveling at
90 degrees to one another so that the 'waves' appear irregular and
cross over each another. Finally, we will create and assign textures to
the scene; a single panoramic texture applied to the hemisphere. and
a reflective material (generated using raytracing) with animated
bump mapping, which is adjusted to create the peaks and troughs of
the surface ripples on the Sea surface.

Image courtesy of Carol BakerIJenny Baker


CALM SEAS 115

PART ONE: First w e will set up t h e scene g e o m e t r y a n d a d d any modifiers necessary


to animate t h e m .

In the Top Viewport, create a Plane primitive w i t h


1 a Length and Width o f 20000 and label it Sea. Set
the Length and Width Segs t o 50 and set the Density
Render Multiplier setting t o about 8. Reposition this
object, if necessary, t o the center of the Viewport.

Information: This basic geometry is going to be the basis


of our sea surface. It has been set a very large size to give
the scene a sense of scale, not only while you are creating
it, but also when it is rendered. The Density multiplier is
used so that we can work with a low amount of geometry
i -- . -
--.-- >
" - ~
- _---.--.,-
-I D 1
..
in the scene, and then multiply the iterations in the plane
by the multiplier setting to refine the mesh even more at re1~ d e tlme
r Th~sIS so that we can work faster In
the Viewport.

2 Still in the Top Viewport, create a Sphere primitive


with a Radius o f 10000 (half o f the Length or
Width of the Plane) right in the center o f the scene
and label i t Sky. Set the number of Segments t o
64 and set the Hemisphere setting t o 0.5. In the
Left Viewport, drop the (now) hemisphere down
about 50 units.
Information: This hemisphere is going to be the
geometry on which we drop our sky texture. We have
increased the amount of Segments so that we can deform
the geometry, but will not be able to see any faceted
polygons or stretched polygons when rendered. We have dropped the hemisphere below the Sea
plane so that when the sea is animated and part of its mesh is deformed down, we do not get part
of the hemisphere geometry peeking through the mesh.
116 WATER

Add a Normal modifier t o the Sky hemisphere.


3 Add a UVW Map modifier and set the Mapping
type t o Cylindrical. In the Left Viewport, scale the
hemisphere down vertically until it is about 60% of its
original height.

Information: When viewed from the Perspective


Viewport, we cannot see the back faces of the Sky, so the
faces need to be flipped around the other way so they can
be seen. We could alwavs use a two-sided material or force
=. .
-~
. , . .
- ..- .-. . . . .... . .:,:. . -7 -.:
..-.---
~

., -,;-
.*...,
all objects to be two-sided, but that would just be overkill
and would crank the render times up. We want to wrap a
panoramic texture of a sky around the hemisphere so that it appears as if we have clouds in the
distance and clouds overhead. The Cylindrical mapping wraps the texture around the hemisphere,
but to get the clouds to appear as if they are more overhead than just in front of us, we need to
squish the Sky hemisphere down a little.

--------------- Right Click the Play Animation button and, in the


4
1"- i I- r a n ' + I-e
~ i r . 6 e r s > 7 ~ i. l+, - p ~ i - > ~
.
,- '"T
....~. .-119 :
.- . .
,.... resulting panel, set the Animation Length t o 200.
,....-
,, ... .-
-
'-1
--
' , Click OK t o accept these settings. In the Left Viewport,
C
. I , - * -
.- add a Volume Select modifier and set the Stack
Selection Level t o Vertex. Enter this modifier's Gizmo
a .,,..
.".."."*".-..-..,~-
..
Sub-object and reposition the gizmo vertically in the
Left Viewport so that it selects just the t o p ring and
the t o p most vertex o f the hemisphere. Enable Use
Soft Selection and set the Falloff t o 16900 and the
, B ~
- ~.
. .
- ~ -
- __-..--.
~
.. . - -
,- :- - r. .- .. -... _
,
.. ., ... .. Pinch t o 1.

Information: We have extended the animation purely so


we can showcase the elements that are to be animated in the scene for a longer period. The Volume
Select modifier should only select the top most vertices and the rest should only be affected by the
falloff. We have used a Volume Select modifier, and not an Edit Mesh or Mesh Select modifier
because if we change the amount of polygons in the base geometry, the selection would go awry.
But as the Volume Select modifier is using a gizmo to create a Sub-object selection based on the
gizmo's bounding box, we can change the base geometry as much as we like and the selection
would still remain valid.
C A L M SEAS 117

Add an XForm modifier t o the stack. Turn on Auto


5 key. Go t o frame 200 and in the Top Viewport,
rotate the XForm's Gizmo 30 degrees anticlockwise.
Turn off Auto Key, right click the generated keyframe
at frame 0 and select Z Rotation. Amend the Out
curve so that it has a linear attack and click on the
arrow next t o the curve t o send this curve style t o the
In curve in the next keyframe (at frame 200).
Information: Rotatina the XForm modifier deforms the
,- . --- - -. * -----
2

.
- ---- r-m.T4, *
Sub-object select~onwe have made using the Volume
Select modifier We have amended the Out curve of frame 0
(and, after passing the curve ~nformationto the In curve of frame 200) so that the rotation starts,
continues and ends at a linear rotational speed Otherwise the rotation would speed up and slow
down which would look unrealistic Why we have deformed this object this way will become
apparent later on when we assign a material to it

6 In the Front Viewport, create a Free Camera about


350 units above the Sea plane. Set the Lens Size t o
28 mm by entering the value into the Lens spinner or
clicking on the 28 mm Stock Lens button. Select
the Perspective Viewport and press C t o change i t t o
the Camera Viewport. In the Top Viewport, move the
camera back (down) about 4000 units so that we can
see the majority of the scene.
Information: We have set the camera ur, now as we are
going to set up the animation for the sea plane Because of
- - -- - -
-. -.---:---:."
this, we can also add a subtle animation to the camera
making it bob around to suggest that we are sittlng in a boat watching the sun rise The wide-
angled lens has been used to give the scene a sense of scale

Select the Sea object and add a Volume Select


7 modifier. Set the Stack Selection Level t o Vertex
and set the Select By Volume t o Sphere or Cylinder.
Enter the Volume Select's Gizmo Sub-object mode
and reposition it so that i t s center is positioned where
the camera is (as viewed from in the Top Viewport).
Scale the gizmo down so that, in the Camera
Viewport, only a couple of selected vertices are visible
(so that there is a diameter of about nine selected
vertices). Enable Soft Selection and set the Falloff t o
118 WATER

about 12000 so that there is no visible soft-selection influence on the vertices around the
'horizon'.

Information:We are using the Soft Selection to control the strength of modifiers we are going to
add shortly, so their strength diminishes the further away they get from the camera, therefore giving
a distance effect because the eye perceives them as being the same height, just very far away.

Add a Noise modifier t o the modifier stack and


rename i t Noise Left. Enable Fractal, set the
Z Strength t o 30, enable Animate Noise and set the
Frequency t o 0.05. Select this Noise Modifier's Gizmo
sub-object and, in the Left Viewport, rotate the gizmo
60 degrees clockwise. In the Top Viewport, rotate the
same gizmo 45 degrees clockwise. Copy and paste the
Noise Left modifier and label it Noise Right. In the Top
Viewport, rotate this modifier's gizmo 90 degrees
! -
1
- -..
.. .-
.-..-.
. . -' -...
..- .-....,, - ~:...,,
-7
anti-clockwise.

Information: We are going to create two sets of waves -


one traveling diagonally to the left and one diagonally to the right. We have rotated the gizmo so
that it deforms the surface by creating small crests and soft trailing waves. If we left the noise the
way it was, we would not have a definable leading edge to our wave. The Frequency's setting has
been reduced to lessen the speed of the animation of the Noise modifier, so its motion does not
look like we have got our thumb caught on the fast forward button. We have cloned this modifier
to create another series of waves going 90 degrees in the opposite direction, so the waves cross over
one another.

Select the Noise Left modifier's gizmo. Go t o


9
Frame 200 and enable Auto Key. In the Top
Viewport, enable Grid Snap and reposition the gizmo
2000 units left and 2000 units down. Select the Noise
Right modifier's gizmo and reposition it 2000 units
right and 2000 units down, so each modifier is
traveling 90 degrees in the opposite direction t o one
another. Turn off Auto Key and go back t o frame 0.
Right click the keyframes at frame 0 and select any
. . ,
,
.. .: . one
-
of the Phase keys. Amend the Out curve so it has
a linear attack (as illustrated) and click on the arrow
next t o this key's Out curve t o send this curve information t o the In curve of the next
keyframe (at frame 200). Set this curve type for all position and phase keyframes for this
object.
C A L M SEAS 119

Information: As with the cloud animation, we want the sea's surface to be already moving when
we begin this animation, not speeding up. The two Noise modifiers cross over each other,
complementing and opposing each other as they move. Should you feel the need to, try adding a
, few other similar wave sizes andlor directions for them to travel.

Copy (not instance) the Sea plane and label i t


10 Sea Surface Position. Remove all modifiers
apart from the base geometry and set the Render
Density Multiplier back t o 1. Add a Noise modifier and
enable Fractal. Set t h e Z Strength t o 10, enable
Animate Noise and set t h e Frequency t o 0.1. Right-
click the new keyframe at frame 0 and select the
Phase keyframe. Set the Out curve t o a linear attack
and click o n the arrow next t o this curve t o send the
same type o f curve t o frame 200. Right-click this
plane, select Properties and turn o f f Renderable.

Information: We are going to be using an Attachment controller on an object that the camera is to be
linked to, to sit on the water surface. We have had to use additional geometry as the Attachment
controller picks out a specific face to adhere to. As the render multiplier increases the polygon count at
render time, this face will not be in the same place as it was in the Viewport, but relocated elsewhere,
and therefore the camera will be also. The Frequency of 0.1 is due to the sum of the other two
frequencies of the two Noise modifiers in the other Sea object, so it gives us roughly the same frequency.

""-"-"-----'
In the Top Viewport, create a Dummy helper
11
^^ r2?+D,-CI
s ."-i -Sli-
<.t,b~*.-~r.,

, -C-

and position it around the camera in the scene. - - - -


Go t o the Motion tab, highlight its Position controller
and click o n the Assign Controller button. In t h e
resulting controller menu, select Attachment and click
OK. In the resulting Attachment Parameters rollout, '
click on the Pick Object button and select the Sea
Surface Position object. Click o n the Set Position
button and, In the Top Viewport, select a point on the
I I
Sea Surface Position object directly beneath the ,I
F
. .
--._ - - -.- - . --..-..
camera. This automatically relocates the camera. Turn
off the Set Position button. Select the Camera and link it t o the Dummy object. Click o n t h e
Move tool t o turn off the link (as i t does not auto deselect).

Information: We do not want to directly attach the camera to the Sea Surface Position object else
we would not be able to move it without changing the controller back, so we use an intermediate
120 WATER

Dummy object to attach to the Sea Surface Position object and to link the camera to this Dummy
object. Therefore our camera starts in the same position as before, and we can relocate it if
necessary without any trouble.

PART TWO: W i t h t h e geometry all set up and animated, w e w i l l n o w assign


materials t o t h e objects in t h e scene.

Open the Material Editor and label a material


Sky. Set the Self-Illumination t o 100 add a
:-
,. .,,, .,, . . . -
.
3
.- Bitmap map into the Diffuse slot and load in the
- ,
.
.... .+,-
LA...-
, - '11
.. ..= Water170~Calm~Seas/S0urcelclouds~anoramaO1 .jpg
.......-- file into this map. Set the U Tiling t o 2, click on the
.\ ;z!-':,.
-- -r !
--- I
- - Show Map in Viewport button and assign this
.. ~

..
'W
-- ,: material t o the Sky object in the scene.
.. ..
- - - .._-
....,.
- '
. --.-,
. .
.-,> . -
.........
-.-
Information: Even though this map does not tile, we will
,,
..- . ...
.. . .
._ __ , . -
. . . . . , . ,,-. - , ,-_._....
, ~
:L ,.-.,,,.
! w.- ~
,
.-
-.
not be looking to the sides of the Sky hemisphere so we
I
:

.......~ won't see the seams. If you have enabled Show Map in
~- -~
-7.

Viewport, it should now be apparent why we have


animated the XForm modifier on this object on top of the UWV Map modifier; if we had the UVW
Map modifier on top of the XForm, the mapping would not be deformed because it would have
been placed on top of the deforming mesh. If you view the scene from the camera view, you will
notice that due to the falloff, it appears that the clouds on the bitmap are moving faster in the
foreground than those on the horizon. However, do NOT move the camera around too far to the
sides of the scene, else you will view the seam of the cloud map and also notice that the clouds are
rotating around the scene so this illusion will be lost.

Label a new material Sea and assign it t o the


13 Sea object in the Viewport. Set the Diffuse
color t o RGB 117,117,117, and the Specular color t o
white. Set the Specular Level t o 200 and the Glossiness
t o 30. Expand the Maps rollout, set the Reflection
amount t o 75 and add a Falloff map t o the Reflection
slot. Set i t s Falloff Type t o Fresnel, amend the
Override Material IOR's Index of Refraction setting t o
0.6 and add a Raytrace map t o i t s Side slot.
. . .- --. . . -.. ..
.. - -.--. . ..-.......
-.--.,.>-.
-~~
-~
1 a.Z.....,. .r.
.,,-.-.;:. Information: As water and other liquid effects mainly
show their reflections strongest on the perpendicular, we
have restricted the reflection using a Fresnel (perpendicular edge) Falloff map, which has had its IOR
amended so that the cut off at the edge is a lot stronger.
C A L M SEAS 121

At the t o p of the material, set the Bump


14 amount t o 20. Add a Mask map t o the Bump
slot and label i t Sea Bump Distance Mask. Add a
Smoke map t o the Map slot and label it Ripples. Set
the Source t o Explicit Map Channel, Size t o 0.005,
Iterations t o 20, Exponent t o 0.4 and set the Color 2
to white (originally an off-white). Go t o frame 200,
enable Auto Key and set the Phase t o 10. Turn o f f
Auto Key. Set the Out curve for the t w o new
keyframes at frames 0 and 200 t o a linear attack as i T
---....
-- .. .- - -' - --.- _---
.
.-_-
". .--!-=-:-:
>

before. Add a Gradient Ramp map t o the Sea Bump


Distance Mask's Mask slot and label i t Sea Bump Distance Control. Set the Gradient Type t o
Radial. Expand the Output rollout and enable Invert.

Information: We have masked out the bump mapping uslng a rad~algrad~ent,just as we used
soft select~onon the No~semod~f~ers, so the strength IS reduced the further away we go from
camera, therefore glvlng the lmpresslon of d~stanceWe have Inverted the map to f l ~ pthe colors so
that we have a wh~teto black rad~algrad~entwh~chd~ctatesthe opaclty of the mask and therefore
the bump strength, w~thouthavlng to redes~gnthe grad~ent.

In the Top Viewport, create an Omni light and


15 label i t Sun. Position i t behind the Sky dome
and, when viewed in the Camera Viewport, low t o the
water's plane. Check the resulting highlight in the
Camera Viewport t o ensure that there is just the right
amount o f glare. Add a Skylight light and set its color
to RGB 102,123,150 (a point sampled from the cloud
panorama) t o illuminate the darker areas o f the sea
surface, and finally render off the scene.
Information: I've always stressed the use of Dlrect l~ghts
- -. - - - 0 . ---
- ...-, .
1
'

over Ornn~or Spot l~ghtsfor Sun slrnulat~ondue to the way


thelr shadows are cast (Omn~and Spot l~ghtshadows are fanned out, Dlrect l~ghtshadows are hear
whlch IS better su~tedto suggest the sun) However, as there are no other objects In the scene, we
can use an Ornn~l~ghtThe maln reason for th~s18 that ~tdoes cast the best specular h~ghl~ght on the
Sea Should you w~shto drop In add~t~onal objects, you could d~sableD~ffusel~ght~ng from the l~ght
(shadows are already turned off) and double up the l~ghtw ~ t ha D~rectl~ghtwhlch has D~ffuseand
Shadows enabled and Specular d~sabledBit of a paln, but ~tworks best for thls scene, and ~fyou
llnk the l~ghtstogether, you can just move one and the other w ~ lfollow
l If you fancy belng clever,
you could always wlre the rnultlpl~ersand l~ghtcolors together so ~fyou tweak one settlng, the other
I~ght'ssettlngs automatically update
122 WATER

Taking it further
To complete the scene I have addecl a Jxns FX flare, which is a n adaptation of the afterfx6.lzf setting
that ships with 3ds mas. with just the Glow enabled (after a few adaptations) to simulate the glowing
r
of backlit clouds (just a byproduct of the glow effect) and to suggest the intensity of the sun. Again, as
mentioned in the last step. thcre are no shadows cast in this scene. so if you decide to drop in any other
objects then you will have to adapt the scene accordingly (don't forget about faking reflective caustics
and uplighting from the water). If you really fancy showing ofC do a transition from beneath to above
the surface (or vice versa). Take a look at the underwater tutorial in this boolr. if you haven't already,
and try to amend the settings for that scene to fit the lighting in this scene, or the other way around.
and create a motion transition, such as the water passing in front of the camera, to create a wipe from
one scene to the other. You may also want to drop in solne additional fogging. such as environment or
volumetric fog to haze up the lighting a little. Also, try using a volumetric lighting effect to create haze
across the scene; an ideal example of this volumetric light technique can be found in the Frozen
Wastelands tutorial and can be easily adapted for use in this scene. You could also render off a 1:1 (e.g.
( 7 0 0 x 600) view from this Spot light of the flipped faces of the Sky hemisphere and take it into

Photoshop (or equivalent). Extract the blue, dump it on a black bacl<ground, throw it into the
Projector map of the Spot light and set up the Attenuation settings to work with a low density volu-
metric light. Flip the faces back on the Sky hemisphere (so they are visible from the camera again) and
render off. The result will be volumetric rays streaming through the clouds where there (was)blue sky.
A very nice effect and quite easy to do. although if you do il for the entire animation you will have to
create an animated sequence for the projector to generate this volumetric cffect as the cloud changes,
so set thesteps you did to extract the blue (etc.) as a n action in Photoshop, batch job the lot and bring
them back into the projector map as an IFL sequence. Simple!To illustrate this there is a completed 3ds
m a s file with this animated volumetric in the Source folder on the DVD-ROM.
Introduction
Following on from the Calm Seas tutorial, we can create the complete opposite to this by
generating a scene that none of us would really like to experience in real life. While the
construction process for the calm sea was relatively simple, due to the high amount of materials
which have been 'whipped up' by the winds, the material tree in this tutorial has dramatically
increased in size more over, so the end construction of this effect is going to be a bit more
lengthy. Not only are we going to create and animate the surface of the water, we are also going
to generate a sky so the sea has something to reflect, even if it is a really nasty looking sky. To top
it all off we are also going to add some illumination from 'lightning' which will be created by
simple animated lights.
124 WATER

Analysis of effect
The actual motion of the sea's surface is dependent on the speed of
the wind and the underlying sea bed. For the sake of this example, we
will assume that the sea is deep so that the sea bed has very little or no
influence on the surface conditions. The shape of the waves are con-
structed by several different wave motions, all traveling in slightly dif-
ferent directions. These individual larger waves, which are generated
by the main force of the wind, cross over one-another and either
enhance or cancel each other out; just as two opposing Sine waves
would. Added to this are the smaller waves which are also opposing.
lmage courtesy of National Oceanic and These are also produced by the wind, but by it rushing over the
Atmospheric Adm~nlstration(NOAA) Photo Library water, pushing the surface water along. This could also be generated
in a body of water, such as a bathtub, by skimming your hand over the
surface; the effect is quite similar. As with the larger swell waves, the
smaller waves (which are displaced by the larger waves) also intersect
one another, enhancing and cancelling each other out. In addition to
these waves we have additional ripples, which appear to remain
almost static and deform the waves as they pass over them. They can
also be seen more prominently in any foam which is kicked up by the
winds at the tops of the highest waves (because they are not sheltered
by the other waves).These ripples do not remain totally static; they do
le courtesy of Nat~onalOceanic and move slightly and are deformed and dispersed by the other wave sets.
Atmospheric Adminlstratlon (NOAA) Photo L~brary The shading of the wave is derived from its environment and the con-
lerggt waves deform the surface wavec dition of the waters. Normally in this situation, the environment will
a~ndA m travel ~nrnulbple dlrectlons be completely cloudy which would therefore virtually occlude all of
the sun's light (there may well be a slight hint of the sun through the
clouds), so the main illumination of the waves will be diffused from
the dull backlit clouds which, when reflected in the surface, will have
an adverse effect on the 'color' of the water. We also have additional
splashes and spray which are kicked up by the winds; this is covered
more in the Taking it further section.
Again, as with the Calm Seas tutorial, the geometry in this scene
lmage courtesy of Nat~onalOceanic and is going to be exceptionally basic; just a couple of objects are all that is
Atmospheric Adm~n~stration(NOAA) Photo Llbrary required to produce this effect - the deforming plane for the sea and a
hemisphere for the sky, even though it is not visible in the render (due
to the camera placement), as it is reflected using raytracing. The sea's
surface will be generated by multiple Smoke maps which will drive
multiple Displace modifiers. These maps will be set up individually
and set to two different angle offsets to create the different wave direc-
tions, and the Displace modifiers will consist of two sets - Small Waves
and Swell, with the Small Wave modifiers having a higher tiling set-

I they are m ~ common


k on h ~ h t
waves than smaller ones as there ar
waves to shelter l h e ~
,-Ino surraunel~ns

lmage courtesy of National Oceanic and


ting, therefore generating a smaller-sized wave. These maps will sim-
ply have their Phases animated to generate the motion. The surface
texture will be generated using a material with a harsh specular high-
Atmospheric Administration (NOAA) Photo L~brary light, which will be reduced, as the main key light (a Direct light) will
S T O R M Y SEAS 125

LL. of a low intensity; the main illumination i n the scene coming from a Skylight light. The foamy
caps of the waves will be generated using a cross-section gradient which will mix an animated
Noise map (also used for the ripple bump texturing) with the surface color. To finish off the scene,
additional lighting in the form of animated Omni lights (with falloff so the surrounding areas are
mainly illuminated) are flicked on and off to simulate lightning in a couple of areas, giving the
impression of storm clouds nearby. These lights illurninale the Sky hemisphere which, in turn, i s
reflected in the sea's surface.

Walkthrough
PART ONE: First w e will create and animate t h e basic geometry i n t h e scene and
generate a skydome t o be reflected i n t h e sea's surface.

1 Length and Width o f 5000 and label it Sea. Set its


Length and Width Segs t o 300. Add a UVW Map
modifier t o i t s modifier stack and set the Map
Channel t o 3.

Information: As the surface of our sea is going to be


deforming, we need to set it up as easily as possible so we
can amend any settings later on. The best way to do this is
to use procedural deformations on our models. However,
we do need a fair amount of polygons to get the detail we
:"' . , . , -. ,.- - . -, . .. , . . . -
. .--.- . . . - . ;.- -:,- -, -..-
..
-> ., . .,
'I*

need, hence the high Segs settings. Before we deform the


mesh, we need to add a texture to it so that it's also deformed. Therefore we have added the UWV
Map modifier before we add any deformation-based modifiers. The Map Channel was changed to a
setting that will not be used by any other modifier in the stack that we are now going to build up.

2 Add a Displace modifier t o the stack and rename it


Small WavesOl. Set the Strength t o 200 and enable -
% uqu
----,
.-

.
I

-
-..mT
.
. -.,
Luminance Center. Set the U, V and W Tiling t o 5. --

Copy this modifier and paste it back onto the modifier --~
--
-..-. .

stack. Rename the copy Small WavesO2. -,-----


-
-
Information: As mentioned in the Analysis section, there .--.-. .
are more than one set of waves in the surface of the sea, ---- ~.
-.-- --
therefore we are using multiple Displace modifiers to generate .-- ...
this; these first couple of modifiers will generate smaller waves ---.,--..,-
...
- - ,-
while the ones we will add next create the larger swells. We 7' ' . . .-.--.-....- ,..,.. .-.- ,.- -,- --.
- .. .* :.. ..:-
,
-r .
--m.- ,..
,.

are using Luminance Center displacement due to the amount


of Displace modifiers we are going to be adding to the object. As there are a lot of them, the end result
would raise the positioning of the mesh which makes handling the mesh more difficult.
126 WATER

Add a Displace modifier t o the stack and rename i t


3 SwellOl. Set the Strength t o 1000 and enable
Luminance Center. Copy this modifier and paste it back
onto the modifier stack. Rename the copy SwellO2.

Information:As before, we have two Displace modifiers


to create the two swell waves - two large waves that pass
over the displacement beneath. Again, we are using more
than one displacement to break up any repetition a single
displacement would create. Next we will generate the
maps that will drive the motion and shape of the waves
and incorporate them into these Displace modifiers.

Open the Material Editor and add a Smoke map t o


4 the first available material slot. Label this map
Small WavesOl. Set the Source t o Explicit Map
Channel. Set the Size t o 0.5, Iterations t o 2, Exponent
t o 1 and click on the Swap button t o change the
colors around. Set Color 1 t o white (it is currently an
,.- ,-,.- off-white). Right-click the Play Animation button and
set the Animation Length t o 500. Go t o frame 500
and enable Auto Key. Set the Smoke map's Phase t o 6
and turn off Auto Key. Instance this map into the map
slot of the Small WavesOl modifier. Right-click the
Sea's new Phase keyframe at frame 0.Amend its Out curve t o a linear attack and click o n
the arrow next t o the curve t o pass this curve information t o the In curve i n the next
keyframe.

Information: We are using Smoke maps to generate our wave effect, because by inverting the
map's colors we can create a nice peak and trough effect, which is visible once the map is assigned
to the desired Displace modifier. We have reduced the amount of lterations to reduce the detail in
the displacement, else the effect will be too jagged and may well look a mess. The Exponent has
been amended to define the colors more to create the desired peak and trough effect. The Phase is
the key to the animation, and even though we have animated it successfully, we need to amend the
keyframe information else the phase 'accelerates' and 'decelerates', which would make the scene
look totally unrealistic; changing the keyframe's curve to a linear attack fixes this.
S T O R M Y SEAS 127

Copy the Small WavesOl map t o a new slot in the


5 Material Editor and rename the copy Small
WavesO2. Set this new map's W Angle setting t o 20
and instance i t t o the map slot i n the Small Waves02
modifier. Copy the Small WavesOl map t o a new slot
and label it SwellOl. Go t o frame 500, enable Auto
Key and amend t h e Phase t o 3. Turn o f f Auto Key.
Copy this map, rename the copy Swell02 and set its W
Angle setting t o 20. Instance the relevant Swell map
into its corresponding modifier's map slot.

Information: And that is all we have to do for our


geometry animation. Even though the Phase of the Swell maps is lower than the other Smoke maps,
due to the tiling that has been used in the Small Waves displacement, these waves do not travel as
far, creating a more subtle effect, while the larger, faster moving swell displaces everything creating
the desired result. As we are simply amending the existing keyframe settings at frame 500 that exist
from the original copy of the map, we do not need to amend the curve information for these new
maps. Additionally, instead of re-enabling Auto Key and amending the Phase value in the Map, we
could simply edit the relevant keyframe's setting if so desired; the result is the same.

In the Top Viewport, create a Sphere with a Radius


6 of 10000 and a Hemisphere setting of 0.5. Add a
Normal modifier t o the stack. Add a UVW Map
modifier t o the stack and, i n the Left Viewport, scale
the hemisphere down vertically so that i t is about
40% of its original size.
Information: As we only need the sky to be present in
the reflection of our object, the geometry and mapping
setuo does not need to be com~lex.We have, however,
used a squashed hemisphere so that it is virtually flat (as we
" -- . .
.
-..-.-
.
-
. . . .,. . - .
" _ _ ...
,
.--.-- ...,.
. , .....
are using planar mapping) so that any texture stretching at
the edges of the hemisphere will be reduced, so they will not be visible much (if at all) in the Sea's
reflection.
128 WATER

PART TWO: Next w e will create t h e materials f o r t h e sea and sky.

Label a new material Sky and assign it t o the Sky


7 object in the scene. Set the Diffuse color t o black,
enable Self-Illumination, add a Bitmap map t o the
Diffuse slot and load CLOUD2.JPG which ships with
3ds max into this map. In the Output rollout of this
map, set the Output Amount t o 0.25 and RGB Level
t o 0.5. Add a Falloff map t o the Self-Illumination slot
and set the Falloff Type t o ShadowILight. Instance the
Diffuse Bitmap map into the Shaded slot and add an
Output map into the Lit slot. Set the Output Amount
of this map t o 2.

Information: Here we have created a low intensity self-illuminated material that has got a low
intensity colored diffuse map so that it is not too bright when rendered. However, when the light
from the 'lighting' is emitted (which we will set up shortly) the Falloff map creates a bright flash
(courtesy of the Output map) which the reflection in the Sea will pick up.

Label a new material Sea and assign it t o the Sea


object in the scene. Enable Self-Illumination, set
the Specular Level t o 250 and Glossiness t o 90. Add a
Self-Illumination slot and label i t
Sea 51 Light Control. Set its Falloff Type t o
ShadowILight. Swap the Shaded and Lit colors and
t o i t s Shaded slot. Label this new
low and set the Side color t o

Information: We have initially designed our material so


that it has a small sharp specular highlight that suggests a
liquid or shiny surface. Enabling Self-Illumination allows us to use maps to change the color of the
self-illumination, which we have done using multiple Falloff maps so that we have a slight rim
(perpendicular) self-illumination, but (thanks to the other Falloff map) only when the object is in
shadow (i.e. not in direct illumination), therefore simulating a slight translucency effect where the
waves are viewed from the side.
S T O R M Y SEAS 129

Back up at the top of the material, set the Bump


9 amount t o 20 and add a Noise map t o the Bump
slot. Label it Sea Surface Bump. Set its Source t o
Explicit Map Channel and set the Map Channel t o 3.
Set the Noise Type t o Turbulence, Size t o 0.02 and
Levels t o 10. Go t o frame 500, enable Auto Key and
set the Phase t o 10. Turn off Auto Key and amend the
resulting keyframe's Out curve (and In curve of the
second keyframe) t o a linear attack as we did before.

Information: Th~ssmall amount of bump mapplng helps


' 7
y
--- --
-_ " - - < - - -r . - - - * -
-------
.F*-
- - A
- . I
>

add a l~ttlemore deta~lto the surface of the sea w~thout


hav~ngthe need to ref~nethe mesh further As before, we need to amend the Out curve of the
result~ngkeyframe at frame 0 and pass the curve ~nformat~on
to the one at frame 500 so we have a
hear attack result~ngIn a hear motlon for out Phase

Back at the top of the material, add a Falloff


10 map t o the Reflection slot and label it
Reflection Control. Set the Falloff Type t o Fresnel and
amend the Mix Curve t o that illustrated. Add a
Raytrace map t o the Side slot of this map.

Information: The use of the Falloff map in the Reflection


slot is to purely mask out the Raytrace map so that it is
more prominent on the perpendicular, and not so intense
when the surface is viewed face-on. This results in a more
effective reflection as the Diffuse map we are about to
create will be more visible, resulting in a material which
does not look like a completely pristine, shiny surface.

=-=!-----I---

Add a Gradient Ramp map t o the Diffuse slot


11 and label i t Sea Foam Control. Set the Map
Channel t o 2 and the W Angle setting t o -90. Set the
flag at position 50 t o black and add flags colored
white t o positions 81 and 88. Set the Interpolation t o - .
Ease In. Right-click the flag at position 81 and select -..--- I-.. !
Edit Properties. Add an Output map t o the map slot in
the resulting pop-up and instance the Sea Surface
.,---
i . -
k-.-.-
.
. ..
- ,,!! .Y"4...--..-

Bump map into the Output map's map slot. Open the
Output map's Output rollout and enable Invert and
Enable Color Map, and amend the Color map t o that
illustrated. Add a UVW Map modifier t o the top of the Sea's modifier stack and set i t s Map
Channel t o 2.
130 WATER
I
Set the Alignment t o Y and click on the Fit button. Select this modifier's Gizmo and scale it up
vertically in the Front Viewport so that it is about 130% of its original height. Scrub through the
animation (temporarily reduce the Plane's Segs, if desired, for faster feedback) and ensure that
the deforming geometry does not pass over the top or the bottom of this UVW Map's gizmo.

Information:We have set the W Angle setting to get the gradient to rotate the right way. The
beauty of using a Gradient Ramp map is that you can add different maps to each flag, so you can have
an entire gradient built up of different map trees. In this case we have used one flag, to create a
breakup transition from white to black by using an inverted copy (using the Output map, which also
adds a little more contrast) of the Bump map. The extra white key ensures we have a transition from
white to this broken-up texture, which then fades to black. This Bump map is mapped onto our
deforming mesh, as before, using UWV 3, while the gradient is controlled by the new UWV 2 mapping
which gives us easy control over our foamy peaks; the higher the water gets, the more foamy they
become. We do not want the deforming mesh to pass over the boundaries of U W 2's gizmo, or the
opposite end of the gradient will be displayed. We could work around this, but this solution works, so
there's no point in trying to fix something that isn't broken.

PART THREE: Next we will illuminate the scene and, t o add extra realism, we will
create and animate lights to simulate lightning.

:
- 12 In the Left Viewport, create a Direct light t o
the left and above the Sky hemisphere as
illustrated. Set i t s Multiplier t o 0.2 turn on Overshoot
- -I in i t s Directional Parameters rollout. In the Top

---,,. - .1/
6.-

-7 RGB 14,21,39. In the Top Viewport, create an Omni


:

.- .
.. . - ,"
--
-
-'

-
1 light and set its Multiplier t o 0. Enable Use and Show
Far Attenuation and set i t s Start setting t o 0 and End
t o 10000. Enable Auto Key and go t o frame 3. Set the
. ..- .-
=7-
: - ~
.. ..-=. ----...'- -. - -' "-, -"'t
. -- -. ,-.. 1
- - - ~
. .&.-
. ,-?.,,-. -,- ;~.....
: . . . Multiplier t o 5 . Go t o frame 6 and set the Multiplier t o
0. Turn off Auto Key. Group select the resulting
3 keyframes and reposition them around frame 45. Shift-drag the keyframes t o clone them
several times. Vary the middle keyframe's value so it is not always the same intensity.
Position the Omni light so that it is beneath the surface of the hemisphere. Copy the light
and reposition it on the other side of the hemisphere so it illuminates the opposite side of the
plane (i.e. left t o right). Amend the position of the copy's 'lightning' keyframes.

Information: As this type of environment would be quite dark and overcast, the main key light
in the scene (the sun) would be almost totally occluded, so the entire scene would be lit with
diffused lighting from the backlit clouds (the Skylight light we have created). This results in the
specular highlight not being as intense, until the lightning strikes. As we are not using any shadows
in this scene (to save on rendering times), we do not have to extend the FalloffIField setting of
S T O R M Y SEAS 131

the main key light - the Direct light in the scene. We have created the Skylight to generate a subtle
illumination effect with a single color, which was point-sampled from a screenshot of the Sky
material sample. Thanks to the material setup we have done for the Sky, once the sky is illuminated
this way we get a large flash of white which simulates the lightning strike and cloud illumination.
Don't forget to vary the intensities of the flashes else it will just look like a strobe light. Also, put in a
couple of flashes one after the other to suggest a longer strike. Setting the keyframes up at the
beginning of the animation is required else we would have to reposition individual keyframes which
is a little more fiddly.

PART FOUR: Finally w e will a d d f o g g i n g a n d a couple o f post effects t o colorize a n d


amend t h e brightness a n d contrast o f t h e scene to m a k e it a l i t t l e m o r e intense.

Ensure that the base o f t h e Sky does not


---------------
-- .
13
Crl r G p + o ~ ~ 7, ..A+.,.---Ir
w sI-mXi- -"

intersect the deforming water by dropping the


Sky down about 200 units in the Left Viewport. Create
and position a camera so that its entire frame is filled
with water. Enable Show in the Environment Ranges
group and set the Far Range t o 10000. Open u p the
Environment window and add a Fog effect. Turn o n -7 - I

- .
Exponential and set the Far% setting t o 75.

Information:We do not want to add too much fogg~ng


to the scene as th~sIS golng to be affected by the reflectton
- - - - . - - - .-. * :-.-
--. u
:,-a-:

and br~ghtensthe scene a llttle btt too much. Therefore


keep~ng~trelat~velylow helps reduce thts unwanted brtghtness. You may need to amend the Far
Range, depending on the camera positioning and scale of your scene, else the Fog may wash out
your image. We are using Exponential fogging to get the fog to appear denser the further away
from camera it is. However, this would result in a scene that is now slightly washed out. To bring it
back a little, we can add some post effects to bring out the colors again.

Open the Effects panel and add a Brightness


----------------
14 and Contrast effect. Set i t s Contrast t o 0.7. Add
a Color Balance effect and set the CyanIRed setting t o
10 and the Yellow/Blue setting t o -10. Open u p the
Render panel and access the Raytracer tab. Set the
Maximum Depth t o 1. Access the Renderer tab and
in the Antialiasing group, change the Filter t o
Catmull-Rom. Finally, render off the scene.

Information: By add~ngthe Br~ghtnessand Contrast and


the Color Balance effect we have, albe~tvery bas~cally, . .
color-corrected our scene. Catmull-Rom sharpens up the
render a little and adds some definition to the displacement and bump mapping effects we have added.
132 WATER
I

Taking it further
The result of our efforts is quite convincing, mainly due to the use of the multiple Smoke maps
designed to create the peaks and troughs of the sea. However there are a few things missing from the
overall effect, namely additional water dynamics such as splashes. These could be generated by care-
ful use of the Flex modifier, but don't expect too much in return, as the heavy amount of geometry
used to generate the surface will have a n adverse effect on the calculation of the soft body dynamics of
Flex. The other method would be to manually fake it by performing a soft selection on the top of the
waves, and using an XForm modifier to handle any wave derormation such as leading edges (as
defined in the Moving Surface Water and Calm Seas tutorials). You could also do it using a Particle
flow system, by getting a load of non-renderable particles to adhere to the surface of the sea and to test
their motion at every frame. Once they go over a certain threshold they can spawn particles which are 1

not fixed to the mesh but have an inherited velocity (so they are flung out) and are also affectcd by
gravity. Quite easy to set up and effective.
The other thing that is missing is the presence of displaced surface water. namely spray. This can
be generated by using a Particle Flow system on either the existing sea surface geometry, or on a clone
to generate a grayscale material more accurately to distribute the particles in specific places. To do this
a clipped version of the gradient, used to distribute the foam effect, could be used to define where the
peaks of the waves are, so that the particles are emitted in the correct places. The particles themselves
should take on two different properties which can be defined by the use of two separate materials -
one to generate a fine mist on a few large billboard facing particles, and the rest on numerous small
particles to generate particular water which is blown off the peak of the wave beforc falling back down
to the surface (and instantly deleted underneath the plane geometry to keep particle counts down and
therefore render times low).
Try adding a few objects to float on the surface of the water, such as a few shipwrecked people or
debris bobbing up and down in the waters, by using an additional Particle Flow tutorial with a
Position Object operator with a surface offset. You could even add helicopter spray and turn the entire
scene into a rescue mission: simply use a noisy Gradient map assigned to a clone of the sea to emit the
particles in the correct places, and a heavy Wind Space warp to displace them. You will also need to
amend the surface material of the waves to account for the extra wind generated by the downdraft of
the rotors: again, an animated noisy Gradient should sufice for this effect. Finally, try adding the
result of the Rain tutorial to this scene, so the end result looks like a dramatic rescue in some really bad
weather, or amend the Displace modifiers like the Noise modifiers in the Calm Seas tutorial to create
leading waves by smearing the displacement slightly.
underwater

Introduction
Underwater shots are quite difficult to pull off, mainly due to different lighting conditions having
a great affect on mood and visibility in the scene. In this tutorial we are going to recreate a shot
of an underwater scene that has been taken just beneath the surface of the water. To do this, we
are going to use a combination of lighting and materials to create the water's refraction of the
exterior environment, plus volumetrics to deal with the density of the water to simulate light
falloff and particular matter. To top it all off, we are going to animate the surface of the water by
amending the modifiers assigned to the water's geometry and the materials, parameters to give
the impression that the sea is moving over our heads.
134 WATER

Analysis of effect
(a) Viewing the reference material on the DVD-ROM, we can
see that the external environment (the sky, clouds and sun)
affects the colors of the underwater environment a great
deal. Due to the close proximity of the camera to the surface
of the water we can see through the distorted surface, out to
the external environment. Because of this distortion and
the change in refractive index of the two environments, the
resulting view of the clouds and sky will become severely
distorted. (b)However, we do not see all of the external envi-
ronment; only what is from about half way up the frame to
Image courtesy of D ~ g ~ tV~sion
al
the top of the frame. The reason for this is due to the inter-
PP nal reflection of the water; like the way optical fibers carry
5-39! light. This reflection is of the water beneath the camera and
is viewed on the perpendicular of the sea's surface. It is
(mainly) a solid color which picks out the detail of the sur-
face, down to the smallest ripple, so we end up with the dis-
torted refraction of the external environment, which is
partly occluded by the reflection of the water below. (c) This
internal reflection occludes all external refraction the fur-
of th nt below ther we look down into the scene. Added to this is the par-
ticular matter and light scattering which causes a fogging
Image courtesy of Digital Vision
effect that quickly builds up as we look down along the sur-
.a . . - - -...- . . .
face of the water. (d) Finally, we have (depending on the
create a fog!
. . position of the camera) a large highlight that is broken up
urther we lo(
3ce of the WE due to internal reflection, which is generated by the sun
being situated right behind the surface of the water. This
creates amazing caustic effects which can be seen on the
seabed, depending on the depth of the water.
The actual scene in 3ds max is going to be relatively
simple to create, mainly due to us already covering every-
thing that we need to do in this analysis section. Due to the
Image courtesy of Dig~talVis~on blue sky we are going to use (which is an image that ships
with 3ds max), we can develop colors or derivatives thereof
to create fogging, which will be a simple volumetric effect
controlled by camera ranges. The lighting itself will be a sin-
gle Ornni light, as we do not have any additional objects
floating on, or submerged in, the water (else we would have
to re-light our scene accordingly). To create the large bright
area, we can simply position our Ornni light close to a plane
n s nlgnli
oker to the in
object with our sky bitmap assigned to it and use it to overly
eflection of the sea surfac illuminate a spot o n the plane. When rekacted through the
material assigned to the sea's deformed plane, we will see a
Image courtesy of Digital Vision bright light that is illuminating (hazy) clouds, which is the
'ap$!l e s6u1~as S!I 6u1puaweaJojaq 'I! U O ! ~ ! S pue
O~~ auo
J
6u!ls!xa al(1 Ado3 s! op 01 paau aM 1 1 '11 ~ 01va!j!pow u61sse
pue aueld ayl alea~3a~ 01 paau IOU op am 'sn JOJ auop
~ J O Ma q l j o jley 106 Apea~leaney am s~ :uo!$eurlo#ul

'S 01 ~ a ! l d ! l l n wJapuau Avsuaa


a y I pue 001
01 ~ 6 % YIP!M pue y16uai '009 01 YIP!M pue y16uai
ay$ $as 's6u!uas aseq s,va!qo s ! y ~UI 'aua3s a y j j o
JaIua3 peap s! !I JeyIos 0'0'0 saIeu!pJoo> j e y3eq
!I uo!I!soda~pue eaS !I laqel 'aueld Ays a y I Ado3

.noA 104 Isa!sea s! Jarzayqm asn os ' S ~ J O M poqlaw JayIi3 .way1


alelo) 01 6 u 1 ~ e40y peaisu! A~IawOa6a y i 40 saw4 ayj dl14Aldu!s 01 ~a!y!powIewJoN e pappe ahey am

:%::d.:.--.-. . T.
. .-- . . . --
. ,._;,,.,,r-er.-
, -
. . . . . . . .J
.13asJalu! IOU op Aay~os aueld s1y14ouo!g!sod ayi aIe3olaJ
01 paau a~ 'auax ayl 40 ~aiua3ayi i e eas a y 6u!1ea~3
aq ll!M aM SQ ' ~ ~ 0 6 A l oleuo!I!ppe
d
~
aJ!nbaJ IOU SaOp 0 5
'~alqo lelj e Aluo s! i ! asnexq h1auroa6 s,aueld Ays ayI u!
suo6Alod 40 iunowe ayl pa3npaJ aneq a M :uo!$eur~o#u~

.y3eJS Ja!j!pOUl S I ! 01Ja!j!pOm


IeUlJON e p p v .Sl!Un 09-05 InOqe s p l e ~ d tAlle>!IJah
l
---...

- ..--- - I! anolu ' ~ o d ~ a ! yl \a l a y ul


~ . L 01 s6as y l p ! ~
r
-- ~

pue y16ua1 a y I I ~ S 'AYS J! ~ a q epue ~ 00s j o YPIM


!
pue y16ua1 e ~M !I ~ o d ~ay$ a j o! JaIua3
~ ayI
-m..
Lrn--+,
-. - - % . . a ...
. ..... .. ..... .. ..... ..,:. . . . . .:. . . . . . . . .- u! a~!I!lu!Jdaueld e a1ea~3' ~ o d m a ! l \ d o a~ y ul 1
~

.ua!4!pou pJepuezs 6u!sn


s ayz azew!ue pue saueld eaS pue Ays a y j azea~3l l ! a~M z s ~ ! j NO l r r v d
a 3 e ~ ~ ns,eas

.sanqJns JaleM 3!ls!lr?a~al~a.13 01 auo a~!j:,ajja ur?s! a~npano~d


s!ql se 'yooq s!ql u! s[e!Jolnl l ~ a j j a2ej.ms.mJr?M
a Jaylo a y j o l anbluqnal Jel!rtr!s e s! 4 3 1 '[lams
~ ~ a8~el
ayl aA!;rp 01 auo pur? 'sahm ~ e [ n % a11ems q at11 [o.quon 02 OMJ :s-ra!j!pom as!oN Maj e BLI!~?~II!uI? put?
su!uo!l!sod jo ase:, aldm!s r? aq ~I!Maua3saayl8u!le~u!~1~ ,dew JJO[~RJ I? U! ]as ~0103anlq alBu!s r? aq ~I!M

s!ql I n q '~eln3!puad~ad aql uo luau!mo~dlsow aq os[~? ~I!Muo!l:,alla~ a4,rA 's!s6[1?ue [e!~!u! ayj u! pano!)
-uam se '~eln3!puad~ad aql uo luau!mo~djsow s! I! ~ i ? os y l paysr?maq [I!M q ~ q %u!ddertr
m durnq arll jo
apeys aql y l ! u!~ sag y:,!q~ 'Ie!.Ialem p a ~ o ~ anlq r t ~ a q ' l~u e , ~am ] ~ J J J .
o n aldm!s ?I aq [I!M [ e ! ~ a l ~ sapas
136 WATER

Add a Noise modifier t o the stack and rename i t I


Noise-WaveOl. Enable Fractal, set the Roughness
t o 0.4 and Iterations t o 10. Set the Z Strength t o 10,
enable Animate Noise and set the Frequency t o 0.01.
Select this Noise modifier's Gizmo sub-object and, in
the Left Viewport, rotate the gizmo 65 degrees
kwise. In the Top Viewport, rotate the same gizmo
45 degrees clockwise.

Information:We are going to create two sets of waves -


-- . _- _ . , one travel~ngd~agonallyto the left and one d~agonallyto
I

the r~ghtWe have rotated the gizmo so that ~tdeforms the


surface by creatlng sharp(1sh) l~ttlecrests and larger tra~l~ng
waves If we left the nolse the way ~t I

was, we would not have a def~nablelead~ngedge to our wave The Frequency has been reduced I
1
to slow down the No~semod~f~er's anlmat~on,so the wave motlon IS not moving too fast

4 Copy the Noise-Wave01 modifier and label it


Noise-WaveO2. In the Top Viewport, rotate this
!

modifier's gizmo 90 degrees anti-clockwise. Add I

another Noise modifier and rename it Noise-Swell.


I
Set i t s Scale t o 400, enable Fractal and set the Z
- Strength t o 50. Enable Animate Noise and set the
I
Frequency t o 0.01.
I

Information: We have cloned this modifier to create the


I
wave going 90 degrees in the opposite direction, so that
.. . - - -.. , - - - ,
I
the waves cross over one another. The additional Noise I

modifier has been amended to create the large swell


motion of the sea surface, hence the large Scale value.

Select the Noise-Wave01 modifier's gizmo. Go t o


Frame 100 and enable Auto Key. In the Top
Viewport, enable Grid Snap and reposition the gizmo
30 units left and 30 units down. Select the
I
Noise-Wave02 modifier's gizmo and reposition it i
I
30 units right and 30 units down, so each modifier is 1
traveling 90 degrees in the opposite direction t o one
another. Turn off Auto Key and go back t o frame 0. 1
I
Right click the keyframes at frame 0 and select any
.
I

!
v ,
- -
. .
--
"-- .
..
.----.-..-
2
r . .
-
. . . . .
_ _ .... ..- -
T
I
. I . one of the Phase keys. Amend the Out curve so it has 1
UNDERWATER 137

a linear attack (as illustrated) and click on the arrow next t o this key's Out curve t o send this
curve information t o the In curve of the next keyframe (at frame 100). Set this curve type
for all keyframes (all Phases and all Position axes).

Information: As we are 'joining the animation' at frame 0, we want the sea's surface to be
already moving, not speeding up. If we left the keyframe's curve information the way it originally
was, our deformation animation would speed up and slow down, which is not what we want. To
test this deformation, perform either a quick test render or run an animation preview. The result,
when viewed from a distance is very subtle, but as we are going to be close to the surface we will
notice any changes in deformation very easily.

PART T W O : With the animation set up for the deformation, we can now concentrate
on creating the materials in our scene.

6 Open up the Material Editor, label a new material


Sea-Underwater and assign it t o the Sea object in
the scene. Set the Diffuse color t o RGB 1,70,112, the
Specular Level t o 223 and the Glossiness t o 46. Set the
Index of Refraction t o 1.33.

Information: We have changed the Diffuse color to a


blue which is to be consistent throughout the scene (to
simulate the color of the deep water), that was generated
by point sampling a color from one of the reference images
on the DVD-ROM. The IOR was set at 1.33 as this is the
refractive value of water.

7 Set the Bump amount t o 15 and add a Mask map


t o its slot. Label it Sea Bump. Add a Noise map t o
the Map slot and label i t Sea Ripple Bump. Set the
Noise Type t o Turbulence with a Size o f 1 and 10
Levels. Click on the Swap button t o change the black
and white colors over. Back in the Sea Bump map, add
a Falloff map t o its Mask slot and label i t Sea Ripple
Bump Mask. Set i t s Front color t o RGB 104,104,104.

Information: We have set this Bump map up so that it is


strongest on the perpendicular, which is what is apparent
in the reference material -the ripples cannot be made out
very well on the surface when the water is parallel to camera, but can be clearly seen on the
perpendicular, which is what the Falloff map controls.
138 WATER

Add a Falloff map t o the Refraction slot and label


8 it Bump Color Enhancement. Swap the t w o colors
and set the Mix curve as illustrated. Add a Raytrace
map t o the Falloff map's Front slot.

Information: The Mix curve was amended so that this


map clips off the raytraced refraction on the perpendicular,
as shown in the material sample, so that the bump
mapping will also stand out as there will be no refraction
applied to the perpendicular of the bump mapping either.

Back at the t o p o f the material, add a Falloff map


9 t o the Reflection slot and label i t Sea Depth
Reflection. Set the Side color t o RGB 1,70,112
(the same as the material's Diffuse color) and set the
Mix curve as illustrated.

Information: The Mix curve was amended to pull in the


sides of the perpendicular falloff so the blue is most
prominent in this map, as it represents the reflected color
of the water below the camera.

PART THREE: With the Sea's material finished, we will now create the material for
the sky which is refracted in the 'water', and position a light t o create the sun.

..-------
-.- - - *T,l':?C.
--,---

-
+,,z ,.,, -&.,'s';.u Label a new material Sky and assign it t o the
10
^.- r.* 7----:

'- -7- -
!i?
%;
-- .
Sky object in the scene. Enable Self-Illumination
. .- and add the Skyjpg image (which can be found in 3ds
7- max's own maps collection) into the Diffuse slot. Add a
Falloff map t o the Self-Illumination slot and label it
Sun Glow. Amend the Mix Curve as illustrated, expand
the Output rollout and set the Output Amount t o 2.
Information: With the Mix Curve amended and the
Output Amount increased, we have an intense self-
-
.-
..- ,-. -., . * .:.:. ,- -.a*-
--. -. ..
.,- .,. " illuminated spot (which trails off quite quickly so it won't
over-illuminate the map) around the location of our light, which we will position next.
UNDERWATER 139

Reposition the Perspective Viewport so that we


11 are looking down the Sea plane, and so that it
is above us in the Viewport, with the Sea's 'Surface'
clearly visible. In the Top Viewport, create an Omni
Light, set i t s Contrast t o 100 and reposition it in the
Left Viewport so that it is right next t o the Sky object,
as illustrated. Reposition the light in the Top Viewport
again (if necessary) so that it is almost dead center in
the Perspective Viewport. With the Perspective
Viewport active, select ViewXreate Camera From
View, or hit CTRL+C.

Information: We have increased the Contrast of the light so that there is a more distinctive
difference between light and dark colors defined by the light (such as the illumination of the Sky
object). We have created a camera as we need to set up environment settings within the camera to
control fogging.

Select the camera and set i t s Lens size t o


-----
12 28 mm. Check on Show in the Environment
Ranges section. Set the Near Range setting t o 200 and
the Far Range setting t o 510. Open up the
Environment panel and set the Background Color t o
RGB 2,56,89.Add a Fog Atmospheric effect, set the
Fog color t o the same as the Background color and
enable Exponential. - iI
Information: The Lens size was set to a wider angle to i-
give the scene a sense of scale; you do not get this with a
narrow angled lens. The background color and the fog
share the same setting so they can blend together nicely. Even though the fog will occlude the
background color, it is useful to set this value in case we amend the Raytracer's Maximum Depth
(which is advisable - a setting of 3 will suffice), as once it reaches this maximum depth, it will simply
use the color of the background, which as we have set it to this blue will not stand out a lot, if at all
140 WATER I

Re-open the Material Editor and navigate t o


13 the Sea Ripple Bump map. Go t o frame 100 and
enable Auto Key. Set the Phase of this map t o 10. Turn
off Auto Key and go back t o frame 0. Right click the
keyframe at frame 0 and navigate t o the keyframe we
have just created. Amend the Out curve of the
keyframe at frame 0 t o a linear attack and send this
curve information t o the keyframe at frame 100's In
f l. ;"~
x 3 + s m T curve as before. Render off the animation. I
- -- -. .- - - --
-.-
- -- -- . .. I
-- - . . l
I,-m-7;-.7
Information: We have had to animate the sea's bump
1
mapping or it would appear as if the bump was stationary
and the deformations were just passing over or through the mesh Again, as we amended the curves
of the Noise modifiers, we must also do the same for this map else its Phase will speed up and slow
down
I
I
I

Taking it further
We have just about nailed the effect with these few settings, especially after animating the elements in 1
the scene. However, we can tweak the scene a little more to make it more believable. As there is a fair 1
amount of swell going on to displace the surface of the water so much, the camera should also move I
around a fair amount: swaying from side to side should suflice. to suggest that the camera 'operator'
is being buffeted around a little bit by the motion of the water. You may also want to add some extra
translucency to the s~wf21cc of the water. To do this, use a Translucent Shader that uses a dark deriva- ,
I

tive of the original material's diff~isecolor for the translucency color. Don't forget though to keep the
translucent effect subtle because too much will wash out all of the bump effects we have tried to
achieve. I

The colors are almost right, but may need intensifying a little. In addition, the surface texture will 1

not be so defined, therefore you may want to blur the scene a little by adding a Blur rendcr elfect and
adding a Brightness and Contrast effect to tweak the colors a little. In the rendered example I have
included on thc DVD-ROM, I have put the final rendered animation through Co~nbustionto amend 1

I
the colors and to blur the image slightly, I have also extracted the bright (white) areas of the scene and
added a radial zoom effect to create volumetric streaks emanating from the highlight on the water's
surpace from the sun.
If you do not have access to Combustion. this can be replicated using a Blur render effect, or (even
better) create a n action in Photoshop (if you have access to this program) to extract the white. dump
it on a new layer. perform the radial zoom blur and change this new layer's blending type to Screen to
overlay it back onto the original backplate. Photoshop actions are great for these kinds of basic color
amendments and non-animated filtering as they can be used as a 'poor man's compositor'.
In addition to the improvements to the color. try adding additional particular matter such as
floating debris that is disturbed when the swell washes over them. You may also want to add addi-
tional fogging to simulate the change in color due to deep waters. If you're really feeling adventurous.
UNDERWATER 141

,.&! some fish and other life forms. such as the odd dolphin. You could even change the entire mood of
the sccne by amending the lighting and the colors, and adding raindrop ripples onto the surface of the
water: see the Rain tutorial in this book to see how to create an effective bump map animation that
~iouldbe ideally suited Tor this scene. This would create a really convincing stormy sea effect. Couple
this with more turbulent water surfi-~ceanimation and you've got one dramatic scene.
1
1 At the end of the day there's not much you can do to this scene to wreck it because the volumet-
ric~and post effects would hide any irregularities. Just don't overcrowd the scene, or you could run the
risk of making it look unconvincing. The ocean is a big place, so cramming every creature in the sea
into this small space would kill the scene.
Moving
surface water

Information
I

This tutorial is just the first part of a larger tutorial which is spread across two elements in this book -
water and earth. In this particular tutorial we are going to create a body of water which is virtually
motionless but has winds affecting its surface. To simulate this we are going to use simple geometry
to create the body of water, and a few modifiers to displace the surface of the geometry, therefore
creating a few waves that are animated down the length of the mesh. We will also create a smaller
animated surface texture to give the impression that these winds are not only displacing the surface,
but are also skimming across it and whipping up the surface material of the waters. Next we will
introduce a skv that is to be reflected in the surface of the water and illuminate the water accordinalv a,

to match it. Finally, we will generate a particle system to place debris over:the surface. Again, please.
be aware that this tutorial only covers the water creation part of the above image; the rest of the
tutorial continues in the Earth section's Grasses tutorial.
1
1
u

M O V I N G SURFACE WATER 143

Analysis of effect
) Because of the winds, we have two resulting surface motions - a
rge surface displacement which is smooth and travels down the
length of the water at a relatively constant speed, and a smaller
surface texture which is more detailed. The larger surface displace-
ment can take on the form of several waves, each of which travels
in a slightly different direction so that they overlay one another
and break up each other's pattern and regularity. (b) The smaller
surface texture is caused by the wind rushing over the surface of
the water and kicking it up a little. This creates an occasional
'rush' of texture. But more often than not, some winds are quite
'constant' and will therefore generate a quite consistent pattern
across the surface. As this does not affect a larger mass of the sur- .the$5atter'tfand-motionbf'the su?f&ze
face. the main displacement of the water will pass over this surface displacefi~iitis quite regular, while the
texture and distort it. The water itself, as it is largely motionless. pattern and regularity of the surface
can change in appearance depending on the weather of previous
days. (c) For example, should it have rained the day before, then
any loose soil or dirt from surrounding areas will have washed into
the water. As the water itself is not moving (only the surface
appears to be) the dirt will sit, suspended in the water, until it
finally sinks to the bottom. This may take a few days and will result
in the water appearing like the chocolate lake in Willy Wonka's
Chocolate Factory. This can have an adverse effect on the reflection
of the surrounding environment due to the particular matter in
the water diffusing the reflection a little. The reflection of the
water, as always, is strongest on the perpendicular which means
that the surface reflection will show the surrounding areas more
prominently if the camera is low to the surface of the water, but
will not reflect the sky as clearly as it appears more parallel to the
camera due to the waves (unless there is little or no wind of
course). (d) Because we are going to be basing our scene on a real-
world environment, we can see that the main debris in this body of
water are grasses and leaves from surrounding foliage. Therefore,
we can use these leaves (the grass debris will be introduced in the
I
next tutorial along with the banks of the canal) and float them in
the water. This debris does appear to move slightly and also spins
slowly as it moves, which therefore states that the entire body of
water is not motionless after all. The wind simply whips up the sur-
canaj can be found very close to the
face of the water and not those objects floating in it; they simply water's edge as the surface mot~on
pass over the deforming surface. ' es not d~sslpatethem or push them
The geometry creation in 3ds max is going to be pretty basic.
As we only need one main body of water, we can use a simple
down the canal
I
elongated Plane primitive for the water surface. Because we want
the surface texture (which will be generated by bump mapping
144 WATER

created by an animated Smoke map and mapping gizmo) to be deformed with the surface of the water
mesh, we need to place any mapping modiljers. which will control this surface texture, beneath any
modifiers that deform the surface, otherwise this texture may appear to 'float' on top of the deforma-
tion. The deformation will be created by two Noise modifiers. which will be virlually identical apart
from their gizmos which will be angled in opposing directions and will be animated to travel off in dif-
ferent directions, so that the deformations produced by these modifiers will overlap, exaggerate end
cancel each other out, just like in real life. The motion of the entire body of water will be created using
an Xform modifier which will be animated a short distance. The debris on the surface will be conlined
to the sides. near the area at which they fell: because of this we will use a particle system to distribute
the debris. which will be planar-mapped particles with leaf materials assigned at random to them. We
will distribute the particles over a copy of the water surface which will use a gradient to control the
distribution concentration. Due to the (future) introduction of a grassy bank, and so that we have an
overlap of the grass and water meshes. we will also have to inset the debris so that it will not appear likc
it is moving inside the bank. This can be tweaked later on, but it is always good to get the technology in
place early on so we can simply amend later if necessary. The scene's lighting will consist of an array of
lights which will simulate illumination from the 'sky' (a flattened hemisphere with a standard texture
assigned to it), plus a single key light (a direct light) to create the sun.

Walkthrough
P A R T ONE: First w e w i l l create t h e basic g e o m e t r y f o r t h e w a t e r surface a n d I

sky dome.

In the Top Viewport, create a Plane primitive


1 with a Length of 2000 and a Width of 10000
and label i t Water Surface. Set the Length Segs t o
50 anu the Width Segs t o 250. Also in the Top
Viewport, create a Sphere primitive and label it
Skydome. Set Hemisphere t o 0.5 and set the Radiu
t o 30000. Ensure both objects are in the center of
the scene.

Information: The Plane ~rimitivehas to have a fair


.""---
-. -~.
- I--
...
- _- _ . ._--,- m - -
I
.. amount of polygons so that the surface displacement IS

apparent when the scene IS rendered We could use a low


amount of lteratlons In the length and wldth segment settlngs and just use a render mult~pller,but as
we are going to be uslng a clone of thls geometry as a part~cled~strlbutorlater on, for rllustratlve
purposes we will slmply work wlth a h~ghernumber of polygons In the scene The Sphere has been set
to a hemisphere because we only need the top part of the sphere to represent our sky
M O V I N G SURFACE W A T E R 145

Add a Normal modifier t o the Skydome hemisphere.


2 Add a Mesh Select modifier and, using Polygon
sub-object selection, select all of the polygons on the
base of the hemisphere. Add a Delete Mesh modifier t o
remove these polygons. Next, add a Mesh Select
modifier and add a UWV Map modifier t o the stack. In
the Left Viewport, scale this object down so that it
is about 20% of i t s original height and move it down
about 200 units.

Information: The Normal modifier has been added to


=
.. .
..- .- .... -.
-.--- -
-.
. . . . ..- . - - - .. " *-.. .
_ _ _ - _ ...._ --.--
_ -I .
,,
. .. .-

flip the faces of the geometry around the other way so that
they are facing inwards. Otherwise, if we rendered the scene from inside this hemisphere, we would
not be able to see any faces at all. The base of the hemisphere has been removed as, again, we do
not need it. The additional Mesh Select was added to clear the sub-object selection, and the UWV
Map has been added to place a texture map over the top of the object. The object has been scaled
down so that we only have a slight bulge to simulate the sky (so the texture is not as distorted) and
has been moved down in the Left Viewport so that should any other objects be introduced to the
scene later on (in the next tutorial), we will not see any of the background color.

I PART T W O : Next we will add modifiers to apply the texture and to deform the
surface, giving the impression that it is moving.

I
I In the Top Viewport, select the Water Surface
-"-------
.
IP- i r F - - 3 i rma

I 3 plane and add a UVW Map modifier t o the


modifier stack. Set both Length and Width settings in

II this modifier t o 2000 t o make i t s gizmo square.


Right-click the Play Animation button and set the
Animation Length t o 200. Go t o frame 200 and enable
- !a-,?- ..
."-.
---
.--

~
/ Auto Key. Enter this modifier's Gizmo Sub-object
mode and move it 3000 units t o the right. Right-click
..-,
-- .,-
..-:.
."--.

--- --
-
,. ....
-.
.-
.

the resulting keyframe at frame 0 and amend the -,

I
I X Position's Out curve t o a linear attack, then click on ...-.
.. .- -
- . ,~
..- - . - -;.- -,*.-- ~" ,*.,
,- 7"
.
the arrow next t o i t t o pass this keyframe information
to the keyframe at frame 200.

Information: The UWV Map modifier's length and width settings have been set the same so there
! will be no stretching of the texture that we apply to the object later on. The gizmo has been
animated to add the light wind surface texture motion of the water, which will be handled by bump

i mapping; the keyframe information has been amended so that the animation does not speed up or
slow down.
146 WATER

With Auto Key still enabled, add an XForm


. modifier t o the stack. As this modifier
automatically puts you in sub-object mode and we are
still at frame 200, move the XForm gizmo 300 units t o
i the right. Again, select the resulting X Position
keyframe and amend i t s curve information as before
and pass this setting across t o the keyframe at frame
200.
Information: Th~smod~f~er moves the entlre body of the
--- --. -P
- -, --..-
. . r
water across It may seem po~ntlessat thts tlme, but as the
part~cledebrrs wtll be locked to the mesh we can s~mulate
the motlon of the water by s~mplymovlng ~t We have used an XForm mod~f~er and not just
an~matedthe whole mesh because we need to animate the geometry further, and only want the
deformat~onsto be an~mated.not the entlre mesh

.--------------
.
I-*. UP ~ o D + u - E I = - ~+ ~+ ., r 2 * . v r w c -ax;--*
-1
.-
Om: 5 Go back t o frame 0 and turn Auto Key off. Add a
Noise modifier t o the stack and set i t s Scale t o 50,
. .>
Z Strength t o 90, enable Animate Noise and set the
_c
-- Frequency t o 0.05. Enter Gizmo sub-object mode and,
--: in the Top Viewport, scale the gizmo t o about 1600%
=
--- vertically. In the Front Viewport, rotate the gizmo
--
--- 75 degrees clockwise, and in the Top Viewport, rotate
it 15 degrees clockwise. Copy and paste this modifier,
and in the copy set the seed t o 1 and rotate the gizmo
r
-, . -------
. - -. . - . -.
-/
. in the Top Viewport 30 degrees anti clockwise.
Information:The No~semod~f~er has been stretched out
to form some long waves, and has been rotated so that ~taffects the surface of the 'water' at a
sl~ghttangent, generattng a sharp-~shpeak where the wave leads the motlon w ~ t ha tra~l~ngfalloff
The comb~nat~on of the two opposlng mod~f~ers,at sl~ghtlyd~fferentangles and d~fferentseeds to
one another, overlap each other and, when an~mated,w ~ lappear
l l~ked~fferentwaveforms
travel~ngdown the canal
M O V I N G SURFACE W A T E R 147

Select the Gizmo Sub-object of the first Noise


6 modifier. Enable Auto Key and go t o frame 200.
Move the gizmo in the Top Viewport 1000 units t o the
right and 1000 units vertically downwards. Select the
second Noise modifier's gizmo and move that 1000
units t o the right and 1000 units vertically upwards so
that the two gizmos are traveling in opposite
directions. Turn off Auto Key. As before, amend the
resulting position keyframe information's Out curves
for both modifiers and also amend the Phase
keyframe information.

Information: As mentioned in the last step, the opposing modifiers create multiple waves along
the surface of the water. This time, as more than one axis has been animated, you will have to
amend the keyframe Out curves for X and Y axes for both of these modifiers as well as both Phase
keyframes.

PART THREE: Next w e w i l l create, animate a n d assign t h e water material, as well as


creating t h e leaf debris and sky materials.

7 Water. Set the Diffuse color t o RGB 2,3,0, set the


Specular Level t o 250 and Glossiness t o 90. Add a
Falloff map t o the Reflection slot and set i t s Falloff
Type t o Fresnel. Add a Raytrace map t o the Falloff
map's Side slot and amend the Mix Curve t o that
illustrated.

Information: We have set thls materlal to a hlgh glossy


surface so that a lot of specular h~ghllghtswill be p~cked
up The Falloff map has been added so that the Raytraced ' --_.
----. -.--.-C
..
._. . .- .
, < .
* I _ _ - - -..--
1 3
> .

reflections are masked out a Ilttle, so they are more


prominent on the perpendlcular than completely face-on, and the MIXCurve amendment
ernphaslzes the perpendlcular effect but reduces the parallel effect
148 WATER

At the top of the material, set the Bump amount


8 t o 5 and add a Smoke map t o the Bump slot. Set
the Source t o Explicit Map Channel, the Size t o 0.04,
Iterations t o 20 and Exponent t o 0.4, and change the
off-white Color 2 swatch t o white. Go t o frame 200
and enable Auto Key. Set the Phase t o 5 and turn
Auto Key back off. Assign this material t o the Water
Surface object in the scene. Amend the resulting
Phase keyframe's Out curve, as before, t o create a
linear attack and pass this curve information t o the
keyframe at frame 200. I
I
Information: The Smoke map's Color 2 generates the trough part of the ripple (due to the I
I
Exponent being set to 0.4) which makes the white more dominant with a small black (Color 1) peak, ,
therefore generating the ripple. The Source was changed to Explicit Map Channel so that the I
I
animated UWV Map modifier could be used to posit~onand animate this texture. I

Label a new material Sky and assign i t t o


9 the Skydome object in the scene. Set the
Self-Illumination t o 100 and add a Bitmap map t o the
Diffuse slot of this material. Load in the SKYjpg file,
which is included with the shipped version of 3ds max,
into this map.

Information: We have used the planar mapping of the


Skydome sphere to stretch this map over its surface. As we
are not going to see the sides of this object, and are only
using it for the reflection, its detail (and any stretching) is
not all that important because it will be broken up in the
reflection (due to the bump mapping a17d surface deformation of the plane object).

Create a new Multi/Sub-Object material in a


10 new material slot and label it Leaf Debris. Click
on the Set Number button and set the Number of
Materials t o 4. Go into the first material in the
MultiISub-Object material's slot and label it Leaf01
Top. Load in the oakleaf01-top.jpg included on the
DVD-ROM as a Bitmap map into the Diffuse slot, and
instance this map into the Bump map slot. Load in the
oakleaf0l-mask.jpg map into the Opacity slot.
'(y3eIq) alpp!w ayl u! auou JO h a n 01 6u!ys!u!u!p (ai!yM)
sap!s ayi l e s!Jqap 40 lunowe y6!y e '(syueq ayl .a,!) saysau 40 6u!ddel~anoAue JOJ lasu! ly61lse
- s a q d l y 6 ! ayl
~ u! pauo!l!sod aJe sap!ued ayl ley1 os way1 alnq!Jls!p osle o i lnq 'Sal:,!lJed ayl las4jo
o l Aluo lou pa!do:, uaaq sey aueld a y l 'Ado:, aueld ayl uo Ja!y!polr\l ysnd ayl6u1snpaiea~3$as440 ayl
J3UJy I A J ~ J W O J ~JaPM ayi yi!M l:,aSJJ$U! I O U inq J:,PJJnS ay$ UO l!S 01 ~eadde01 u a y l la6 O i Jlu!l e
$as440 aq 01 paau hay$ 'salxued 6 ~ 1 3ale ~ 46u!sn aq 01 6 ~ 1 0aJe
6 am sap!ued a y l sy :uo!perurojul

.aua>s ay$ u! u a f q o uo!inq!J$s!a


s!Jqaa Ja$eM a y $ o $ le!Ja$ew s!y$ u6!sse pue $ J o ~ M ~ ! A
U! d e ~ M 0 alqeU]
y ~ 'a$!yM 01 88 pUe 21 SUO!$!SO~ $e
sauo ay$ pue y3elq o$ 001 pue 06 '0s '01 '0 suo!$!sod
$e s6elj ay$ $as '06 pue 88 'ZL '01 suo!$!sod 01s6elj
ppe pue 06 0%6u!$$as a 1 6 u vM ay$ $as WIS asng!a
aq$o$ d e w d w e u $ua!peJ3 e ppe pue uo!$nq!J$s!a
s!Jqaa le!Ja$ew Mau e laqel '01 o$ anleA ysnd
a y l $as pue yDe$s ~ a ! j ! p o w
!S
I 01Ja!ypow ysnd e p p v
.uo!$nq!J$s!a s!Jqaa Ja$eM laqel pue p a r q o
a>ejJnS JaJeM a y l Ado3 ' u o ~ M ~ ! / \d o 1 ay$ u l Z1
.Aa$eM ay$ 40 a3epns a y l uo y q a p a y l Jeol4 l l ! ~~ Y M
wa~sAsa p ! $ ~ e d
e ale~aua6MOU II!M am 'a$alduo3 sle!Aa$ew a y l y $ ! ~:Hnod
\ IMW~

.suo!sJaA paldo3 ayi u! sluawala


hay a3eldaJ pue auop hldw!s uayl pue le!Jaleu 1s~!4a y l u! SJalaUJeJed s,le!Jaleu ayl dn las ue:,
JM 'lexpuap! hllenu!~ s! le!Jalew y:,ea sv :uo!peuilo#ul

.dew
A ~ p e d opaJJO3 aq$ 6u!u6!sse pup /(1$3aJ~03Sle!Ja$ew
ay$ aweuaJ 016u!$$a6~04$ou 'sdew wo$$og ZOjeal
pup d o 1 zo4eai ay$ ~ 0 le!Ja$ew 4 $3a!qo-qns/!~1nw
ay$ u! sle!Ja$ew OM$ Jay$o aq$ d n $as .le!Ja$ew
pa!do:, a y $ j o s ~ o l sd u n g JO asnjj!a ay$ Jay$!a u! dew
6dl.~uo~~oq-~o~eaa l yy$
e oy $ ! d~e w 6dl.do~-~o~ealyeo
ay$ a3eldau ' w o n o g Lojeal q aweuaJ pue 101s p u o m
ay$ o$ 101sISJ!~ s,le!Ja$ew ua!qo-qny!$lnw
ay$ u! le!Ja$ew d o 1 104ea1 a y l /(do3 LL
,le!Ja$ewyuelq e asooy:, iou saop walsAs ap!ued aql ieyl
os p 01 sle!Jale(/y40 JaqwnN ayl $as aney a M . w o p u e ~$e sle!Jalew a y l j o Aue asooy:, ue3 aieaj:, 01
6u!o6 aJe,aMuatsAs ap!ued ayl ley$ os le!Jalew pa!qo-qny!llny\] e 6u!leaJ3 ale a M :uo!peruro#ul
150 WATER

-..-------------
I"*;

. -
.7.-7<r(,*+t.,c?r,
-
* - -I
a&
<.~d**-;---i,., .,-.,-,'L---e*
,l;:w:
~.~~ -
~..,
13 In the Top Viewport, create a Particle Flow system
and label it Debris-Leaves. Set the Viewport
. I , .
- .
*.--
.. ......
. "-
! Quantity Multiplier t o 100 and open up Particle View. In
.[ . *+--.....
. " "'

the Birth operator, set the Emit Start and Emit Stop t o 0
.........
.. .- .
I .- -
: and Amount t o 750. Overwrite the Position Icon
......
.,
. . operator with a Position Object operator. Enable Lock
i -. ....
-. . . on Emitter, add the Water Debris Distribution object t o
.... -
I
. .-.- . .--
. ,-.-.-"
8

, ... T.. z-:L 1 the Emitter Objects list and enable Animated Shape and
. !.:~- :;
- ?2.7-?-.
. . g
Subframe Sampling. Enable Density By Material and
........
........... -,. ...
..
2m.-
"
r -. - .~ I . . . .
- -
..... -.. ,-
. . .
, .-..............
........
..._. -,
,
.......
Separation and set the Separation Distance t o 75.

Information: Using the Position Object's Density By


Material (which defaults to Grayscale)the particle system will distribute the particles based on the
strength of the white in the material assigned to the object($ in the Emitter Objects list. The particles have
been set to lock onto the emitter object so that when the object deforms (i.e. by moving using the XForm
modifier or the Noise modifiers) they follow suit. Animated Shape tells the system that the shape will be
updated every frame, and subframe sampling tells the system to update the shape between frames as
well for greater accuracy. The Separation Distance has been enabled and increased so that the particles
do not overlap and fight each other for space when rendered, else this will result in a flickering effect.

Remove the Speed and Shape operators and


14 add Shape Facing, Spin and Material Static
operators. In the Shape Facing operator, set the Size
t o 100 w i t h 25 Variation. Set the Spin operator's Spin
Rate and Variation t o 10 w i t h the Spin Axis set t o
Particle Space and set the Rotation operator's
Orientation Matrix t o Random Horizontal. Instance
the Leaves Debris MultiISub-Object material into the
slot i n the Material Static operator, enable Assign
Material ID and Random. Hide the Water Debris
Distribution object.

Information: We do not need the particles to move so we have removed the Speed operator. The
particles themselves are simple planar mapped particles, so a Shape Facing operator is used to
generate this, and they are set to spin slightly using the Spin operator with an initial rotation offset
using the Rotation operator. The Material Static operator has been set to assign a Material ID at
random, and because we have a MultiISub-Object material assigned to it, this randomly selected ID
corresponds to that Material ID in the MultiISub-Object material. To see all of this in action enable
Show Map in Viewport for all of the MultiISub-Object materials, enable Show in Viewport in the
Material Static operator and set the Display operator to display geometry.
M O V I N G S U R F A C E WATER 151

PART FIVE: Finally, w e w i l l create a lighting r i g t o simulate illumination f r o m t h e


I surrounding sky.

Turn off Cast Shadows for the particle system


-"-------------
1
i
15 and turn off Cast and Receive Shadows for the
Sky Dome. Turn off the particle system for the time
.-
'
-
.
-.::
.

I
being. In the Top Viewport, create a Direct Light at
I
I
around 10 o'clock with its target dead center of the . ....
scene and label it Sun. Enable Shadows and set i t s . .
color t o RGB 250,245,235. Enable Show Cone and ,.,.. :?.

Overshoot and set the Falloff/Field t o about 6000. Set


the Contrast t o 100, Shadow Map Bias t o 0.01 and the
Size to 1024. In the Left Viewport, move the light l'J
s .:. - -.'... -
,
.....
. : . .. , ..-. . --:,.:-,;,- ..--m ....,.
-,- --,,~~.
vertically so that it is above the top of the hemisphere.

Information: We have extended the FalloffIField boundary as shadows are only cast within this
boundary. The Contrast has been increased to enhance the colors in the scene, the Bias increased to tuck
any (future) shadows right in behind the objects that cast them so they are not detached, and the Size
increased to make the shadow more crisp, therefore suggesting sunlight.

In the Top Viewport, create a Direct light t o the = ~ ~ ~ - ~ ~ F F - ~ - -,


< ,Z- = S~G ~~. . ~ - r T .
16 left of the scene pointing at the center of the
Water Surface and label i t Sky LightOl. Position its
-- -a7

- -- - 8
#

target in the center of the scene. Enable Shadows, set


I the Multiplier t o 0.05 and the color t o RGB
I 205,220,233. Enable Overshoot and set the
jI Falloff/Field t o 6000. Set the Bias t o 0.01, the Size t o
256 and the Sample Range t o 2. Instance-rotate this
! light every 22.5 degrees using the plane as a pivot
I
I
point t o create a full ring of instanced lights. Instance
this of lights and reposition i t above the original in
I the Left Viewport. Instance the ring another couple of times t o produce almost a spherical
I array of lights all pointing at the center of the scene, as illustrated. Turn on the particle
system again and render off the scene at a low resolution t o ensure it works okay.
I
I Information: Quite a big step for a final stage, although the method is quite simple. All we have

/ done is set up a low intensity light that uses a color which has been point-sampled from the cloud
map assigned to the Skydome. The resulting array of lights have low shadow map sizes to keep
render times down, but not too low to lose detail when we add some extra objects later on in the
I Grasses tutorial.
152 WATER

Taking it further
Should you want to improve the reflection of the water you could either turn on Supcr Sampling for
this material or, if you are feeling rather daring, enable anti-aliasing. which will allow you to blur the
rellection and also add distance-based effects, such as fading out objects in the reflcction that are over
a distance threshold. All of which will add to the render times, which aren't all that bad at thc
moment, but once we have added all of the extra elements from the Grasses tutorial, you will bc talk-
ing exceptionally long times, so use them sparingly. You will also want to reduce the amount of ray-
trace bounces to reduce rendering times as we do not have any refractive materials in the scene and
no multiple raytraced objects.
Well I guess that the next thing to do would be to head over to the Grasses tutorial fi~rtheron in
this book to add the banks and additional debris in the water, as well as deforming the shape of the
banks and water surface so that they all follow the same contour.

WE
fall
rip!
wh
spli
wrii
Altt
effe

I exa r
part
Introduction
Creating basic rain is very simple -just a large particle system to encompass the scene, crank the
amount of particles up and, with a bit of motion blur, hit render. Voila! Instant rain. But what if
we want our rain to interact with a surface? In this tutorial we will simulate not only the rain
falling from the heavens (and being blown around a bit by the wind), but also splashes and
ripples on surface water. Be warned that this scene, due to its construction, is quite CPU intensive
when it comes to rendering, therefore (and also due to the construction methods used) we have
split up the procedure into two main sections, so you can set one going overnight. I have already
written a technique to generate this effect that was published in 30 World magazine, issue 36.
Although this tutorial uses a similar technique, it elaborates on it to generate particular water
effects and more splashes, something we did not cover in the first article. There is also an
example of raindrops on the 3ds max 6 Tutorial and Sample Files CD; while this illustrates initial
particle spawning (using animated maps as the spawned ripple and deflected water), it does not
deal with secondary and tertiary ripples, plus the additional effects that this tutorial generates.
154 WATER

Analysis of effect
Due to the sheer amount of particles flying around in the scene
generating the particular water and splashes, we will concen-
trate on a scene in which it is raining only slightly. Open up thc
Wrrterll4-RainlR~.ji.,-c~n~~~~/Mo\~ies/rainO
3.rnpc.g on the UVD. This
clip illustrates rain on a stationary body of water - in this case a
canal. It may appear that the water is moving, but this is just the
surface being affected by the wind. Picking out a single raindrop
to analyze the effect is quite diEcult due to the amount, but, by
careful observation, we can just about make out the motion.
(a) The rain is affected by the wind, so is coming in at varying
- and slightlv
angles - - different sveeds. (b) On hitting- the surface, a
reflected water droplet is ejected up into the air and a bubble
forms to suggest that the raindrop has hit the surface with some
pace. This also results in the surface water around the raindrop
being displaced and forced into the air (with not 21s much inten-
sity as the reflected droplet) creating the impact splash, which
then falls back to the surface. (c) Upon hitting the surface. sec-
ondary splashes is created which generates additional particu-
lar water which is displaced and falls back to the surface. IJpon
each water droplet's interaction with the water body's surface,
a ripple is formed. the size of which depends on the velocity of
the water particle. (d) This normally happens a few times - the
initial water impact, the secondary impact and the final ter-
tiary impact. After which, the impact of the water particles do
not have enough velocity to displace more water lrom the sur-
face.
So what tools do we have in 3ds max that can be used to
emulate this effect? Well, obviously. we are going to havc to
make heavy use of particle systems to do the majority of the leg
work for us. The initial rain particles will hit the water surface
and thcn, using particle spawning. will generatc other particles
that will travel in different directions away from the initial
particle impact. The original particle will bounce vertically
upwards to create a nice splash and will also generate e bubble
particle. Each particle that interacts with the surface will gen-
erate a ripple, which will be created using an animated scale on
a flat spawned planar particle with a ring opacity map applied
to it. Because we want the ripples to be on a water surface, and
because we have no default way to use particles to paint a tex-
ture on another surface, we are going to have to do this in two
passes - firstly to render off an animation of the ripples from
theTop Viewport with our water filling the entire frame right to
its edges, and secondly, reassigning it to the water surface ab
RAIN 155

2 bump or displace~nent map which, if everything is lined u p precisely. will be in exactly the right place
for our splash particles.
As this effect is pretty much uniform, apart fro111 a small amount of chaos and random motion
thrown in for good measure, we can design our rain effect using a very small amount of raindrops.
Once we have got this system perfected. it is then just 21 simple case of whacking up the birth rate of
the particle system and hitting render for both passes.

Walkthrough
PART ONE: First w e will create t h e initial scene and set up t h e Space Warps and basic
Particle System t h a t will drive t h e ripple generator.

In the Top Viewport, turn on Grid snap and create


1 a Plane primitive with a Length and Width of 1000
and Length and Width Segs of 1. Create a Deflector
Space Warp the exact same size and position it (if
necessary) so it's over the top of the Plane. In the Left
or Front Viewports, raise the Deflector above the
Plane slightly. Set the Deflector's Bounce t o 0.25,
Variation t o 50, Chaos t o 50 and Friction t o 25.

Information: Here we have created the backqround for


our ripple generator - the Plane primitive. The Deflector !
- ,
~~
. . . . .. -. ,~~
.- - .- .......
~
--.--
. . .* ;,:- . . ., -.,*"- ,
. ^

has been placed just above the Plane so that any particles
that rest on it after colliding will not be 'fighting' to be on top of the Plane - i.e. the Plane and
particles would be at the same location so may flicker on and off, or appear half occluded. Moving
the Deflector slightly ensures this doesn't happen.

2 In the Top Viewport, create a Gravity Space Warp.


In the Left Viewport, create a Wind Space Warp.
Set the Wind's Strength t o 0.1 and Wind Turbulence
to 1. In the Top Viewport, create a Particle Flow
system the size of the Plane and Deflector and label i t
Raindrops. Reposition i t upwards in the Left Viewport
so it's got a Z height of 2000. Set the Viewport
Quantity Multiplier t o 100, Particle Amount Upper
Limit t o 10000000 and Viewport and Render
Integration Steps t o 114 Frame.
156 WATER

Information: This concludes the initial setup section. Here we have added gravity to cause the
initial rain particles to fall from the 'sky' and added a little wind to create a more random motion,
and therefore pattern when the raindrops create the ripples. The Viewport multiplier was increased
so that later on we can see that our rendered ripple animation overlays exactly with our splash
particles, also the integration settings are set the same so that the Viewport and render particles are
in the same place (using different integration steps may yield different particle positions when
working with deflectors).

PART TWO: W i t h all t h e elements required t o affect o u r particle system, w e can n o w


start designing t h e r i p p l e generator. I

3
Press 6 or select the particle system (if not already
selected) and open Particle View. Delete the
Render operator from the Raindrops Event. Rename
Event 01 t o Raindrops Falling. In its Birth operator, set
the Emit Start t o -50 and Emit Stop t o 200 w i t h
Amount left at 200. Remove the Speed and Rotation
operators. Set the existing Shape operator's Shape t o
Sphere w i t h a Size of 4. Add a Force operator and add
the Gravity Space Warp t o its Force Space Warp list.
. Add another Force operator and add the Wind Space
Warp t o its list. Add a Collision test and add the
Deflector t o the Deflectors list in this test. Change the Display operator's Type t o Geometry,
if desired.
Information: A rather long step that simply introduces the Space Warps to our basic particle
system. The particle's birth has been set to a negative value so that they have already been born
when we start the sequence, so there is no wait for them to collide with our deflector. We have used
two separate Force operators because we will need to utilize each force individually later on, so
there is no point in having the two Space Warps in one operator.

Drag a Shape operator o u t t o t h e Particle Flow


canvas t o create a new event. Label this new event
rops Initial Impact Spawn. Set t h e Shape
operator's Shape t o Sphere w i t h a Size o f 7. Add a
Spawn test and label it Bubble Generator. Add
er Spawn test and label it Ripple Generator.
- Information: We are using numerous Shape operators,
even though they are not being rendered, to drive a
Blobmesh object that we will introduce later on, as the
r
,-,
. --
. .' ,-. .
- - - ---
-"-..-..
. -
.-.
.- -. .- :.am: ., . mesh thls object generates takes ~ t sslze from the source
RAIN 157

I
geometry (in this case the Shape operators). As the initial impact of the raindrop creates a number of
I elements, we have to use particle spawning to generate individual particles (the unchanged Spawn
I
tests) and multiple particles to be sent to additional events in which their properties will be changed.

Add another Spawn test t o the event and label i t


5 Secondary Generator. Set the number o f Offspring
to 20 with 50 Variation, Speed Inheritance t o 75 w i t h
20 Variation and a 45 degree Divergence. Add a Send
Out test t o the event. Wire the output of the Collision
test of the Raindrops Falling event t o the input of this
event.

Information: This is an important step as it drives the


majority of the effect we are after. The initial raindrop
particle spawns the secondary particles when colliding with
the deflector (water surface). This particular spawning
creates the splash that occurs as the water is displaced.

, PARTTHREE: W e can n o w create a n event t o control t h e ripple's properties a n d animate


the scale o f t h e ripple based o n t h e particle's d u r a t i o n i n t h e event.

Drag out a Render operator t o the canvas t o


."--------
6
C1. Zii7 rnnL..

create a new event and label the event Raindrops


Initial Ripple. Add a Shape Facing operator t o this
event. Set its World Space Size t o 100. Add a Material
Dynamic and a Speed operator, and set the Speed
to 0. Add a Delete operator, enable By Particle Age
and set the Life Span setting t o 100 w i t h 0 Variation.
i - -!-
Information: Thls event will create the lnltlal large a-
T
r-..
.. .
- < --F--~=-=-
. - - -. - - -1: $1
prominent rlpple that occurs when the ralndrop f~rsthlts
in , ---
a _
--- .- -- ,- -.'
, ... .;,. ;
- -.* - - - --rn
, , .'"
the surface, so a Render operator 1s Introduced so th~s I ----
.w- r - r *

event is seen by the renderer. The particle type has been


changed to planar geometry that will lie on top of the deflector and have a ring texture assigned to
it, which is handled by the Material Dynamic (as the material is changing based on particle age)
operator. The Delete operator simply tells the system the age of the particle, so any maps or
animation used can be controlled correctly.
158 WATER

Wire this event t o the Ripple Generator test. Add a


7 Scale operator above the Delete operator. Set the
Type t o Relative First and the X, Y and Z scale t o 50.
~
I
Set the Scale Variation t o 10 and Sync By t o Event 1
Duration. Turn on Auto Key and go t o frame 100 (you I
may wish t o turn off the Birth operator first t o speed
up Viewport interaction). Set the X, Y and Z Scale
Factor t o 550. Turn off Auto Key. Go back t o frame 0.
Right-click the new X, Y and Z scale keyframes at
.,...,, .. frame 0 and amend the output curves so there is a
linear attack.

Information: As the Scale Sync By was set to Event Duration, each particle passed to the event is
I
scaled with the scale animation offset so the particle begins to scale when it joins the event, before
1
it is deleted. The change of the keyframes is so the scale has a more abrupt scale transformation
instead of ramping up the intensity. The event must be wired before the keyframes can be amended
I
as they won't be part of the system otherwise, so they won't be able to be selected.

PART FOUR: W i t h t h e initial ripple designed, w e w i l l n o w set u p properties f o r t h e


expelled particles a n d have t h e m interact w i t h t h e surface t o generate more ripples.

Copy the Gravity Force operator in the first event


and Paste Instanced it onto the canvas t o create a
event. Label the event Raindrops Initial Impact
--
Properties. Add a Scale operator and set the X, Y and
- Z Scale Factor t o 75 with 50 Variation. Copy the
n test in the first event and Paste Instanced it
is event. Wire this event t o the output of the
ary Generator Spawn test.
-
---- Information: As the deflector ~nour scene has very l~ttle
.-- --
. . . . . . . , -.. .--:-
. - --*--..,
- -- -- -
, ?
.m r-- r-
--. . bounce, the particles h ~the
t surface and are brought rlght
back down to collide with the deflector again, therefore
creating another ripple, hence the need for another collision test.
RAIN 159

Drag o u t a Speed operator t o t h e Particle View


1 9 canvas and label t h e resulting event Raindrops
lnitial lmpact Rebounce. Set t h e Speed's Variation t o
I
100 and check o n Reverse direction. Paste lnstanced a
copy o f t h e Gravity Force operator and t h e Collision
I
test t o this event. Wire t h e input o f this event t o t h e
I Send Out o f t h e Raindrops Initial Impact Spawn event.
I
I
Information: As none of the previous Spawn tests delete
1 the parent particle, this particle is passed though the
1 previous event and out via the Send Out test, where it is
given a new speed, therefore creating the motion for the
I
rebounding water droplet.

----------'"-----

Paste lnstanced t h e Gravity Force operator t o


-
tr 'or*

10
z.
'=3=-!
-
r----I r - O T

t h e canvas t o create a n e w event and label t h e -..


resulting event Raindrops Secondary Impact. A d d a -. * ,
Spawn test, label it Tertiary lmpact Generator and set --.---
r-
* --
the Offspring t o 2 w i t h a speed Variation o f 25 and - - --
-, -"-
- -. -7

Divergence o f 45. A d d a Scale operator and set t h e X, --


- ---- -
:-+-.-: - - - - I -
Y and Z Scale Factor and Scale Variation t o 50. Paste
-- -+..- ..,
Instanced t h e Ripple Generator spawn test f r o m t h e -----
---
..---- -- -
"-
--
Raindrops lnitial lmpact Spawn event i n t o this event. 1

Paste (not instanced) a copy o f t h e Collision test i n t o


-
;. - -,TT.' --
--
-"-.--.-- :."+
- - *.
.-" . -. v -.,* m . - . . I
.. ._-.-
-._. <
e.-m
.<

-1 i

this event and change t h e Test True If Particle t o


Collided Multiple Times and set t h e #Times t o 4. Wire t h e Raindrops lnitial lmpact
Properties and Raindrops lnitial lmpact Rebounce events t o this event.

Information: Another big step. The gravity has been used again so it affects this event and brings
any particles passed to it back down towards the deflector. The first Spawn test creates another
couple of particles when the secondary particles hit the deflector, and the Scale operator reduces
them and its parent particle in size. The copied Spawn test passes its single spawned particle to the
next event (in the next step). The Collision does the same after four bounces, by which time the
particle will more than likely be at rest.
160 WATER

* II Copy and Instance Paste the Raindrops Initial


r,
...: z.=-
C-..- ...
... -
-
.
.-.mT
:_---
.- . . .. .
Ripple event, label the new event Raindrops
Secondary Ripple and wire it t o the Collision and
, -. .. ..
%:.'-:

... ~~w..>
second Spawn tests i n the Raindrops Secondary
..--,
.
.-.- . Impact event. In this new event, make the Material
..
-.
. --- Dynamic
r..-.
and Delete operators unique. Set the
-. .- ~

. . -. , Delete's Life Span t o 50. Drag out a new Scale


-A

. -...- .-
---- -. .. .. operator, overwriting the existing one. Set the Type t o
" '

- . ..-. Relative First, the X, Y and Z Scale Factor t o 20, Scale


n.p--r .- --.-..:----.
.-
--..-.
..F , ~ -
1 . . -
.
?;. -. -.?: ._;.-.....
....,
_ . .
~--

,
. . . 1
.
.:.
,,:,
-- ...
Variation t o 10 for all axes and Sync By t o Event
Duration. Enable Auto Key, g o t o frame 50 and set the
Scale factor t o 220 for all axes. Turn o f f Auto Key and go back t o frame 0. Change the
attack o f the output of the scale keyframes, as before.

Information: As we are creating additional ripples, we can utilize the existing ripple event we set
up previously, and simply change a few settings to make the ripples less intense, such as the use of a
new material, a smaller size and a shorter lifespan. At this point you may wish, if you haven't
already, to set all Display operators to show particle geometry.

PART FIVE: W i t h all ripples n o w generated, w e can go back a n d a d d t h e b u b b l e


w h i c h occurs w h e n t h e initial r a i n d r o p hits t h e waters surface with a lot of force.

--------------..
. - ..
I**.%:

1.2 ,.
SF-?, r n n . t . . ~ = ~ .

., -. --
.r-----z...

-
52%"
a.

..-.- .
.-
, , , ~ w ~ - 7 u

..-
~- -
. 12 Copy and Paste Instanced the Render operator
from the Raindrops Initial Ripple event t o the
.* .-,..-
. .- .
.-
-.. .
.-. .- .- , canvas t o create a new event, labeling the event
:;=;
tr?
Kt.. ..~ ' --
-
----
Raindrops Bubble and wiring i t t o the Bubble Generator
i&-,-,
,*-,-. -
..
t-:-.-:
..--.
.,:* . .--.-.. 1! . -- Spawn test. In the Top Viewport, create a Sphere with a
i~>$:-!
. .
- L -
6 - : . - . $:.: ..
~
&
-
.---
-- Radius of 13 and 16 Segments. Add a Shape Instance
operator t o the event and pick the Sphere as the
Particle Geometry Object. In this operator, set the scale
#

Variation t o 50. Add Material Static, Speed and Delete


3f-Z; 4 ..
--......- operators. In the Speed operator, set the Speed t o 0. In
i.
1. . .
.
~
-.. ...,
-
,
-c
the Delete operator, amend the By Particle Age Life
Span t o 20. Hide the Sphere primitive.

Information: The final step in our particle creation. As we do not want the particle to move, any
speed that was inherited or previously set has been stopped by using the Speed operator set to 0. A
Shape lnstance operator was used, instead of a normal shape operator, because the Shape
operator's Sphere shape does not have enough faces and will appear faceted when rendered. The
Delete operator has been set to a low number so the bubble particle 'pops' shortly after being born.
.sdew$!qUey$sdew leJnpa30Jd JapUaJ
01 ~ 3 6 ~ Say'
0 1 $ $! Se $ua!peJ6le!peJ Jyl 40 UO!SJaA paJapUJJ
e ~ I ! Mpa3elda~seM $nq 'dew d w e ~ Iua!pe.q le!peJ e 6u1sn
paIeaJ3 Alleu!6!~0sew dew a l d d ! ~a y l :uo!peru.iojul

'$UaAa a l d d ! ~le!$!ul S ~ O J P ayx


U ! ~U!~J O $ ~ J ~ ~ O
~ ! w e u A ale!Ja$eyy ay$ u! $ols ayz o j le!Jalew s!y$
6eJp pue Ma!/\ ap!$Jed dn u a d o .dew a l d d ! ~dew$!a
a y j laqel pue dew 6d~aldd!lla3~no~lu!e~-p111a3e~

s1
ay$ u! p e o i .$ols d e n a q i 01dew d e w y 8
e ppe pue yseyy a 6 v a l d d ! ~ay$ o$ d n y3eq 03

ssal aJo4aJayl pue 'lua~edsue~laJow pue aJow sawolaq


= + + --. " .a
- .. 4 3
pue sayslulwlp Allenpe~6uayl y 3 1 y'anbedo
~ Alln)
I
~sowleSI 11' u ~ o qSI ap~yeday$ se uoos se 'a~n$xa$ ~ayloue I
40 6ulysew ayl (o~luo301 dew a6y aplyed e asn JM 'awl1
~ ~ U P Mam sv : U O ! ~ ~ W J O ~ U I
JaAo $no ape4 04 a l d d ~ayl

z
'OE o$ ~ 0 1 0430 uo!$!sod ay$JaS y e l q o$ E ~ 0 1 0 3 I

PUP OOL'OOL'OOL a 3 u o z ~ ~ 0 1 0'SZZ'SZZ'SZZ


3
o$ 1 ~0103$as .Japed aldd!-j le!$!ul $! laqel pue dew
a3u
I
-- ..
I"
a 6 v a p v e d e ppe 'xols yseyy s,yseyy s!yl ul 'yseyy a6y
/ I

T
r : aldd!.j le!$!ul I! laqel pue leyaxew a l d d ! ~le!$!ul
m
La*-,
"-
- 1

-. - -". ,
I. . .
, a y $ j o 101s Alpedo a y u!
~ dew yseyy e p p v

.JapuaJ ay$u! $nospuels !I os le!Ja$ewaldd!~pa$eu!wnll!-4las


Ala$aldwo~ e paau aM '~ole~aua6 aldd!~ay$ 6u!lea~3'luaurow
s!y$$e 'ale JM s~ ,aueld puno~6y3eqay$ol~olo3 y3elq p~los
e u6!sse JM 'alq!s!~
aq 01 Joual4ap ay$punoJe JO Aq passed
aney ley$sap!ued Aue lueM IOU op am sv :uo!peunojul iI
'001 01uo!leu!wnlll-4las a y l $as pue a$!yM
01~ 0 1 0 3asng!a s$! las ' a l d d ! ~le!$!ul le!Ja$ew mau e
laqei .aua3s ay$ u! a ~ ! $ ! w ! ~aueld
d ay$ 01le!Ja$ew s!y$
u6!ssv 'y3ela ox ~ 0 1 0asng!a
3 s$! $as pue pun0~6y3eg
aueld le!Jalew e laqei .~o$!p3leyajeyy
a y l dn uado pue Ma!/\ a p v e d az!w!u!yy

I
'aueld p u n o ~ 6 y ~ e aqy l o l ~ o l o 3p!los e $as 0%osle pue 'saldd!~ay$ aAyp l l ! ~
y l ! y sle!Jaleur
~ a y l a l e a n ue3 am 'alalduro3 MOU wayhs a p u e d a y l y $ ! :xis ~ luwd
162 WATER

Copy the Initial Ripple material t o a new slot and


16 rename it Secondary Ripple. Rename the Ripple
Age Mask in this material copy t o Secondary Ripple Age
Mask and rename the Initial Ripple Fader Particle Age
map t o Secondary Ripple Fader. Set this Particle Age
map's Color 1 t o RGB 92,92,92 and Color 2 t o RGB
50,50,50. Navigate t o the top of the material and drag
this material t o the slot in the Material Dynamic
operator in the Raindrops Secondary Ripple event.
r .
I
........
- ~ ~ -~-
.
-~
--...-.."--... . ..-- .-..--
-- I.,
--
[,.'..-'---2G
. . ..
---z.
. 1
-
1
, * .+
Information: As the secondary ripples are identical to
-i

the initial ripple, we can use a slightly amended copy of the


original material. However, because the ripples will not be as intense, the opacity of the generated
material will not be as opaque, and the1.efore not as intense when rendered off.

PART SEVEN: With the ripples set up, we just need t o temporarily disable some of
our particle elements so they are not accidentally rendered off with our ripple
animated map.

___-
P.7. .-I~OP+C.I-P. Minimize the Material Editor and re-open
---
.Is-=- Particle View (if it is not already open). Click on
*_.-
-
ezr.
---
-

- ht bulb icon in the title bar of the Raindrops

*--
.. ---- Bubble event t o turn i t off so that it is not rendered at

- &z-.L-.,

--
--
--.-
-.
.. -.
- - I_.-
this point. Open the Render panel by pressing F10 and
set the Width and Height Output Size t o 500 x 500 or
any other equal dimensions, depending on the speed
of your machine.

r
r
L . . -_ .-.--
,.A* --- ----
: . ,.I.=:
. . ;s.+vF.-"
.-. -.--
.----T- -
.- .... -, _
Information: We do not want the Ramdrops bubble to
--.--a.
.- .
be rendered off In the rlpple sequence we are develop~ng,
so we have to turn it off. The other events are not
renderable (no Render operators exist in either the individual or previous events) so therefore will not
be visible to the renderer
RAIN 163

In the Top Viewport, right-click the 'Top' text in


18 the corner o f the Viewport and select Show
Safe Frame. By panning and zooming in this Viewport,
align the PlaneIDeflector boundary so it f i t s the
outside of the safe frame exactly. Right-click the Play
Animation button and set the Animation Length t o
200. Specify a sequence name t o output to, save the
scene, and render o u t the animation.

Information: We will need to re-map the resultinq


I sequence back onto our Plane map so we can use it as a L . -- -.---- - i". -: - :-=:.*
----. "
:
bump and/or displacement map, it needs to be sized up
and aligned exactly so ~tcan be simply overlaid later on Using the safe frames helps us line up the
extremities of the plane to the canvas This animation will take a while to render due to the amount
of opacities being calculated when we get further Into the animation, so I would suggest that thls IS
run overnight.

PART EIGHT: With the animation now rendered out, we can load it back into a new
version of our scene and use it as a bump or displacement map.

Label a new material Bubble, set the Diffuse


---------------
---- .-.-
19 color t o black, the Specular Level t o 110 and
t---

ex?.
-
-
Glossiness t o 55. In the Opacity slot, add a Falloff map
and set the Falloff Type t o Fresnel. Open Particle View,
-.-
.----
-b -
-- -- .
. $
p-- . - J T - -
, ,..
. .- .- s . ,
-.
*-.- -
-
~
L I
turn the Raindrops Bubble event back o n and drag
23 a -:. I
this material t o the slot in the Material Static operator ---- .-.,-
in this event. Turn o f f the Raindrops Initial Ripple and
Raindrops Secondary Ripple events. .-- - ."
.
-
I-

.-
--
- - ----
" -.
... I
Information: As we are now going to render off the
splashes and have already rendered out the ripples, we no
;, = . . ..e.T.- . _ --.
----.
a .
e-.
---.
. . I .
r- r -
r -
--..-
- - n
x
? >

longer need the ripple particles to be seen by the renderer


However, we do now need the renderer to see the bubble particle so this is re-enabled
164 WATER

.--------------
P- .&-?..~r,rj----
rn?+o,F7r, Copy the Bubble material and rename the copy
Water. Remove the Falloff map from the
i
Opacity slot. Set the Specular Level t o 250 and
. a . .. Glossiness t o 90. In the Bump slot, add a Mix map and
' "-
--
, ,>,
= a
.

m:
-- --;--
- I set the Mix Amount t o 25. Load in the sequence we
-
-- -.-- i have rendered out (or load in the ripple-bump.avi
~,--.
- - provided) into Color slot 1 and set the Blur offset t o
. . . 0.002. Add a Smoke map t o the Color 2 slot. Set the

---
iLL__7

Source t o Explicit Map Channel, set the W Angle


; - . . - - . .- . - .- . . . . . ., ,, setting t o 90 t o get it facing the right way, Size t o 0.2.
-- ---- -... .- 7 m,

Iterations t o 5 and Exponent t o 0.5. Set Color 2 t o


White. Go t o frame 200, enable Auto Key and set the Phase t o 5. Turn off Auto Key. At the
top of the material tree, set the Bump t o 100. Add a Falloff map t o the Reflection slot, set it
t o Fresnel and amend the Mix Curve t o that illustrated. Add a Raytrace Map t o the Side slot.
Assign this material t o the Plane primitive in the scene. Right-click the Phase keyframe at
frame 0 and set the Out curve t o a linear attack. Click on the arrow next t o this curve t o pass
the curve information t o the In curve of the next keyframe (at frame 200).

Information: The Bump map's Blur offset is increased to slightly blur the map to remove any
jagged edges that may occur at render time from using a Bitmap map. The Falloff map partially
masks out the Raytrace map so that the reflection is more prominent on the perpendicular. We have
also created a slight moving water effect, so that it appears as if the environment is a little
unpleasant. The keyframe's curve was amended so that the Phase value does not gradually increase
and then gradually slow down.

PART NINE: TOfinish off the scene, we will add a skydome to be reflected in the
water, and also set up the water splash object.

Label a new material Sky and set its Self


21 Illumination t o 100. Add a Bitmap map t o the
Diffuse slot and load in the skyjpg map which can be
found in Skies folder in 3ds max's own Maps folder.
Set the Output Amount t o 0.75 and RGB Level t o 0.5.
Create a Geosphere in the Top Viewport with a Radius
of 4000 and Hemisphere enabled. Label i t Sky. Assign
the Sky material t o i t and add a Normal and a U W
Map modifier. In the Left Viewport, move i t down
slightly so its base is below the Plane and scale i t
down vertically t o flatten i t out somewhat.
RAIN 165

Information: We need an object or map so that the water can display a reflection, which is what
this skydome is for. The intensity of its bitmap has been reduced to make the sky appear duller and
more overcast. The sphere was moved down slightly so, again, the base of its hemisphere was not
fighting the plane as to which polygons were going to be on top.

22 Right-click t h e Sky object, select Properties and


turn off Cast and Receive Shadows. Create a
Direct Light and position it as illustrated. Turn on
Overshoot and set the Falloff/Field so that it
encompasses the Plane, as shown. Set the Shadow Map
Bias t o 0.01.

Information: The light's FalloffIField needs to be increased


as shadows are only cast within this field. The Bias has been
reduced so that the shadows are neatly tucked underneath
the objects that cast them and are not detached.
- - . -. - -. - .- - .
. +

Create a Blobmesh Compound Object in the


23 Top Viewport, set the Render and Viewport
Evaluation Coarseness t o 3 and 4 respectively. Copy
the Water material, label it Water Splashes. Expand
the Extended Parameters rollout and set the Index of
Refraction t o 1.333. Remove the Bump map, assign a
Raytrace map t o the Refraction slot and assign it t o
the Blobmesh object. Add the Raindrops particle
system t o the Blob Objects list and turn o f f All Particle
Flow Events. Add the Raindrops Initial lmpact iUi
.;.
C
.. - .-". - ,--, ,-_.. ..
-...--- 6 .
-
8-
_*..-+..
-. . _ "
-.I

Properties, Raindrops Initial lmpact Rebounce and


Raindrops Secondary lmpact events t o the Particle Flow Events list in the Blobmesh object.
Render off the scene in the Perspective Viewport.

Information: The final (rather large) step. As we only need certain events in the particle system to
be seen by the Blobmesh object, we can specify which ones we require. Your render may come out
slightly grainy where the ripples occur. To rectify this, try either increasing the Blur in the Bump map
slightly, produce a larger animated map, or use Supersampling (which can increase render times,
although the results are worth it). The result is a convincing ripple animation, but looks slightly out
of place due to the stillness of the initial water surface. In the next section we discuss how this can
be improved and made to look like the wind is affecting the surface before the rains come.
166 WATER

Taking it further
I f you dare, try increasing the water surface's area and the amount o f initial raindrops- to get a li~ll-on
rainstorm, try using a few thousand raindrops over the 200 frame period, but don't plan on doing
anything with your computer for quite a while because this is going to take an absolute age to render.
due to the amount o f opacities having to be calculated (the actual particle system generation doesn't
take much time at all) to generate the animated map.
The end result generates a very effectiverainstorm effect.Also, try increasing the wind for the
original rain particles to make the scene more turbulent, and also add surface waves caused by this
wind to the water body's surface to suggest that the fast winds are disturbing it. You may also want to
add the initial raindrops which are not currently renderable: simply re-order the particle system a lit-
tle and ensure that the initial rain events are not made visible to the Blobmesh objects, else the result
may get a little wayward.
In the 74-min-tak~~nJtrthe~rr1n.rscene included on the DVD, I've added additional moving water
to the surface, using a technique similar to the moving water method used earlier on in the book. I've
also used slight object motion blur to give the impression that the particles arc moving with some
velocity.
Finally, I've used the ripple sequence we have developed as Material Displacement, which does
crank up the render times, but the result is worth it as it actually deforms and refines the mesh, and
doesn't just produce a shading eCfect to simulate displacement, which is what Rump mapping does.
One thing is missing (on purpose by the way - got to get you to do something!) from the water
displacement - the initial dip inwards as the raindrop hits the surface.Try creating another animated
map to handle this displacement and to gradually fade out the displacement after the raindrop hits the
surface,so the water dips down, then up and gradually levels out. on top o f which the ripple we have
already created is applied. IJsing a copy o f the existing scene should be enough. just amend the mate-
rials assigned to the ripple generators to create this additional animated map.
Even though the ejected particles produce a nice effect,they are not totally realistic. Therefore
I would suggest that you re-work the ejection system to emit particles from a ring-shaped emitter
which pops up as soon as the raindrop particle hits the water surface. To do this, use an instance of a
ring primitive which appears for a single frame, and get this to emit the ejected particles. In order to do
this, you will have to use a Mesher Compound Object to get the ejected particles to be emitted li-omthe
mesh o f the instanced geometry. It will require you to relocate all the ejected particles to a new system.
as the original system will stop as soon as the ring is generated. but this should not pose much of a
problem. Therefore the result would work like this: rain particles fall and hit the surface, creating a 1
frame instance o f a ring (else the additional system would constantly emit particles from the ring).
This ring is converted to geometry using a Mesher and a new system emits particles from the ring to
generate the ejected water droplets.
.$3edw! uo dn 6 u q e a ~ qauolsltey leuo!se330 a y l y l ! ~
'a3epns a y l y l ! uo!peJalu!
~ leuo!l!ppe ue aiea~3osle l l ! a~M 'auo$sl!ey ayl4o alpp!u ay$ u! Aluo
'sauJ!$Jo /(l!Jojeu ayl. l e 's! 13a4.4~1 Apnop s!ql asne3aq a3jjns IOU II!Mle!Jaieu 3!seq e 0s 'pa#a a31
Apn013 e al.eaJ3 01 le!Jaleu $ y 6 ! a~y l ale~aua601 aney 01 6u!o6 osle ale a M .uo!peJalu! s!ql aleall
o i uo!ualap uo!s!llo3 sasn ley1 walsAs a p y e d e a$e~aua6o$ aAey 01 6 ~ 1 0aJe 6 ann aAojaJaq1
,a3epns e uo Jayloue syy auo$sl!ey auo uayM Jaylo y3ea 6u!3elds!p pue sal6ue aA!paljaJ
$e I! j j o 6u!3unoq - a3epns a y l ~ J ! MpeJa$u! o$ I(3uapual e ahey Aaql ' p e d u ! u o yselds lsn! 1,uop
sauolsl!ey 'IleJu!eJ ay!lun iuo!peJa$u! a x p n s JO pun016 e aneq am J! IeyM lna I!' aAeq aM aiayl
pue 'PU!M pue Ayne~640 i!q e ppe 'walshs ap!ued 3!seq e s! paau ann Ile :p~e/vuopyi~e~ls bald
s! Ilej le!l!u! a y l 6 ~ ! l e a ~.sauols(!ey
3 40 Ilej 3!is!leaJ e a$elnw!s 01 6u!o6 aJe aM (e!Jolnl s!yl ul
168 WATER

Analysis of effect
(a) Open up the Water11S_HailstoneslRejerence/Movieslhail0l~
J&ng.rnpeg included on the DVD. From this clip we immediately
notice that the hailstones do not fall in a linear fashion, even
though you would assume them to be heavier and denser than
their raindrop counterparts, As we can see from the clip, there
are occasional hailstones (sometimes groups) that fall from the
sky at a different angles to the others because they are affected
by gusts of wtna and other atmospheric effects. Granted, some
have ricocheted off nearby plants (those which come in at an
almost horizontal angle can be ignored from this instance), but
the majority are affected by the weather. (b) Upon hitting the
existing surface water or melting b ground, the hailstones do one or two things - they either
ice creates a dampening effect for bounce, or depending on their size, mass or density, break
the bouncing hailstones uplchip off smaller pieces of ice. No matter which of these
events happen, they all interact with the surrounding area; this
can be seen in clip hd02-bouncing.mpeg and more so in
hail03-bouncing.mpeg which is shot at a closer proximity. In
these clips we can see the single bounce (caused by the existing
dampening effect)which can be quite vigorous, with the rested
hailstones behg displaced when falling hailstones hits them.
(c)The hailstone itself is quite similar to an impure ice cube due
to the collation of the nitrogen and oxygen gases in the water
(pure or distilled water does not create this effect). To illustrate
this, take an ice cube out of the freezer and, after a quick rinse
&
clear around peroend~c in warm water to remove any surface frosting,you will be able
to see a clouded effect in the center of the cube, yet it will be
clear around the edges. (d) The same effect applies to the hall-
stone which is illustrated in the hail03.ipg image on the DVD.
Creating the melting procedure is beyond the scope of this tuto-
rial (see the Taking it further section at the end of this tutorial
for a way to create this effect), but suffice to say, depending on
the temperature of the surface on which the hailstones come to
rest, they will melt and collate as illustrated in the clips.
cloudy centre
To simulate the falling of the hailstones, we just need a rela-
\ tively basic particle system which is not too dissimilar from the
previous rain tutorial's initial particle event. As with any par-
ticle work now, we are going to use Particle Flow to create tbe
falling hailstones; we need them to react and travel across the
surface slightly which, in this example, will be a basic plane (try
adding extra objects for the hail to react to after you've finished
the tutorial) as it will keep calculation times down. The reason
we need calculation times to be low is because we are going to
HAILSTONES 169

nccd to calculate particle-particle collision detection (of sorts). To do this, we are going to use Particle
Flow's Keep Apart operator with no [alloff, so the particles do not avoid one another but simply bounce
off each other thanks to a high :~ccelerationlimit. We will also use Particle Flow to choose which par-
ticles chip off part of the ice on impact - a small percentage will suffice as not every hailstone breaks
when it hits a surface. These broken particles will bc spawned and passed to an additional event where
their properties. such as size and shape, will be amended slightly. The material assigned righl across
the board will be generated using a Raylrace material, as this material type allows us to generate
internal fogging efrects which we can use to simulate the internal clouding caused by gas bubbles in
the ice.

Walkthrough
PART ONE: First we will create the initial scene and set up the Space Warps and basic
Particle System that will affect the hailstones, making them fall in an irregular fashion.

Enable Grid Snap and create a Plane primitive with


1 a Length and Width of 3000 in the Top Viewport
and label it Ground. Set the Length and Width Segs t o
1. Reposition it -10 units in the Left Viewport so that
it is at co-ordinates 0,0,-10. In the Top Viewport
again, create a Deflector Space Warp and label i t
Ground Bounce. Set i t s Length and Width t o 3000 so it
covers the Ground object and position i t at
co-ordinates 0,0,0, if it is not already, so i t is hovering
slightly above the Ground. Set the Bounce t o 0.5,
Variation and Chaos t o 25 and Friction t o 10.
Information:The ground is just a simple object that we need for our hailstones to come to rest
on. This object has been dropped down a little because of the shape of the hailstone particles - the
particle's collision with the deflector will be calculated based on its center - the surrounding
geometry assigned to the particle is not considered in this instance, therefore if the deflector and
plane were positioned in exactly the same place, the resulting particles at rest on the plane would be
partially occluded (their bottom halves being below the plane).
170 WATER
i
In the Top Viewport, create a Gravity Space Warp
2 and in the Left Viewport create a Wind Space
Warp. Set its Strength t o 0.5 and Turbulence t o 8.
Create a Particle Flow particle system in the Top
Viewport with a Length and Width of 2000, set the
Viewport Quantity Multiplier t o 100 and label i t
Hailstones. Reposition i t upwards in the Left Viewport
about 2000 units and about 1150 units t o the right in
the Top Viewport.
r - ----,.- - -. - -'--"
7
Information: The Space Warps will affect our part~cles,
initially with Gravity and W~ndas they fall, causing them to
hit the Deflector (ground) at varying angles The particle system was repositioned to give the Wind
Space Warp a chance to affect the particles adequately, while it was moved horizontally so that the
'blown' part~clesdo not fall diagonally (due to the wind) and miss the deflector completely

Open Particle View by clicking on the Particle View


3 button in the particle system or by pressing 6.
Rename Event01 t o Hailstones Falling and set the
Birth operator's Emit Start t o -50, the Emit Stop t o
200 and Amount t o 2000. Remove the Shape, Speed
and Rotation operators and add Shape Instance and
Material Static operators.
Information: In this step we have simply removed
elements that we do not require, such as speed -the
,--. . .=
rQ
-.,
a
Gravity Space Warp will provide us with all the speed that
is required because the particles have the chance to gain
momentum as they fall. The Shape lnstance operator is to be used to reference geometry we will
shortly create that will function as our hailstone, while the Material Static operator will be used to
assign our hailstone material which, again, we will create later on. It should be noted that the
amount of hailstones we are going to emit is highly exaggerated; you may wish to start the birth of
the particles at an earlier frame so there are some already on the ground, and reduce the overall
amount so that the scene renders faster and does not appear so 'busy'.
HAILSTONES 171

Add a Force operator and add the Gravity Space


.- ------------- .
4 -
+U,C-;.I. <.C.*di-----?, I,-E.;.=~-"

- ,...
..
.>. I .-ST
..
Warp t o its Force Space Warps list. Add another -. .h7
.
-.
- - .--. ..- *
.- -- .
.
Force operator and add the Wind Space Warp t o its * . .,-- - .-
-- -- .
. . ...
~..
own Force Space Warps list. Add a Collision test t o the f
L...

event and add the Ground Bounce Deflector t o its


Deflectors list. In the Top Viewport, create a
Geosphere and label it HailstoneOl. Set the Radius t o !:---
. i ::--;: ?=.=: ?!
...--.;c: $+;
: :.
m
..
.

10 and the Segments t o 2. In the Shape Instance


....-
~ ~ 7. -,:

. . : .- e::
.. .. ?L
.z
.-
operator, click on the Particle Geometry Object ..
-. .~
A-
.,
-....-- -
.". - - . . . . . --.,.*
section's None button and select the Geosphere we - L ~ . ,--- '
.,...- -.--.- ..-.. *;,:- ;-,-
,7-.
. r . . ..
.-.m

have just created. Set the Scale Variation t o 20.

Information: We now have all the elements we have created for the scene present in the particle
system -the Gravity brings the particles down to earth while the Wind affects them, adding some
random motion and turbulence. When the particles collide with the deflector they will be passed
onto the next event (at the moment they just bounce), which we will set up next. To view the
particles with the new geometry, chance the Display operator's Type to Geometry.

PART T W O : With the basic system now set up, we will create an additional two
events which will control particle dynamics and choose if the hailstone breaks off
some of its ice on impact.

Drag o u t a Spawn test t o the Particle Flow canvas


5 t o create a new event. Label the event Hailstone
Collision and label the Spawn test Fragments. In this
Spawn test, set the Spawnable t o 40 and Offspring t o
i.,,z-
..6 .- - ;
,
---.-
'-
,,.
~- '' .
,: -,.,*hd-s
b
( , :
9
:,,,,;:*,
."
,.:.:,o.. :I
!T
<
' -
.-.---, . . . , . :
1
..~,%..

10 w i t h a Variation o f 100. Set the Inherited Speed t o .--


..d ._ . :
--
,
-:: 1, ! . , ., . -- +. .

10 w i t h 30 Variation and a Divergence of 60. Set the


Scale Variation t o 50. Wire the Collision test i n the
._.- j-;:
n7-~
.
other event t o the input of the Hailstone Collision 1 . I-..
o _ ~ . , -
"
event.
%

-.-..
,..-
n

..:=- . : . ~ , ~ : ~ ~
: Y

- '..- 1::
.-
u.-.
.. . ::
.I
8
. ... . ._"._ ... " ,
.. __.__..
. . .
-.~- *
Information:The Collision test checks to see if a particle . ..... ...... --
I---
. >

has collided with any of the listed deflectors, and if so it


passes the particle to the next event. The Fragments Spawn test picks 40% of the particles passed to
it and generates a number of smaller particles with a reduced speed, therefore creating the chipped
ice fragments.
172 WATER I

Add a Speed operator t o the Hailstone Collision


6 event. Set the Variation t o 100 and Direction t o
Inherit Previous. Add a Keep Apart operator t o the
event. Set the Force t o 500 and Accel Limit t o 5000.
Enable Relative t o Particle Size and set the Core t o
R- '-

.- --
2:.- ..
..--.-
I
-- 110 and Falloff t o 0. Enable Selected Events and
highlight the Hailstones Falling and Hailstone
,-...
,.-. " . . .
.
Collision events in the list by selecting one, holding
..--.
:-
-- . .. ..-
- .-. . ..
:=--;I.
- -- .,. --
.-.---
....- down CTRL and selecting the other. Copy the Force
.- ~
.
.--.-..
-.-< .

-.
...-
-
.-
:
..-
0-

. - (Gravity) and Material Static operators and t h e


Collision test from the Hailstones Falling event and
Paste Instanced them in this event.

Information: This step sets up and configures the interparticle dynamics. As we have already got a
relative particle size, we can put in a slight boundary of about 10% so that when the particles come
close they have a bit of a gap to play with and do not intersect one another. We have used a high
Force and Accel Limit so that the particles react immediately to one another, and selected the two
events so the particles in this event react to themselves and the falling hailstones only.

-----T%TcT;<,..
-2=-
--- -
-*. Copy the Force (Gravity) and Material Static
-=us=-

operators as before and Paste Instanced them onto I


--
-.--
* -,-
r- the canvas t o create a new event. Label this new
t-r - :---
-- -;--
-. -- - n t Hailstone Chips. Add a Shape operator, set the
-
-. Shape t o Sphere and Size t o 5. Add a Collision test t o
- -
-*
.i-

- 2---:2 -6-- . :-:- t h e event. In the Left Viewport, instance the existing
- Deflector and label the new one Deflector Chips.
e --
..-
Y

:--! Move it down towards the Ground plane so it is


.--
.--
-..
1

..--
iZ=iY:Li--

. --. -- tl-
about 5 units above the plane (corresponding t o the
--->
- >
.. , Sphere . .
particle shape operator's size setting) and
add this Deflector t o the new Collision Test in the
Hailstone Chips event. Finally, wire this event t o the output o f the Spawn test in t h e
Hailstone Collision event. Right-click the Hailstones event at the t o p o f t h e particle system,
select properties and enable lmage Motion Blur.
Information: As our ch~ppedparticles only need to be small, we do not need as much deta~las
the larger hallstone part~cles,therefore a standard Shape operator can be used A new Deflector IS
used so the spawned part~clesdo not appear to float above the ground (in fact they are lnteractlng
w ~ t hthe f~rstdeflector) so, because of the~rreduced size, we need a Deflector that IS pos~t~oned
lower to the ground for them to Interact with lmage Mot~onBlur has been added to the entire
system by amend~ng~tIn the root part~clesystem event
HAILSTONES 173

D r \ THREE:
~ ~ NOW w e have c o m p l e t e d t h e particle system, w e need t o create a n ice
material a n d assign it t o t h e system.

Open the Material Editor, create a new Raytrace


8 material and label i t Hailstone. Set the Diffuse
color t o black and the Transparency color t o white. Set
the lndex of Refr t o 1.309, Specular Level t o 200 and
Glossiness t o 50. Enable the Bump and set t h e amount
to 20. Add a Mask map t o t h e Bump slot and label it
Hailstone Bump Mask. Add a Falloff map in the Mask
slot, label it Bump Falloff and set the Mix Curve as
illustrated.

Information: To create an effectlve mater~alfor our


1 - - 12 ,2*,--
- [email protected] "_.
" ,--
:-*-
b.
.
.- --.--
-_
1
* ,

hallstone we can use the Raytrace materlal type, as ~thas


some speclal features that we can utlllze that cannot be found In other materials. The lndex of
Refraction setting was amended to a value whlch represents the refractwe properties of Ice The
bump, whlch will be a speckled effect, IS masked so that the Interlor of the Ice can be seen more
clearly In the center of the hallstone The curve IS amended to adjust the way the bump strength
behaves around the center and edges

In the Hailstone Bump Mask Map slot, add a


9 Speckle map and label it Hailstone Bump and set
the Size t o 10. Back a t the t o p o f the material, expand
the Extended Parameters rollout and enable the
Advanced Transparency Color and Fog options. Set
both End settings t o 10 and add a Fresnel Falloff map
labeled Internal Fogging in the Fog's slot. Set the
Front swatch's color t o RGB 215,222,226 and the Side
color t o RGB 96,110,119. Enable Override Material
IOR, enter a value of 2 and amend the Mix Curve as
illustrated.

Information:The fogging is what we are using to generate the internal cloudiness of the ice, with
the End settings limiting the intensity of the fog around the perimeter of the particle. The Falloff
map 1s used to tint the material to the color of the environment, which we will set up later on. The
IOR override 1s purely to get the Fresnel effect to falloff the way we want it to.
I
174 WATER

I
---- -&yT- -*war-"
A t the t o p of the material, ensure that the

E: ---= r -
10 Reflect feature in the Raytrace Basic
Parameters rollout has a color swatch next t o i t (click I
* -----
. -.
_-- +L

,.A ., . --
- the tick box if it hasn't), and add a Falloff map t o its
I

I
L slot. Label this map Hailstone Reflection Falloff and
.-
9-
f- set the side slot t o RGB 100,100,100. Open Particle
z- - ----- - -
ii
.-- View and select one of the Material Static operators.
: - . --
--
--.
..--- zc-...- . .--
.-
*
--- -- Drag the material from the Material Editor t o the slot
- ..
u

.--.
"
.--
n - ..->I=

. -- ,--
-,
r.. -. -
---- I-
.t$
!
in this operator and select Instance when prompted.
l
=e-
-.
- ---A
.. --
-- .,
-.m.-
.
.? ,
I Information: We do not want the reflection to
completely cover the Ice materlal else ~tmay occlude some I
of the Internal features we have set up, plus the reflection (of most materials) 1s more prominent on
I
the perpendicular. As the Materlal Statlc operators are all instanced, updatlng one will update the I
rest of them. I

PART FOUR: With the hailstones completed, we need t o add some elements t o the
scene so their reflections have something t o reflect.

.;i 1
Diffuse slot and load in the sky.jpg map which can be

-'U
*&
- L-c.>: 3 . d

- ---- I found in the Skies folder in 3ds max's o w n Maps


- folder. Set the Output Amount t o 0.75 and RGB Level

-- ---
*--.
-
- ___ -
2.

. -
--,..<- -
t o 0.5. Create a Geosphere in the Top Viewport with a
-,. .-..-- .--- , I7.---- : Radius o f 4000 and Hemisphere enabled. Label it Sky.
--- - . --- -
...-- --- . - "
- Assign the Sky material t o it and add a Normal and a
---.- .:= 1y-z-
I - - UVW Map modifier. In the Left Viewport, move it
= +I
r -- -.---.-
. re=-:' '
down slightly so its base is below the Plane and scale
it down vertically t o flatten it o u t somewhat. Right-
click the Sky object, select Properties and turn off Cast and Receive Shadows.
Information: We need an object or map so that the hailstones can display a reflection of their
environment. The intensity of the sky's Bitmap has been reduced to make the sky appear duller and
more overcast. The Geosphere was moved down slightly so the base of its Hemisphere was not
fighting the Ground as to which polygons were going to be on top.
HAILSTONES 175

Load in the Concrete-Cement material which


-"---
-- . .- --...-----
-'.re , ..*..,,: -:.. *>--"
12
- 3.--n

can be found in the Standard 3ds max


3
* . .CI
.

-
.

.- ...
.
materials library that ships w i t h the product. Expand ---. .-.--
the Maps rollout and in the map in the Bitmap slot,
set the U and V tiling t o 3. Assign this material t o the
Ground plane in the scene.

Information: As we need something for the hallstones to


come to rest on, a concrete surface will suffice for this
example. The map tiling has been increased due to the size of
' . ,
the plane, else the map would be stretched out too much. ., ~=..-."

13 Create a Direct Light and position i t as


illustrated. Turn o n Shadows and Overshoot
and set the FalloffIField so that i t encompasses the
-1% e* -c ro@+o+- ' w - + a c r * r -

-
? r ~ r , - s n z ~ ~
#?*WT

-
-7

Plane as shown. Set the Shadow Density t o 0.5 and -


VIC

. --- .-
Shadow Map Bias t o 0.01. Add a Skylight light and set
the Sky Color swatch t o RGB 162,177,187. Right-click
-----.---.-
,

the Play Animation button and increase the Animation


Length t o 200 frames. Render off the scene.

Information:The light's FalloffIField needs to be


~ncreasedas shadows are only cast withln thls fleld The
r -
.-- --- , ... -: .. -----.
.r .",
o,
-.
Blas has been reduced so that the shadows are neatly
tucked underneath the objects that cast them and are not detached, and the denslty reduced so that
the shadows do not appear totally black The Skylight has been used to globally lllumlnate the
scene, however thls works differently to the version of the Skyllght In 3ds max 5 - ~tnow works
whether you have Llght Tracer enabled or not, the only difference being 1s that we do not need Llght
Tracer enabled for th~sllght to work If you flnd that the scene takes too long to render, reduce the
Maxlmum Depth in the Ray Depth Control sectlon of the Raytracer Settlngs panel

Taking it further
The resulting render gives a pretty realistic rendition of falling and dynan~icallyrcacting hailstones:
however, it must be said that our scene is slightly different from the reference material because we
have not concentrated on the hailstones melting after they come into contact with the ground or
other surface. If we are to truly emulate the effect as accurately as possible this must be considered,
unless it is clearly assumed that the hailstones are falling on a day when it is exceptionally cold (in
which case, an amended smoke map to simulate frost or ice patches could be assigned to the concrete
/ surface to give the impression of a frozen ground surface so the non-melting hailstones don't lclok out
of place).
!
176 WATER

To create the melting ice, try adding a Melt modifier to the source geometry and animate themelt
over time. As the original Shape Instance operator does not have Animated Shape enabled. the ani-
mation will be ignored. However, if you clone the operator. enable Animated Shape and place it in an
event that the particle passes to (after it has been checked to see that it is at rest) then the animated
r
melt will fire off from this point. You may also want to set up a Blend material for this evenl, assigned 1

to a Material Dynamic operator with the Blend transition controlled using a Particle Age map, so 11
changes from the Hailstone material to water as it melts. It sounds complex, but if the system is
thought out logically, and as with all aspects of CG built up gradually piece by piece, it is not a dificult
task.
Also, referring back to the reference material. hailstones come in a variety of shapes and are not
always perfectly spherical. Therefore, create a number of hailstone shapes using different Noise
Modifiers and link them all to the main hailstone object. You can then use the Separate Particles For:
Object and Children in the Shape Instance operator which will randomly select the parent or one of
the child hailstones as a particle's geometry. Because of this shape you will also want to add spinning.
which will stop spinning when the particle hits the ground for the second time else the hailstones mill
not look right when the animation is played back.
You may also find that. in places where the chips fall off the parent particles. a darker shadow is
cast. This is due to Shadow maps being used. If you feel you have the CPU power. try changing the
shadow type to Raytraced, and hope it doesn't take all year to render! Again, as mentioned in the first
few steps, this scene is highly exaggerating the effect due to the amount of particles, so you may wish
to reduce the amount and/or have some already situated on the ground.
Introduction
For anyone who can recall their schooldays, when you used to get snow every winter, flying down
hills at the speed of sound on a polythene bag the thickness of an atom and a lovely old sledge
your Grandpa made for you (the only Christmas it DIDN'T snow), this tutorial might bring back
some memories. Unless you live in Alaska, in which case, sorry, more snow for you to look at! The
one thing you used to look forward to as you gazed out of your window was the initial onset of
falling snow - the way it falls and reacts with the air, and the way it adheres to the cold ground,
gradually building up. In this tutorial we are going to attempt to recreate this with a gentle fall of
snow onto a cold surface, controlling the way it falls to the way it reacts with any given surface
that exists in the scene. Using a pre-rendered background (from another tutorial in this book) we
can overlay our snowflakes onto this image so it appears as if it is snowing directly onto the
surface.
178 WATER

Analysis of effect
(a) Open up the Water1l6~Snow/lakeslReference/Movieslsnowflake01.
mpeg included on the DVD.The fist thing we notice is that the snow
does not always fall in a linear fashion. Because of small, localized
gusts of wind, turbulent motion can be confined to areas no more
than a few meters wide. However, larger turbulence can affect all (or
the majority) of the faUing snow in the scene. (b) This, again, is not
totally consistent throughout the duration of the event - the
snowflake05.mpegmovie illustrates this quite clearly with the fallen
snow that has settled on a large flat surface with little friction
(a trampoline). Due to its wind resistance and size, the settled snow is
r of Chuck Wardin
caught in the wind again, and clearly illustrates the motion and size
of the gusts that are affecting the environment. This wind strength,
again, is intermittent and can suddenly die down to virtually noth-
ing. with the snow simply falling, although is still affected by a slight
breeze. This is pretty much the desired effect that we want to illus-
trate, but we need to know how the snowflakes are built up. (c)In the
snowflake02.jpg image, where the snow has just started to fall,
we can clearly make out the shape of the snowflake. However, if
we view some adjacent foliage a few minutes later (d) in the
snowflake06.jpg image, the individual shapes of the flakes have been
Image courtesy of Chuck Wardin
lost as they have all intermingled and formed one large mass. This
mass creation process is essential to get right if our scene is going to
look convincing. Depending on the friction of the surface, the snow
will adhere to it and build up no matter what the surface angle Is,
forming drifts around corners and collating on textured walls.
To simulate the falling snow, we are frst going to design and
construct the snowflake. This may sound like a bit of overkill, but to
get the shape right means this is pretty much unavoidable. Because
of this, it is really going to crank up the render times and, unless you
have got a lot of memory in your computer, might even cause prob
lems when you render the animation out (see the Taking it further
section for more information). The snowflake can be constructed
using a basic Scatter compound object which wiIl distribute
deformed cubes in and around another object to create the flullj
snowflake effect we need.
This object will then be used in a particle system to distributeit
over the scene, which, in turn, will use Wind and (slight) Gravity
Space Warps so the effect behaves as if the snow is gently falling
there i s still some wind blowing the snow around a little. The s
will come to rest on the ground, which is a pre-rendered backgroun
taken from an amended version of the Dirt tutorial further on in
book. This pre-rendered image is dropped in as a background,
ground plane which produced the original background (using
-pa$eJ$snll!se uaas aq ue3 pun0~6y3eq
a q u a ay$ aJnsua o$ JapuaJ $sal y ~ ! n be wJoyad
.aua>s a y j u! aueld punoJ3 a y j o$ j! u6!sse pue ysew
le!Ja$ew s!y$ laqel '$01~ alqel!ene J S J ! ~a y $ o $ le!Ja$ew
~ o p e y s / a $ $ e we ppe pue J O $ ! P ~ le!Ja$ew ayz d n
u a d o - a A a ay$ WOJJ a(!+a6ew! 6 d P p u n 0 ~ 6 y 3 e q - ~ o ~ ~
l a 3 ~ n o ~ / a y e l + ~ o u ~ - ga~y /j ~ u!apeol
j e ~ 'dn sdod
$ey$ MOPU!M 6ole!p al!J 6u!$lnsa~ay$ u l .dew dew$!a
e palas pue uo$$nq auoN :dew $uawuoJ!Au3
ay$ UO 4313 'MOPU!M $UaWUOJ!AU3 ay$ U l 2
.uo!ysej Jeau!l e u! 6 u ! l a ~ etsn!
~ l lou ale Aayl os way1
01 uo!low lua(nqJn1Ally61lse sppe p u ! ayl
~ a(!yM ' ~ o p a l ~ a aayl
n Aq pau!wJaiap s! y 3 ! y ~
'pun0~6
ayl 01 u ~ o sayeljmous
p ayl llnd l l ! A~~ ~ A ~ JaEy)l 'lxau u! peol l l ! aM
~ YII~M 'aleld pun0~6y3eq
ayll1401 u o ~ l e w ~ o ~
l ya6p1ayl
~ seq pue a ~ e l dl q 6 ! ~ ayl AllIexa u! palenys s! l3arqo aueld punoJ3
6utllnsa~a y l ,a6ew! 3!gels e se $no paJapua1 pue (alU!I e pa6uey3 6u!ly611pue paAowaJ S ~ S S P J ~
6uol) papuawe seM auax s ! y l 'yooq ayt u! uo ~ a y l ~ nle!Jolnl 4 via a y l w o ~aua3s
j pays!u!g ayl I
40 uo!vaA papuawe ue s! a u a le!l!u! ~ a y l :uo!aeutro#ul
. '.Irt, ,,,,
:::?:d:,z?z .. . .. .. *.,-..., . .-.
1-
. L 01a 3 u a l n q ~ npue
l ~ 0 . o$
0 y$6ua~$s
ay$ $as '/(l$y6!ls u ~ o Gu!$u!od
p s! $! 0s SaaJ6ap
02 Aq a$e$oJ y o d m a ! ~ u oay$ ~ ul
j . $ ~ o d ~y aa !l ~
ay$ u! d ~ a>eds e p~ u ! e~a$eaAD . w a l l s,~o$3a(gaaay$
se a u a x ay$ u! $3a!qo aueld punoA3 ay$ asooy3 pue
uo$$nq va!qo y3!d s,Joua(gaa pasea-va!qo ay$ uo
7313'Jopalgaan ay$ $>alas ' d ~ ae~ e~d As I ! A ~ J ~ e pue
d ~ a3eds e JopalJaan
~ e ajea~:, ' y o d ~ a d! o~1 ay$ ul
' a A a a y$ u o papnpu! al!g xeur.)lejs-ayelpous -91
l a 3 ~ n o ~ / a y e l p o u ~ - g ~ay$ 1
/ ~ ad )neu~a d o

.say e l p o u s a y l p 4 j e l l ! ley1
~ cuals/(s al>!pJed l!seq
pue s d ~ ae x ~d a~y l dn %aspue a u a x le!$!u!a y l u! peol l l ! a~M l s ~ ! jNO l a v d

'paads Jalinrls aje[nm!s 01 pasn s! Jnlq uo!lour jo Iunourl?le!luelsqns e ill leu!^ .arrr!l JapuaJ 11. ~ n x o
hem ~ e ysa8pa
l ysmq LUR dn yl?aJq01 dmnq Buo.11~i ( l a ~ ! ~ e lr?a ~sey osle 11 'sa!l~ado~d
sl! jo asneoaq
a>p?LIMOUSayl L[~~OJL~I passl?d sr?q ]q8!1 ley3 uo!ssa~dru! ar[l 01 '13ajja pa~eu!urnl[!-?[mqI? "1?a.1.'3
01Japvys IuannlsueJLayl saq[!jn put?dnlas aldur!s e s! jlasl! lu!Jaleirr ~ ~ I ? L ~ M O Uaq,l,
S ,ruaisds als!l~r?d arll
JOJ ~ o ~ n a e~sea ppasn osle s! s ! y ~'punoJR ayl sl!y J! uayM iCl[e!lmd MOLIS aq] sapnpDo [!IS I n q *JaJapuaJ
ayl 01 alq!s!A s! I! ~ e yosl pau%!ssele!Jalerrr MopeyS/ajlen e seq (luamanr?lds!p iCex leluaw put! sle!lall?ru
180 WATER I
I

Information: The background is quite suited to our scene and was refined and rendered using
Mental Ray. The Mattelshadow material was used so the plane is not 'seen' by the renderer, but will
occlude any other elements in the scene (Matte) should any objects mass beneath or behind it, and
I
will also render any shadows cast upon it (Shadow). This makes it ideal for compositing work, which I
is what we, in essence, will be doing. I

PART T W O : W i t h t h e elements i n place f o r our particle system, w e shall create the


basic particle system and assign t h e items w e have just created t o it. i

--. --
.--------------
r o o + o , - - m , +*+*.. --,. - a ~ ; - - ~ In the Top Viewport, create a Particle Flow system
with a Length of 800 and a Width of 1000 and
label i t Falling Snow. Set the Viewport Quantity
the Particle Amount Upper Limit
ement rollout t o 10000000.
le system so that i t is at co-
-..-
ordinates 300,25,300 -above the Ground Plane and

..-
. . --.., ,-..-- Information: Thls IS the b a s system
~~ whlch will generate
I -- ----. - - - .-. .- - ..
- - . - - 7 *
the Snowflakes The system has been offset because of the
strength of the Wlnd Space Warp we ~ntroducedto blow
the partlcles across the scene The Vlewport multlpller has been Increased so we can see all of the
partlcles In actlon If your machlne slows rlght down after thls, reduce the multlpller back to 50, or
even less ~fdeslred Thls wlll have no effect on rendering as ~tIS only the Vlewport settlng we are
amendlng The Partlcle llmlt has been set at ~ t smaxlmum settlng so we can Increase the amount of
partlcles rlght up ~fdeslred (pendlng memory) and not worry about the llm~tcllpp~ngthe amount of
partlcles

Select the Falling Snow particle system if it is not


already selected and click o n the Particle View
button or use the shortcut key 6. Rename the Event 01
t Snowflakes. Remove the Speed and Shape
ators and add Shape Instance, Material Static and
t w o Force operators. Add a Collision test t o the bottom
of the event. In the Birth operator, set the Emit Start to
-50, Emit Stop t o 200 and Amount t o 10000.

. --- .. ,.- .
- --. -
- "
- -. _ _
. -
-..._,
- .-- *
.-_
Information:We have removed operators from the
Snowflakes event as we do not need them ~nthls
scene - there 1s no need for an lnltlal partlcle speed as
SNOWFLAKES 181

this will be handled by the Force operators. As we are going to create a geometry-based particle
the Shape Instance operator is introduced, we need a material assigned to the particles hence the
Material Static operator, and finally we need the particles to interact with a surface which is why the
Collision test was added.

5 Space Warp t o the Force Space Warps list i n this


operator. Reduce the Influence setting by amending it
to 50 so the effect is very, very slight. Select the
second Force operator and add the Wind Space Warp
to the Force Space Warps list in this operator. Select
-
the Collision test and add the UDeflectorOl t o the
Deflectors list i n this test. In the Test True If Particle
group, change the Collides Speed t o Stop. _. .......
--.--
! .
4
. . . . . . -. --. ., .:.-- . . . . . ,.. .,.-. . 7T
...
- -. --.- --. ."
rn,
Information: We have used two separate Force ---.-- -*-.
_r
1. r-- r-, .>
. ... ,
,-

operators because we need two different influence values.


For separate Space Warp types like these, even though you can have more than one Space Warp in a
list, it can be preferable to have more than one Force operator to introduce these Space Warps into
a particle event. This is because an individual force can then be copied and instanced into another
event without having to include the other force. The Collision test's Speed was set to Stop to get
them to stop moving, however they will still be affected by the Space Warps in the current event.
Therefore ...

Select the Material Static operator i n the -- .


.---------------
-----,.
6
, :.-7 ICB+L..vw. r.ncl,. Iv.-=IL'-p
I - .OT
- ~
-1 :
Snowflakes event and Paste Instanced it onto the ..... .

canvas t o create a new event. Label this event


Snowflakes at Rest and wire this new event t o the
output o f the Collision test i n the Snowflakes event. E
::
...:.:. -
I .:
i
Information: As we have already told the particle system
to stop the particle's motion when the particle collides with .T'
the UDeflector, we do not need any additional operators in , - - *.-.
::
= .-.-..-.
the new event, just an instance of the Material Static
$~-..~
-z
rz:
,
-_..
.
. . . . . . . . -,. . . . .... . . . . . .....I m.-.
. . ~. -

operator because the material is not passed from one event .- .-. --..- . . . _ . . .__ _---; ..,. .
to the next unless they affect the entire system. Scrubbing
through the time bar will illustrate that the particles simply fall from the sky with an irregular motion
and stick to the ground once they hit it.
182 WATER 1

PART THREE: Next we need t o create the actual snowflake. This is just going t o be
simple geometry as there are going t o be a lot of them in the scene.

In the Top Viewport, create a Box primitive w i t h


7 Length Width and Height set t o 5 and label i t
Snowflake. In the Same Viewport, create a Geosphere
and label i t Snowflake Position Generator. Set the
Radius and number o f Segments t o 2. Add a Noise
modifier t o its modifier stack. Set the Scale t o 1,
enable Fractal and set the X, Y and Z Strength t o 50.

Information: Observing some of the reference images,


especially the macro shots of the snow settled on leaves,
we notice that the individual snowflake formation appears
to be comprised of numerous cubes, which is how we shall
generate our own snowflake, with the Snowflake Position Generator Geosphere as the distribution
method.

Select the Snowflake box object and create a


Scatter Compound Object. Click on the Scatter's
stribution Object and choose the Snowflake
n Generator. Set the number o f Duplicates t o
Vertex Chaos t o 2. In the Display rollout,
Hide Distribution Object. Go t o the Hierarchy
tab and select Affect Pivot Only. Click o n the Center to
.,-- - -...+
.-r- Object t o position the pivot point and turn off Affect
Pivot Only. Hide the Snowflake Position Generator.
-.
w- , ..
- - >- -
I
- -
--. -.-* . .
._.,-, Information: By default, the Scatter Compound object
automat~callyIncludes a copy of the dlstrlbut~onobject In
wlth the dlstrlbuted objects Enabllng Hlde Dlstrlbut~onObject removes thls copy as ~t1s not requlred
The p~votrequlred relocating as ~twas not In the center of the object - ~tused ~ t sorlglnal plvot polnt ,
whlch was the center of the orlg~nalbox object
SNOWFLAKES 183

Re-open Particle View and select the Shape -- a * - . ; - - - - ----


----..-------
-*-. .. --.
9
- ..
r r r , e + ~ - ~ - w ..A(.*.--.. -EM;=-

Instance operator. In the Particle Geometry Object - . . .-


. . - ...._
. , . :-.
- , # m a -. . s
2
I em-

section, click on the None button and select the " -4..
,f.. :- .. . _ I -- --

Snowflake Scatter Compound Object. Set the Scale %


-II . r
.
?- --- - * - J?
setting t o 20 w i t h 50 Variation. Hide the Snowflake ' 5._: -5 -
Scatter Compound Object as it is n o longer required.
Information: As the orrglnal part~clesource geometry IS
too blg, we can reduce ~ t sln~tlalsize by uslng the Scale
4 -

: ; F i-
* -.-- - : - x- m.- --
-

x.k
' 4 r
.- .
$ ,
4

ff.
.
x'

.-
settlng w~thlnthe Shape Instance operator, plus add some =+. .. .. . ..- - . . *
varlatlon To check to see ~fthts has worked properly,
I
.----.- --.- - - - :--:*
.---.'I- - r .

change the Dlsplay operator to show Geometry. A word of


warning though -due to the h ~ g hamount of geometry that w ~ lbe l calculated, you may want to
save your scene just In case your machine runs out of memory at th~sstage If so, vlew the partlcles
as boundlng boxes andlor reduce the number of partlcles born

PART FOUR: W i t h t h e particle system finished, w e n e e d t o create t h e correct material


to assign t o t h e particle system t o g i v e t h e s n o w its w h i t e translucent effect.

10 Open the Materials Editor and label a blank


material Snowflake. Change the Shader t o a
Translucent Shader and set the Diffuse Color t o white.
.-
*. .
:."!-:m!-.
-----_I.

.d
r-- - -
.. ---.
r . . -.

-. --
c ..-.
6,

,* .- -
S ~

..
q
i
,Z -
7-c~:,.

--
--
- 1 7u

Expand the Maps rollout, add a Falloff map t o the I


Opacity Slot and label it Snowflake Opacity Falloff. A t '! - - - - 1
_)j
- I i
the t o p o f the material, set the Bump amount t o 100, -' I

add a Speckle map t o the Bump slot and label it


Snowflake Bump. Set the Size t o 20. Back at the t o p of ,
- -
I
- 4
#.
-1;
* *. r I
. ,*.+
.
the material, add a Falloff map t o the Translucent Color ' I _

_ -. --- . .k. .:;m-:,-


*
slot and label it Shadow Illumination. Swap the colors, m7
-
-..- -
, - -
.- -
I I - 7

set the Falloff Type t o ShadowILight, Shaded color t o


RGB 188,188,190 and amend the Mix Curve t o that shown.

Information: A pretty big step, but all relatively self-explanatory. We are using a Translucency
shader so that any light that passes 'through' the snowflake will appear on the opposite side. As we
do not want the translucent color to be too uniform we have used a Falloff map to amend it slightly,
and also changed its Mix Curve to make the slightly tinted color more prominent where there are
dark areas. The opacity falloff is simply to create a softer edge to the snowflake, and the Speckle
map in the Bump slot adds some randomness and breaks up the shape of the Snowflake particle
shape somewhat.
184 WATER

.--------------
I-+
-1..
I e n ,

. -
7
FOD*03nW+ ~~fie+.t---~.
- t~Tmus~-~
-2.

-*0
---.
-
,*.Bf
11 Open u p Particle Flow if it isn't open already
and select one of the Material Static operators.
'I I:-
.r - --*.-
-2
b
. . -.--
? * - . a
. --
Drag the Snowflake material from the Material Editor
t o the empty slot in the Material Static operator and
-/ - .z ..L I select Instance when prompted.
1" .I=
-- -
!
->
'
-:.-
I--

-
--m
-. -.-. Information: As we have an lnstance of the same
. b
- -- -- .
--
,A
operator, whatever 1s performed on one operator w ~ lbe l
'JE. performed on the other We have chosen Instancing from
, . . - ..--
. .. - W. the Materlal Editor to the Matertal Static operator so, ~f
-- ---- ._.--:.--. .. ..
r
r -
I
.%.-" .r.- : . _-" - -- m - - necessary, we can tweak the materlal settings and ~twill
automattcally update In the Materlal Statlc operator, and
therefore update the partlcle system

PART FIVE: Just to add finishing touches to the scene, we will add basic lighting so
that the translucency effect works with the Snowflake material correctly.

Hide the Material Editor and Particle View. In


12 the Top Viewport, create a Skylight standard
light and set the Sky Color's swatch t o RGB
162,177,187. Still in the Top Viewport, create a Direct
Light and label it Sun. Set the Multiplier Color t o
RGB 255,243,232, increase the Falloff Field t o cover
the scene and enable Overshoot. Reposition the light
in the Top Viewport as shown and move it u p about
700 units in the Left Viewport.
-- -
. .
.--" --. .-. -.-. ,.- -- :-m-:
I
,
Information: As we do not requlre any shadows In the
scene at the present ttme, they have not been enabled.
Uslng shadows wlth the hlgh amount of geometry generated wlth the parttcle system we have
developed will consume a lot of memory, wh~chmay even make the program unstable as the
memory may run out durlng render pre-calculat~onsShould you wlsh to include shadow castlng
objects In the scene at a later date, enable shadows but ensure that the part~clesystem does not cast
them - only recelves them
SNOWFLAKES 185

Open Particle View. Right-click the root of the


13 Falling Snow particle system and select
Properties. In the resulting panel, enable Image
Motion Blur. Click OK t o exit the panel and render off
the entire animation.

Information: Adding a touch of motion blur will add a


little extra realism to the scene, especially as we will get the
occasional particle flying past the camera which, if motion
blur is not enabled, will just appear as a large snowflake
flicking on and off, which would look quite weird.

PART SIX: Should your machine run out of memory, there is a way t o help reduce the
amount of particles that 3ds max has t o calculate, and therefore reduce the polygon
count without affecting the amount of snowflakes visible in the final render.

.*-------- - .---"-
- 0

- .
14 In the Top Viewport, create a Box that
..
e m . .c-J,rCIII+L.7T- ?-I b~C,I1---,.. -I,,i-;--o
, .rp,
m- 3 .

encompasses the Ground plane and just above .+--


. -.-
.- -.- ---
the Particle Flow icon and label it Particle Killer. Add a --- -
- - -
Normal modifier t o the stack and edit its Properties so .-- C-ii

--- r
that i t is not renderable. Add a UDeflector t o the
scene and add the Particle Killer box t o it. Open
Particle View and add a Collision test beneath the
existing Collision test in the Snowflakes event. Add -- -
--- -
--7
I

the UDeflector t o its Deflectors list. Drag o u t a Delete -I-

." - -
operator t o the canvas t o create a new event and wire
this new event t o the second Collision test. Label the
- ------
, - . --:---
"-- - - :-
--*--
- I
- 3
* .
.

new event Deletion. Re-render the scene.

Information: Particles outside the camera frame are not important to the render but they are still
calculated at render time, therefore the geometry count can increase dramatically even though they
cannot be seen, which can make the program unstable. Deleting these unwanted particles is one
surefire way of reducing the geometry without having to reduce the overall amount - in fact, you
may even be able to increase the initial birth rate somewhat. Ensure that the Particle Killer box does
not accidentally delete particles that will land on the surface by doing a preview and a few test
renders first.
186 WATER

r
I

Taking it further
The resulting scene gives quite a convincing effect mainly due to the actual modeled snowflake.
However. further on into the animation we can see render times per frame increasing dramatically,
again due to the modeled snowflake. This can result in millions of polygons which, if shadows arc
enabled. can just about kill your machine, hence the lack of shadows. In this tutorial. as with the
Hailstone tutorial, this effect is highly exaggerated due to the amount of particles in the scene. Try set-
ting the Emit Start setting to a negative value. so that there are particles on the ground as soon as we I
join the scene. Additionally, to reduce the exaggerated feel to the scene. try reducing the overall ,
I
amount of particles.
If you have a machine that is slower than most and/or do not have a great deal of memory, then
instead of using modeled snow. try using facing particles. Simply replace the Shape Instance operator in
the particle system with a Shape Facing operator, get it to point at the camera, and use a pre-rendered
version of the modeled snowflake (render it off in the Front or Left Viewports) with corresponding opac- 1
ity as the material. This will generate falling 'billboard' particles which will seriously reduce render tilncs
without the loss in quality 'l'he only problem is the i~niformityof the snowllake - every one will be the
same. To get t~roundthis, try rendering off the original snowfladie from different angles so we have a I

collection of maps - say about 10 - set up several lhce mapped snowflake materials within a single
Multi/Sub-Object material, and use this in a Material Frequency operator to choose e different material
at random. I
If you have got a pretty powerful system with a fair amount of memory, try upping the particle
count to something completely ludicrous and see if you can completely cover the terrain with snow. ,I
Due to the way the particle's geometry is created, all the little snowflalics will 'merge' together and
form clumps with no visible edges so. if the particle amount is high enough, it is safe to say that an
entire blanket of snow can be created. If you are totally sadistic, or have a system which mere mortals
would only dream of, try adding snow over the result of the Grass and Dirt or Grasses tutorials. You
will have to use Mesher on the grass particle systcm(s) to get a UDeflector to use them as a Deflector,
but setting up the scene should be relatively easy. The render times on the other hand. may be a littlc
bit more challenging. Give it a go and see how you get on.
Depending on the tcn~peratureof the ground, we might also see some slight melting of the occa-
sional snowflake. To simulate this, try sending the occasional one, or percentage of the total number
of snowllalies, to an event which will handle the melting procedure after the snowllalte has come to
~
I

I
rest on the ground. A simple change in geometry or animated Melt modifier on the original source
geometry (see the Taking it further section of the Hailstone tutorial for a further explanation on this
procedure) would produce effective results. You could even get the particle geometry in the melting
event to convert to meta particles using Rlobmesh and assign a nice water material to the object.
Try adding some extra objects in the scene, such as a fallen log or a few extra rocks and see if you I

can get the snow to adhere to the surfaces of these objects. Using a clone of the existing IJDeflector, I

you can choose which object you want the particles to adhere to, and then simply add this new
UDeflector to the Collision event. Easy! The resulting collation of snow does not form snowdrifts, but
if you want to give this a go, try using a Keep Apart operator so that when the particles touch each
'
other, they do not move. Again, this may take a while to calculate but the result can be very effective.
'rhe snowflake does not ~lecessarilycome to a complete rest when hitting the surface (see the ref-
erence material (mpegs)),so try to get them to break up a little on impact; see the Hailstones tutorial I
for an example of this as you could easily amend it for this particle system.
I
/ 9 7 Lava lamp

Introduction
Believe it or not, these thir?gsare actually quite a challenge to recreate. Okay, we could animate
the motion of the fluid within the lamp manually, but where would the fun be in that? In this
tutorial we are going to design and construct a complex particle system that will drive the motion
of the liquid within the lamp, forcing it to dwell at certain areas to avoid one set of particles and
be attracted to another, depending on the positioning of the particle. We will then generate the
liquid effect using a trusty Blobmesh object to control the attraction and blending of the fluid,
before illuminating the scene and assigning relevant materials to the objects to simulate the
molten substance, clear liquid and any other elements.
188 WATER

Analysis of effect
(a) We are assuming that the lava lamp has been heated up
already, else we may be in for a bit of a wait! To produce the
right effect, a lava lamp must contain two insoluble substances
- normally p a r a n and a waterlpolyethylene mixture (hence
the slight color tint to the solution seen in the reference mater-
ial). As the paraffin and water mixture are similar in density, no
motion would occur and the paraffin would just sit at the bot-
tom. (b) Heat it up, and the density is reduced, so it therefore
/ rises. Once it gets to the top of the bottle it begins to cool and
env
travels back down before being heated up again somewhat and
merging with the rest of the compound at the bottom of the
IS move around one lamp. There are two main places in which the motion slows
another when rising down or stops - at the top or at the bottom of the lamp: at both
and falling within
the liquid locations the paraffin blob (technical term!) can merge with
other blobs. When traveling up and down the lamp the individ-
ual blobs tend to avoid and move around one another. The
material is quite basic - a simple shade with high reflectivity
(mainly on the perpendicular) with some light passing through
I to the other side (translucency), which is ako transmitted to
the surrounding environment. (c)The highlight on the bottom
I of the rising paraffin does not have a single highlight in the
middle, but a ring where the bulb, which is illuminating and

1 I
heating the paraffi, is being reflected off the shiny surface of
the interior of the stand that the lamp is sitting on. (d)The liq-
uid in which the molten substance is situated is tinted slightly,
and is colored more towards the center of the mass than on the
perpendicular. It also contains small particles which are either
debris or small molten particles of the rising and falling sub-
stance, but introducing these is beyond the initial scope of this
n~gnlightis of the reflection of the bulb tutorial (see the Taking it further section).
reflecting off of the shiny surface on the In 3ds max, the trickiest problem we have got is getting the
interior of the lamp's stand timing right for this effect, therefore we will need to split up a
particle system into several key events that a particle can be
ipended particles 'in liq~ passed to after a certain amount of t i e . Firstly, the particles need

iT:'.
to be born; this is best done in several batches before frame 0
so that there is already some motion when we join the anima-
: tion. To control the motion of the particles we can use a combi-
nation of W i d and Gravity Space Warps: Wind to get the
particles to rise and Gravity to get them to fall back down.
However, we need to get them to slow down when they get to
the top and bottom of the lamp, so we can use a couple of Drag
Space Warps to slow them down. Once they have been reduced
to a certain speed, we can let the particles dwell for a short time
LAVA LAMP 189

bcfore passing them on to the next event so they start traveling again, and so on with the entire system
looping over and over. As the particles necd to be contained within a vessel, we will use a smaller ver-
sion of the vessel to prevent any geometry passing through its sides. The particles will be blended
together using a Blobmesh object, which will enable the geometry to merge together when they come
into close contact. Finally, we will assign lighting and materials to our objects and even use a bit of G I
to illurninate the surrounding areas.

Walkthrough
PART ONE: Firstly, we will load in and set up the Space Warps which will control the
particles within our scene.

OpenuptheWater/l7_Lava_Lamp/Source/l7_/ava-
-
~ P = ~ + ~ ~ ~ T T D T Z ~ - ~ ~ ~ T ~
1 lamp-start.max o n the DVD-ROM. Right-click the
Play Animation button and set the Animation Length
...-.,-.pi
.-
-

.
. ......
..
--

-
.

t o 1000 frames. In the Top Viewport, create a


UDeflector Space Warp and set its Bounce t o 0. Click
- .-.z .
-,-,-
..
.,-+..--
- ..,-.-
-.
,

on the Space Warp's Pick Object button and select the .---
- .7-
-.
LL Deflector object i n the scene.

Information: We have extended the animation length so


we can see the action of the elements that we are going to
create for longer - as simple as that. As the animation we
... " , . . . . . . .' -- . . . . . ....
. ..,

.
. " --;.-, ;.-"--"-
,.-. , , "
. .',

are going to create is going to be automatic, we can see if


the 'action' is going to be further on past frame 100, hence extending it. The UDeflector has been
created to confine the particles within the boundaries of the lamp so no geometry peeks through
the sides. As the particle system takes collision detection from the center of the particle, we have to
reduce the size of the deflector geometry else the particle geometry will poke through the sides of
the lamp.

2 In the Top Viewport, create a Wind and a Gravity


Space Warp i n the center of the lamp at
co-ordinates 0,O.O. Still in the Top Viewport, create a
Drag Space Warp i n the center o f the lamp. In the
Front Viewport, reposition the Space Warp so that it is
positioned at the t o p o f the LL Deflector object, as
illustrated. Set the Time Off t o 1000 and turn off
Unlimited Range. Set the Linear Damping's X Axis,
Y Axis and Z Axis settings t o 50, each one's Range t o 5
and Falloff t o 200. Instance the Drag Space Warp and
position i t i n the Front Viewport at the bottom o f the
LL Deflector object as illustrated.
190 WATER

Information: The Drag Space Warps have been added to the scene to get the particles to slow down I
when traveling through 'the liquid'; to form a kind of resistance to the motion and also to suggest that
I
the particle has cooled or warmed up, so is starting to slow down. The Wind Space Warp will be used to I
send the particles up the lamp to suggest that they have changed densities, while the Gravity will be I
I
used to pull them back down again after a time. As with all aspects of the Particle Flow system, these I
Space Warps will only affect a particle when we tell them to. I

PART T W O : N e x t w e w i l l construct t h e particle system w h i c h will g e n e r a t e t h e I


I

m o t i o n o f t h e Lava Lamp's 'Blobs'. I

Create a Particle Flow system in the Top Viewport


3 and position i t at co-ordinates 0,0,0 so that i t is
towards the base of the lamp and inside the LL
Deflector. Set the Icon Type t o Circle w i t h a Diameter
o f 50. Set the Viewport Quantity Multiplier t o 100 and
label i t Blobs. Set the Viewport lntegration Step t o
Half Frame t o match the Render lntegration Step
setting.

Information: We need the particle system icon to be


I
-
."..-.- . --
-
_- _ _ , , 1
., situated with~nthe LL Deflector mesh, else the part~cleswill
be born outs~deth~sarea, and therefore w ~ lnot
l be
affected by the UDeflector The V~ewportQuant~tyMult~pl~er has been upped to 100 so we can see
all of the part~clesworking In the Viewport (as there aren't going to be many) The V~ewport
lntegrat~onStep was set so that the part~cleposltloning In the V~ewportIS what we are golng to get
when rendered As there IS only going to be a small amount of part~cles,the extra update time
caused by this change w ~ lbe
l negl~g~ble

Click on the Particle View button or press 6 t o


4 open Particle View. Turn off the Render operator
in the Blobs event. Delete the Event 01 event and
drag out a new Birth operator t o the canvas t o create
a new event. Label this event Birth01 Set Emit Start
and Emit Stop t o -256 and the Amount t o 3. Add a
Send Out test t o the event. Create three copies of the
event and wire their inputs t o the output of the Blobs
event. Set their Birth operator's Emit Start and Stop
settings t o -200, -100 and -50 accordingly.
LAVA L A M P 191

Information: Here we have set up a series of events which simply generate three particles at given
times. This is simply to offset the positioning of the particles within the lamp, so when we view the
animation from frame 0 they are already distributed within it.

,.-- - --
-- -
Drag out a Position Icon operator t o the canvas t o ----
5 create a new event and label i t Initial Parameters.
Add a Shape operator and set the Size t o 45. Add a
,. .--
*- --
-- 2 - 2 -
&$;r-
L-,
*WT

---
..-"- -
Scale operator and set the Scale Variation for all axes t o *.- - :,-- 7
1
a
.

100. Add a Collision test and add the UDeflector t o its -"
-
7 -

-
-

Illz -
Deflectors list. Add an Age test and set the Variation t o
0. Copy the entire event and Paste Instanced it. Make
5 - r
i--i=-=i- - & -
- - 'z -- - -
-'- -
, - -r----
! -
m . I- -
-
a- 8
r k
-
--
i--:
A

the Shape and Scale operators unique. Set the new


event's Shape S~zet o 20 and the new Scale operator's Y5."2 1 , a T.FF
.I. --_?I
7 1- -C-

,- .__1T'y7
----- .
Variation t o 20 for all axes. Wire this new event's input
t o the output of the Birth 04 event, and the input of
--
- - , .
-
* _,-. - *.
-.m.-
- <,

the Initial Parameters event (the original one) t o the output of all the other Birth events.

Information: Here we have set up two sets of parameters for our particles, so that the majority of the
particles are large, but the last ones that are born (at frame -50) are a lot smaller than the others. Using
instancing allows us to share settings across events that are common and is a good way to keep control of
the system, else we may have to amend settings all over the place if we need to make any slight changes.

Drag out a Keep Apart operator t o the canvas and ---- %:&-,
6
sC- e
--- -.- t c==;
label the resulting new event Rise. Rename the . - - - i
. .. .- -- P I
? -

--
I "
Keep Apart operator Repulsion. Set the Force t o 50, ? - . -
--
enable Relative t o Particle Size, set the Core t o 100,
Falloff t o 10 and enable Current Particle System in the
- -"-
Scope section. Add a Force operator, add the Wind / -.-
, ._
ZT-
i
Space Warp t o its Force Space Warps list and set the
Influence t o 200. Copy one of the Collision tests from
--L- -__..--
-._
1
one o f the Initial Parameters events and Paste . - .- =
. .- - -
.- . . - --- .-I ;I-
Q

.
-I
d -
5
A
, .
#.
.
= - --'
Instanced it into the Rise event. Add an Age test t o - - - - ---- > r
me--m-
m-- " <v
- - .I . C ,

the event, change the Particle Age menu setting t o


Event Age, set t h e Test Value t o 10 and the Variation t o 0. Wire the outputs of t h e Age
tests in both Initial Parameters events t o the input of this event.

Information: Quite a large step. Here we have set up the parameters for the particles when they rise
up the lamp. The Keep Apart operator forces them to avoid all other particles in this system so they
move around one another. The Collision test is the same as the others and is to ensure that the particles
remain inside the lamp. The Age test is set to Event Age as we simply want to release the particles from
this event when they have been in there for enough time for them to be affected by the Wind.
192 WATER

I -
-
*
7 -
Copy the Repulsion Keep Apart operator and Paste
Instanced it onto the canvas t o create a new event.
Label this new event Rise Slow Down. Add a Force
--
b -- Z- operator and add the Drag01 Space Warp t o i t s Force
"
-- - -
-
-,-
Space Warps list. Paste Instanced another copy of the
-- Collision test into this event and add a Speed test t o
.- .
- it. Enable Is Less Than Test Value, and set the Test
-.
- -, Value t o 1. Wire the input of this event t o the Age
: I : -
test of the Rise event.
:--
-
:: :
--
" u-

-
-
:- :
m-
- - .. - . -
:. -:-:-'+:
' -
Information: Here we
have passed the part~cles,once
they have reached a certaln age wlthln the last event, to
thls event, In whlch they are slowed down thanks to the Drag Space Warp. Upon reachlng a very
low or almost statlonary velocity, the part~clesw~llbe passed to the next event (they will not be
passed to the next event until they have slowed rlght down).

-.-------------
. . ..
I
r
-^ pi- -- n, lD.C-w r.*c-re

-
Select the Rise event, copy i t and Paste Instance it

+
18
l>-Qsx-*

onto the canvas t o create a new event. Rename


the new event Top Loiter. Make the Repulsion Keep
--
-- Apart operator unique, rename it Attraction and set
----- i t s Force setting t o -50. Make the Age Test Unique
d -- - " . and set i t s Test Value t o 50. Remove the Force
--
I
fz
-
----?- o p e r a t o r . Wire the input of this event t o the Speed
----
Test output of the Rise Slow Down event. Copy the
Rise event, Paste lnstanced it t o create a new event
._.--.-
.- .--. .-- , _ -- - - -
--- -- - *
m - _ .
-4. .- .-. - ,
pp - - -- ..
and label i t Fall. Remove the Force (Wind) operator,
b..
3
+

add a new Force operator and add the Gravity Space


Warp t o its Force Space Warps list and set the Influence t o 100. Wire the input of this event
t o the Age Test output of the Top Loiter event.

Information: We have changed the Keep Apart operator in the Top Loiter event to a negative
value so that the particles are attracted to one another. After catching their breath for a short while,
they are passed to the next event and, using the Gravity Space Warp set to a low influence,
gradually fall back down.
LAVA L A M P 193

ir-- .-
. ---
Copy the Rise Slow Down event and Paste
9
-3
F
C
Instanced it t o create a new event. Label i t Fall
Slow Down. Make the Force operator in the Fall Slow
Down event unique and replace the Drag01 Space
Warp in its Force Space Warps list w i t h the Drag02 .-T, p-

Space Warp. Wire the input of this event t o t h e


output o f the Fall event's Age test. Copy the Top Loiter
event and Paste Instanced it. Rename this new event
Bottom Loiter and wire its input t o the Fall Slow Down
event's Speed test output. Make the Bottom Loiter's
2- $: 1- =:
k - - :==! - * ---
' .
' :-
.-' - "
_ i z- '6 -
-- - - - .- - - . -.
Age test unique and set its Test Value t o 100. Wire the
output o f this test t o the input of the Rise event, t o create a loop.

Information: These final couple of events in the particle system simply slow the particles back
down again thanks to the other Drag Space Warp, and lets the particles sit there for quite a while
(SOthey can get 'heated' back up again), before sending them back to the Rise event so they can
begin their journey all over again. Playing through the animation you may notice that a particle or
two may leak through the LL Deflector mesh. If this is the case, try amending the particle system's
Integration Step to a lower setting. If this still does not work, try amending the Seed of one of the
Position lcon operators and check through the animation until no particles leak through (I had to
change it once to ensure none leaked).

PART THREE: With the particle system finished, we can now generate the final mesh.

In the Top Viewport, create a Blobmesh


10 Compound Object. Set the Render Evaluation
Coarseness t o 6 and the Viewport Evaluation
Coarseness t o 10. Click o n the Pick button and add t h e
Blobs particle system t o the Blob Objects list. In the
Blobmesh's properties, turn o f f Receive Shadows.

Information: A completely painless step. Okay, maybe


not painless, as we now need to go right through the 1000
frames and ensure that none of the resultinq Blobmesh
geometry is peeking through the sides of the lamp. This is
ru
=- .,.----- --.--.--
.. .-. --. . --.
,oI.
- ..
- "- ..:..-:-.--.--.
..r. 7--

-I -.-., v
*

the reason we have the reduced LL Deflector size, but this


still may not be small enough. Should you discover that at any point throughout the 1000 frames
the Blobmesh is visible through the sides of the LL Bottle object, you will either have to amend the
Position lcon operator's seed (again), reduce the size of the particles in the Shape operator, or
decease the size of the LL Deflector object. I ended up reducing the Shape operator's particle size
from 45 to 40. One good way to check for geometry passing through is to change the LL Bottle
Mesh to See Through (in its Properties), then set the Viewport to Smooth + Highlights with Edged
Faces enabled. Receive Shadows is turned off because of the material we are going to assign it
(a Translucent Shader) not liking Shadow Maps.
194 WATER

PART FOUR: With all scene elements in place, all we have to do now is t o set up the
materials and the lighting in our scene.

In the Top Viewport, create an Omni light in


11
the middle of the scene at co-ordinates 0,0,0
and in the Left Viewport move it down so that i t is
just above the Light Bulb object. Enable Shadow Maps
and set the Multiplier t o 0.3. Enable Use and Show Far
Attenuation, set the Start t o 50 and the End t o 1000.
Turn off Specular in the Advanced Effects rollout. In
the Shadow Map Params, set the Bias t o 0.001, Size to
128 and Sample Range t o 30. Instance the light in the
Top Viewport and move the copy upwards t o the top
edge of the Light Bulb object. Using the Light Bulb
object as the rotation center, create another seven copies of the light around the edge of
the Light Bulb.

Information: In the screenshot I have simply hidden the other objects to illustrate the positioning
of the lights. What we should end up with is a ring of lights around the top of the Light Bulb object,
all instanced so that they all share the same settings. They have a falloff because, if you view the
reference material, the blobs at the bottom of the lamp are illuminated more than those at the top.

Hide the LL Deflector object as i t is no longer


needed. Open the Material Editor and label a
-z- new material Blobs. Set the shader t o Translucent
and set the Diffuse Color t o RGB 0,97,157. Set
the Specular Level t o 150 and Glossiness t o 80. Set the
Translucent Clr t o RGB 0,23,38. Add a Falloff map t o
the Reflection slot and add a Raytrace map t o the
'

Falloff map's Side slot. Assign this material t o the


Blobmesh object in the scene.

Information: We are using a Translucent shader so we


can simulate the passing of l~ghtthrough the blobs
Because the surface is quite shiny it is also slightly reflective This reflection IS controlled with a Falloff
map so that it IS stronger on the perpendlcular The colors were derived by point-samplingcolors
from the source material's Images (plus a little tweaking)
LAVA LAMP 195

Label a new material Light Bulb. Turn on Self


13 lllumination and set the Diffuse color t o white.
Add a Noise map t o the Self lllumination slot and set
both color swatches t o white. Expand the Output
rollout and set the Output Amount t o 1000. Assign
this material t o the Light Bulb object in the scene.
Label a new material Lamp Casing. Set the Diffuse
color t o RGB 30,30,30, the Specular Level t o 70 and
Glossiness t o 40. Set the Reflection level t o 10, add a
Falloff map t o the Reflection slot and add a Raytrace
map t o the Falloff map's Side slot. Assign this material
t o the LL Base and LL Cap objects in the scene.

Information: Reflections of colors which have a maximum value of 255 (i.e. white) will appear dull
in masked reflections like we have in our Blobs material. If we turn up the Output amount we
greatly increase the value beyond 255 so that the white is not reduced in the reflection. We are
simply using the Noise map to generate a solid color and to utilize its output setting.

Label a new Raytrace material Liquid and .


--------
. ".. . ..--! r

14 assign i t t o the LL Bottle object in the scene.


Set the Diffuse and Transparency colors t o RGB
207,207,196 and set the Index o f Refr t o 1.33. Set the
Specular Level t o 150 and the Glossiness t o 80. Enable
Color and Fog Density and set both End and Amount
settings t o 600 and 0.5 respectfully. Set the Fog color t o
RGB 207,207,196, add a ShadowILight Falloff map
t o the Color Density map slot and set the Shaded slot
t o RGB 207,207,196. Add a Falloff map t o the Reflect --I -
.
I -
.--e.
"" .- " .-.
' '
-
'
':
map slot and set the Side color t o RGB 175,175,175.
Right-click the LL Bottle, select Properties and disable Cast Shadows. Go t o the Adv.
Lighting tab and turn o n Exclude from Adv. Lighting Calculations.

Information: This material has two main properties - that it is reflective to simulate the glass
casing of the lamp and that it also has the color and index of refraction of the liquid. This liquid is
also tinted and fogged slightly (faded off by the use of a falloff map) to simulate density. As this is a
transparent object and we are using shadow maps, we have turned off Cast Shadows or light will
not pass through the object.
196 WATER

-w..------------
I r - 1 - I n (~ ~ ~ + ~ ~ ~ P ~ c ? C ~ S ~

7
<--m:
' A
15
. ~ Label
~ I B aFnew
W - ~ material
J Wall. Set i t s Diffuse color
t o RGB 223,209,186, i t s Specular Level t o 10
. ., and Glossiness t o 20. Add a Splat map t o the Bump
..-.
--
--
"- slot. Set the Size t o 10, Iterations t o 3, Threshold t o
0.1 and set the Color 2 swatch t o white. Copy this
Splat map into the Color 1 slot. Go into this new map,
set the lterations t o 6, the Color 1 swatch t o black and
the Color 2 swatch t o RGB 50,50,50. Assign this
material t o the Walls object in the scene.
1
- -L
"= s, ..--
.-
--.-..:*:- ---+-p: _ __ -_ ..-
--:-----
- - r-n - -
-.
, Information: Here we have just set up a bas~cmater~alto
&*

slmulate a sl~ghtlytextured wall. The comblnatlon of the


two Splat maps breaks up the slngle splat map to make the
texture more Irregular

Open the Render panel and go t o the


16 Advanced Lighting tab. Enable Light Tracer and
set the Object Mult and Color Bleed t o 2. Set the
Bounces t o 1 and render off the animation.
Information: Depending on the speed of your computer,
you may want to miss out this step. Enabling bounced
lighting in Light Tracer dramatically increases render times;
from a few seconds to a few minutes per frame. If you feel
P - - . - .- --_- --,
. . -. .... -, -.., .
- - - - . --- __.
.m- r -
" "
I -_I__
" -
_-.-- that it is taking too long to render, but you still want
bounced Ilghtlng, try reduclng the RaysISample settlng
You may also want to reduce the amount of Raytrace
bounces In the Raytracer tab, as 9 1s a llttle too hlgh, even wlth the amount of Raytraced surfaces In
thls scene

I
Taking it further I

Okay, this animation does give quite a convincing motion, and the illumination and materials work very I

well, but the way the Klobmesh works is letting the side down a little. The main reason behind this is
because it is assigned to the entire particle system. If we view the reference material. the blobs only blend i
together at the bottom of the lamp and (sometimes) at the top. When traveling, they move around one
another and do not blend together like we have in our current animation. To rectify this, try using several
i
Blobmesh objects to handle the individual stages - say, one for the merging at the base, one for the travel-
l
ing upwards and so on. If you have labeled the events in the particle system correctly, you will not have
LAVA LAMP 197

any problem in assigning the right events to the right Blobmesh object. As different Lava Lamps come in
different colors, try changing the color of the blobs. You may also want to amend the entire material;
you can get a variety of different types, from the traditional translucent material through to florescent
and even ones which represent liquid metal or paint. Additionally, try changing the shape and style of
the lamp itself: try creating a traditional 1960's rocket shape or convert something more modern, such
as the 3ds max teapot, into a Lava Lamp. You may also wish to add more detail to the liquid in the lamp
by adding additional floating particles which are displaced by the rising and falling blobs. Additionally,
try adding extra material lo the liquid such as a glitter effect which you see in more modern lamps.
ayq ppe 03 spaga je~uawuo~!~ua
ajeam pue

13 paye4 'sase~$sow u! '6u!sn sauax ay3 aqeu!Lunll!


ll!~
aM 'Alleu!j -ws!leaJ eJva ppe 03 (JuenalaJ

a~aynn) u!eJJa3 Jno JaAo Alle~npa~o~d


spafqo jo
spuesnoy3 ~ a ~ pue
e ~sle!Ja$ew
s auaJag!p au!qwo:,

6u!ddew pue le!Ja$ew 40 uo!$eu!qwo3


03 sanb!uy~a$

e asn pue 'way1 ~ d l n ~pue


s uop!p OJ sa3epns

03 suo!jewiojap xaldwo~ppe l l ! ~
aM -6u!peaq
awes ay3 lapun awoD Ile Aay3 !p!oJaase ue uana

I
pue 'spuela3seM uazoy 03 u!eJJa$ snou!e$unow
W O J ~6u!6ue~spa 3 ll!M aM uo!pas S!r($U
18 Volcanic terrain

Information
In this tutorial we will create a 'generic' volcano that will be generated using a displacement
map. At first glance it would seem that this effect is quite easy to produce; however, upon close
inspection of the resource material included on the DVD-ROM, this is not the case. We will
therefore be using a combination of 3ds max and Adobe Photoshop (or equivalent package)
to generate the desired displacement map which, after construction, will be saved out and
re-imported back into 3ds max in a whole new scene, and used to raise or 'displace' certain areas
of a flat plane based on the brightness of the map. After the displacement procedure, we will
generate materials for the now volcano-shaped plane object using a combination of two different
materials. Finally, we will assign a sunset background to the scene and illuminate it accordingly,
before adding a couple of post effects to make the scene appear more dramatic, and then
composite part of the background map back over the top of the render to tuck the volcano in
behind some trees.
202 EARTH

Analysis of effect

-
aaun
1on of volcan~cmatter builds
up and i8rrns the d~stlnctlvebranches
(a) There are several different types of volcanoes, from the smaller
Cider Cone volcanoes made up of volcanic fragments, to the large
Caldera types which can have huge craters. For this tutorial, we will
concentrate on the more common Composite or Stratovolcano types,
which are constructed over a period of thousands of years from alter-
nating layers of viscous lava flows, cinders, blocks and Pyroclastic
flows. (b) Mount St. Helens, for example, is one of the most active
Stratovolcanos (and one of the youngest), so we will base our volcano
construction on this one in particular. Volcanoes are, in essence,
mountains which are formed by the accumulation of the material that
lrnaae courtesv of United States Geoloaical S u ~ e v
is ejected from within them, namely debris, lava and ash instead of the
'normal' method of uplift, crumpling, folding or erosion of terrain.
These volcanoes are most commonly a conical-shaped hill or moun-
tain which has formed around a lava vent over several thousand years.
(c) Because of this accumulation of debris and volcanic matter, dis-
tinctive 'veins' can be seen down the (sometimes) exceptionally steep
sides of the volcano, which give it its distinctive appearance. These are
formed by the debris traveling down or falling on the sides, collecting
and then hardening - one way to illustrate would be to allow a hand-
ful of sand to drop onto the ground from a short distance above.
--

Image courtesy of Unrted States Geologrcal Survey


Initially, this sand would fall away, but after the ground has been cov-
ered, a peak begins to form as more sand adheres to the sand already
~ " ~ I O U I Ju~,,"olul
,
ild1n3up the volcano
.' texturing
ly
I on the ground. Most Composite/Stratovolcanos have a crater at the
summit which contains a vent situated in the center. (d) Even though
! these volcanoes are some of the most aesthetically pleasing (becauseof
their intricate patterns and snow-capped peaks, due to the attitudes
they can reach), they are the most dangerous, thanks to their c o m p
sition (which we will deal with in a later tutorial). So if you're popping
out to your local volcano to take some reference snaps, be a little waryl
Because there is no map within 3ds max that creates the branch-
ing effect that is desired to generate the correct displacement, we will
have to use a combination of modeling and use some of the objects
made available to 3ds max 6 to create the branching effect. These can
be produced by generating a basic shape of the volcano by amendhg
and deforming a plane, extracting the Z-buffer information from it,
then mixing the resulting image with one of the new objects that has
been introduced to 3ds rnax 6, namely the Foliage. By rendering off a
large canvas in theTop Viewport of a tree with all of its leaves stripped
away, we can get the branching effect we desire. Several different ver-
sions should be rendered off and blended together to form an effective
displacement map, by taking a bit of a side-step out of 3ds rnax for
a short while, and working in Photoshop (or equivalent). By us
Image counesy of Un~reoStates Geological Survey a combination of blends and masks, we can use the pre-rend
.(6u!ddeu ZAX 13alq0 y i ! 13nls
~ aM j! uaddey IOU plnoM y 3 1 y ~wJojap
) o l dew
a y l paau aM se '6u!ddew ZAX l3alqo 40 peaisu! 'pasn uaaq sey 6u!ddew N V \ ~ .aueld a y i ~ oy~6ual
u!yi a y l u ~ o unJ
p payead e salean d e u luaua~elds!p
-
-.r...W.."*~5-1-
.....<.<.*. - xt:
,- :
:
; .
!::
I:i . . . . . . . . , . . . .
-:-: -, -2
-...----.
;..A...?rO.8..01.(.

..........
. .
7 - . ... .
R

j ayows sly1 '6u!l!i le3!ya~ou s! a ~ a ysv


l :uo!pur~o~u~

. p a $ d w o ~ duayM a>ue$sul j3alas pue Ja!j!pow


a>elds!a a y j j o 101s d e w a y j o j d e w s!yj 6 e ~ a
'LS'LS'LS 9 3 ~ 0 yxeMs
1 z ~ 0 1 0 a3 y pue
~ '~ZL'~ZL'~ZL
9 3 o~j y > j e ~ s1 ~0103
a y j $as '5.0 o j juauodxg pue
L oa suo!$eJa$l 'Z'O oa az!s a y j $as '0 o$ 6u!1!1A pup
E oj6u!l!1 n ay$ $as 'lauuey3 d e w y>!ldx3 o j a x n o s
sajeu!pJoo3 s,dew a y j $as .juawa3elds!a u!aA d e w
s!y$ l a q e l 'sjols le!Jajew a y $ j o auo u! d e w a y o w s
M ~ U e a j e a n pue ~ o j ! p gsle!lajew aq$ d n u a d o

,adeys oueqon 3!seq Jno a1ea.o


01 A(le3!uar\!I 6u!~elds!ppue punoJe $1 6u!ddeJM aJo4aq 'aueld u!y$6uol sly$ uo ~ u a w a ~ e ~ ~
d s$ ~I M
p
i3a44a 6u!y3ue~q3!seq e aiea~301 6u!o6 aJojaJayI ale a M
'oluo saq3ueJq asayl aJaype 01 a3ejJns e paau aM Inq
'9 xew s p u!
~ sparqo a6e!lo4 a y i 01 syueyl ~ J ~ M J O J J ~ ~ I ~ J I S
Ala~!iela~
s! i x g a 6u!y3ue~qayi 6u!yea~2.aieldwa~
oue3loA Jno 40 s!seq a y l aq l l ! aueld
~ s!yl :uo!~t?ru~o~u~

.ajeldwal oueqoA aueld a y j l a q e l 1ajua3


a>ueu!wni alqeua pue 001 o j y $ 6 u a ~ j g$uaua3elds!a
a y j $as 'y3ejs a y $ o j Ja!j!pow a3elds!a e p p v
'02s 01s6as y ~ pa y! j pup ~ 08 o~ s6as y16uai aqa jas
'OOEL 4 0 WP!M Pue 00Z 40 y16uai e y$!M aueld 1
e a l e a n L J o d ~ a ! / \d o 1 a y j u! pue x e u s p u~a d o 4

'(,%~!l~oll,
s! I! J! se ~eaddeiC~?ru
J! se) 0 ~ ~ 3 paJapUaJ
1 0 ~ a y l jo "03
-loq aql In0 yscru o] ?sodoap!i\ u! ~ a p u aarlll jo do?LIO q3eq puno~zyneq a y j jo l ~ u iCr?lm~o
d prle 'asualu!
aJow uaAa sJolon aql ayum o j 611y%![s ISRJ~LIO~ a y l ~sn!lx?'auans lasuns e alulnrrr!s 01 Bu!lq%![ aqi
dn ]as pur? puno~%?peq e u! ppe I[!M a~ 'iC11r?u!j.ouenloi\ padde3-~ousR %~r!ll?aJn aJoJaJayl 'l3a!qo aqi
u! uo!l!sod pur?uo!lnaJ!p IeLrrJoN s,uo861od e LIO pasr?q~ a y l a s opapualq
l aq l l !q~ n!q~ s[e!Jalurrr jo aJnl
-x!m e ppr?1 1 ! aM ~ 'a~alduror,s! luarna3e1ds!p a y l JaUV 'orni310~a q JO do1a y l l r ? ~ a l e aql
~ 3 alea.13 01 dr?m
~ e ~ n p a n oleuo!l!ppe
~d ue q l ! ~xl?ru spg u! pax!m aq I!M luau1a3elds!p s!y& .~A!J!uI!J~arleld a[dm!s r?
a3elds!p 01 pasn pue xeur spg ow! papeol aq uayl I~!Mq ~ 'lnajja q %u!qnur?~q
~ Inamon aql a m y 111" 1q41
dvru r? a w l 3 I[!M a M 'I!r?lap Jaug ale~auas01 Bu!lu!ed leuo!~ppr?pur?s1uauoduro:, s'dcrn luarua~elds!p
204 EARTH

Add a Mix map t o the Color 2 slot and label i t


3 Peak and Seam control. Set the Color 2 swatch t o
RGB 128,128,128 and add a Gradient Ramp map t o
the Color 1 slot. Label it Peak Control. Set the W
Angle setting t o -90 and the Interpolation t o Ease
In Out. Set the flag at position 50 t o RGB 0,0,0 (black)
and move i t t o position 70. Set the flag at position
100 t o black and the one at position 0 t o RGB
128,128,128. Add a flag at position 10 and set i t
t o RGB 128,128,128 as well.

Information: We can see in the Viewport exactly what


this Gradient Ramp map does - it creates a transition of the deformation assigned to the plane from
the top to the bottom, with a small amount of unaffected geometry at the top due to the two grey
flags. The black flags create a strong dip in the displacement at the base of the plane. The Ease In
Out interpolation simply amends the way the gradient blends the colors assigned to the flags, and
the Angle amendment rotates the Gradient around so it is facing the correct way.

Add a Gradient Ramp map t o the Mix slot of the


'-Peak and Seam Control mix map and label it Seam
Control. Remove the flag at position 50 and set the
flag at position 0 t o white. Add flags t o positions 11
and 92 and set them t o black.

Information: Th~smap simply 'disables' or fades


out the displacement at both ends of the plane, so
when we bend the plane around itself later on, both
ends will line up.

Reduce the number of Segs in the Plane t o 8 and


5 52 for Length and Width accordingly and add a
Volume Select modifier above the Displace modifier.
Set the Stack Selection Level t o Vertex and reposition
the Gizmo in the Top Viewport so that the top row of
vertices are only selected. Scale the Gizmo down
along i t s width as illustrated and enable Soft
Selection. Increase the Falloff so that the Soft
Selection gradient illustrated in the Viewport does
not affect the bottom or sides of the plane - a setting
o f about 180 should suffice.
V O L C A N I C TERRAIN 205

Information:We have reduced the amount of iterations in the base geometry so that we can see
updates in the Viewport a lot faster. We will increase these back up later on. The Gizmo has been
repositioned and Soft-Selection amended so that the sides (the seam) and base (which will be the
peak of the volcano) are not affected by any other modifiers we drop in the modifier stack above
this selection.

Add a Noise modifier t o the stack and label it


5 Vertical Noise. Enable Fractal and set the number
of Iterations t o 3. Set the Z Strength t o 50. Add
another Noise modifier and label it Side Noise. Set the
Scale t o 200, enable Fractal and set t h e X Strength t o
100. In the Top Viewport, rotate this Noise modifier's
gizmo 45 degrees anti-clockwise, as illustrated.

Information: Thanks to the Volume Select's soft


selection, the strength of the two Noise modifiers is
controlled so that they do not affect the bottom (wh~chwill
1

.- - ---- .- -
=.r- . I
- - - - - - :-m-;
r
- .".. .:;
I

.,.er

be the top of the volcano) or the s~des(the seam). The


initial Noise was added to add a slight irreguiarity to the height of the sides of the volcano, while
the rotated Noise with a horizontal strength deforms the displacement we created further down the
modifier stack. The gizmo was rotated so that the Noise was not the same all the way across the
length of the plane.

Add a Mesh Select modifier and label it Clear


7 Selection. Add a Bend modifier and set the Angle t o
360 and Direction t o 90. Set the Bend Axis t o X and
move the Bend's Center sub-object vertically i n the Top
Viewport so that it's at the t o p of the bent plane,
therefore closing the hole i n the middle of the plane.
Information: As we had a sub-object selection, this had
to be cleared before any other modifiers could be added
that needed to affect the entire object. The Bend sculpts
.----_
. , . . . . ,. . . . . . 1
the plane into a deformed disk, and offsetting its center
7 - .

..d
, . -- - -.
.---
=.z-.,
,.'P...., P----.
1
. ,_
a_ ._ . __
.-:-*..,
;-
.--.--,..-
...... - =
..I
,,

closes the hole, therefore creating the top of the volcano.


Thanks to the Seam Control map and lack of noise influence around the two sides of the plane,
courtesy of the Volume Select's falloff, the two sides should line up perfectly.
206 EARTH

Add a Vertex Weld modifier and set the Threshold


8 t o 1. Add a Displace modifier, label it Height
Displacement, set the Strength t o about 380 and
enable Luminance Center. Open the Material Editor
and add a Gradient Ramp map t o the next available
material slot. Label this map Height Displacement.
Set the Flag at position 0 t o RGB 206,206,206, the
one at position 50 t o RGB 165,165,165 and the one
at position 100 t o RGB 128,128,128. Add a flag at
position 14 and set i t t o color RGB 201,201,201. Set
the Gradient Type t o Radial and drag this map t o the
Map slot in the Height Displacement modifier.

Information: The Vertex Weld modifier was added to close the seam and the top of the displaced
I
mesh, so that any additional deformation on the mesh would not open the seam any further. The
radial gradient has a gradual falloff which produces a nice rounded cap at the top of the volcano
and linear sides.

-
em . , . . ----.--
r .><, + u
i -. .--.- ..
,I.,..,.<, .
, - -0)iAdd a Volume Select modifier t o the modifier
4
4 stack, set the Stack Selection Level t o Vertex and

reposition i t s Gizmo vertically in the Front of Left


Viewports so that the top most vertex is selected.
Enable Soft Selection. Add a Relax Modifier, set i t s
Relax Value t o 1 and Iterations t o 20. Finally, add
a Mesh Select modifier t o the top of the stack. Go
back down t o the Plane primitive at the base of the
stack and increase the Length and Width Segs back to
,= 1
.- ..
F I
...c
.
.
.mL
..-- - ....
. -.
c.r-. a .--_. _-_
.
~~

_
?
._...,.- ._..._
*,*,
-, , ..,.
...,...<...
. ...
>,
their original settings of 80 and 520 respectfully.
Information: The Soft Selection simply ensures that only
the top few vertices are selected to be Relax'd. The Mesh Select modifier simply clears the selection
for Viewport interaction speed purposes. With the number of polygons in the volcano set to a low
value, it appears as if the top of the volcano has been flattened. The high amount of relax was
included due to the use of the proper amount of Segs in the Plane Primitive at the bottom of the
modifier stack. Note that increasing the Segs amount will cause 3ds max to hang for a short period,
while it calculates the Vertex Weld modifier. This is to be expected.
VOLCANIC TERRAIN 207

4 n o p e n u p the Effects panel and add a File --.----- --- ---- --- - ;'-
a*

I -
r . + V 1 C .'A* *
I
-
.7-

u Output render effect. Set the Channel in the z


- I
1 I
( Parameters section t o Depth, click o n the Files button
and specify the filename as volcano-template.tif.
Open the Render panel and set the Width and Height
-
of the Output Size t o 3000. In the Top Viewport, right
i -- - 1
click the Top text in the t o p left of the Viewport and
-- -
- II
select Show Safe Frame. Center the mesh in the
middle o f the Viewport and render out the image in
- I
. ...
the Top Viewport. Save the max file as
volcano-template. max. .-
P
, OD, I -..-, I - -
--- -. r.,
. .-...-
.... ,

Information: As we only require the depth map from this particular scene, we do not need to
specify an output in the Render panel. The File Output Render Effect saves out the Z Buffer
information for the render, which we can now load into Photoshop and add extra detail. The
screenshot for this step illustrates the rendered frame; the File Output image is not displayed as it is
simply output to the file.

n n Reset 3ds max and, in the Top Viewport, create


a Foliage object and change its type t o Generic
Oak. In the Modifier panel, turn o f f the tree's leaves.
Copy the tree and change its seed by clicking on the
New button and reposition if necessary t o get the
center o f the trees aligned correctly in the Top
Viewport. Open the Material Editor and assign a
self-illuminated white material t o the trees. Create
and position a Camera in the Left Viewport and
I
position it at the t o p of the Trees. Change the Lens
size t o 5 m m t o generate a large Field of Vision,
." - s--* -- . _ _ - -. --"--
- .-
._.,.C I mrr- Y
- , .2 .b. m ...,,.
s

change one o f the Viewports t o Camera view and render o f f t h e image t o a 3000 x 3000
canvas. Save this image out as a .tif file.
Inhrmation: This may sound like a complex step, but all it simply contains is the construction
of two objects, a simple material assignment and camera positioning. The wide-angled lens was
used to create some large thin branches stretching out to the sides of the image. The White
self-illuminated material is to ensure we have a white on black branching effect with no shading.
208 EARTH

PART TWO: W i t h t h e relevant Z-Buffer a n d vein images, w e can l o a d t h e m i n t o


Photoshop (or equivalent) a n d a d d extra d e t a i l t o o u r map.

-- 12
-z.--~
Open the saved volcano-template.tif file into
I
Photoshop and apply a subtle Gaussian Blur
/ filter t o remove any harsh edges. Create a new layer
I' / and set its Layer Blending type t o Screen. Drop the
!.
ji opacity o f the layer down a little and, w i t h a small
1i :
brush, work your way outwards around the existing
large veins emanating from the center creating
1,
1 smaller branches from each large vein. Blur the small
I

I 1 veins slightly t o match the blur o f the background


.-,,..- ., ,-... 1 . ,- ., . 1.. * ,1. :...
i layer.
Information: Referring back to our reference images, we
notice that this type of additional vein effect is commonplace, therefore needs to be created. A few
simple strokes with a brush will suffice as we only need to suggest that these veins exist -the more
prominent ones will be from the next image we load in ...

.- -- - - - - - -
.- ..... . 3 Load i n the saved branches image we
'
4
"'generated. Select all, copy and paste i t into
our main canvas. Hit CTRL+T (transformation) and
increase the size o f this layer t o about 150% o f its
original size. Make a copy o f the layer, set its Layer
Blending Type t o Screen and rotate the layer about 45
degrees. Perform this operation again so we have an
even distribution of veins coming from the center of
the map. Collapse these branches down t o a single
layer. Change the opacity of the layer t o about 20%
and Gaussian Blur it slightly. Select the Background
I
layer, Select All and copy (CTRL+C). Select the collapsed branch layer and add a layer mask. I
Select the Channels tab, enable the Layer Mask and paste i n the copy of the Background
layer. Hit CTRL+I t o invert the mask. I
I

Information: Another big step, but not all that complex. Here we have imported the pre-rendered 1
image and simply distributed it around the map to create more branches. After blurring to remove
any hard edges, we have used an inverted copy of the background layer to mask out the veins, so
I
they are more intense on the darker areas of the map to 'raise them up' slightly. I
VOLCANIC TERRAIN 209

Clone the branches layer and un-link the layer


and layer mask. Gaussian Blur the layer (not
the layer mask) some more. Change the layer's
Blending Type t o Lighten and set the Opacity t o 10.
Copy the background layer and re-order the layers so
that it is situated o n t o p o f all o f the other layers. Set
i t s Blending Type t o Multiply.

Information: This creates the two main extremes -the


lighter cap, generated by the clone of the veins, and the
darker surrounding areas. Because of the way the blending
types work, a lot of the intensities are maintained so we
can get slightly sharper peaks which trail away quite quickly.

3 r Finally, we need t o remove the harsh edge


b around the base (the perimeter) of the volcano
d
displacement map. Either, using the Magic Wand tool
select the black area o n the background layer, feather
the selection and fill the selection black o n a layer
situated on t o p of all other layers, or in a layer situated
on t o p o f all other layers paint out the hard edge with
a large soft brush that is set t o black. Save the
Photoshop file t o maintain all the layers should w e
need t o tweak the image later on, and save a flattened .
.-! ..>,..l. r..r-.r - ,-- .- -- r .. .-. La. ..*,
version that we can load back into 3ds max.

Information: We need to remove the harsh edge around the perimeter of the map so, when the
map is used as a displacement map in 3ds max, there is no sudden 'step' from the dark surrounding
areas to the sides of the volcano. Even though we will be masking out the bottom of the volcano
later on, it is still good practice to remove this 'step' in the map in case the map is used in a different
scene at a later date.
210 EARTH

P A R T THREE: W i t h t h e m a i n displacement m a p completed, w e can l o a d it back i n t o


3ds m a x a n d use i t o n simple g e o m e t r y t o generate o u r f i n a l t e r r a i n mesh.

P Back in 3ds max, reset the scene and create


4 ,
'?a Plane in the Top Viewport w i t h a Width and
Length o f 2000 w i t h 200 Length and Width Segs.
Label i t Volcano Displaced. Add a Displace modifier
and label i t Terrain Displacement. Open t h e Material
Editor and in a blank slot load in the flattened map
you saved from Photoshop (or load in the
volcano-displacement.bmp file included on the DVD).
Label it Terrain Displacement, set the Blur Offset t o
0.005, and drag it t o the Map slot in the Terrain
Displacement modifier. Set the modifier's
Displacement Strength t o 1000.

Information: Our hard work creating the map has paid off - now we can use the displacement
map on whatever level of geometry we like. Because our volcano's shape is now material based, we
can amend the geometry at the base level to add (or reduce) the amount of polygons in the scene at
will and the mesh will be automatically updated. Should you feel that the Viewport update times are
too slow, simply reduce the number of segs, then increase them back to normal at render time, or
just increase the Plane's Render Multiplier (more on this in the Taking it further section).

P 7 In the next available slot i n the Material Editor,


/ create a Gradient Ramp map and label it Crater
Displacement. Set the Gradient Type t o Radial
Interpolation t o Ease In, Noise Amount t o 0.1, Size t o 5
and Type t o Fractal. Add a flag t o position 25 and set it
t o black, move the flag at position 50 t o position 73,
add a flag at position 65 and set it RGB 8,58,58, and
set the key at position 100 t o RGB 128,128,128. Add
a Displace modifier t o the stack and label it Crater
Displacement. Scale down i t s gizmo t o about 30% to
create the inset crater. Set the Strength t o 600, enable
Luminance Center and drag the Crater Displacement
Gradient Ramp map t o the Map slot in this modifier.
Inforrna+ion:As we only want to displace the top part of the volcano, we can use a displacement
that has Luminance Center enabled - this takes the middle grey (RGB 128,128,128) as not affect~ng
the mesh - anything lighter than this will raise the mesh and anything darker will lower the mesh.
A radial gradient pivots around the left-hand side of the gradient design, so the outskirts will be the
mid-grey color that does not affect the mesh, so only the center is displaced.
1 FOUR: With the mesh now complete, we will move onto creating the materials
P ~ R T
for our volcano.
VOLCANIC TERRAIN 211

I 4 In the next available slot in the Material Editor,


','create a new TopIBottom material, label it
Volcano and assign it t o the Volcano Displaced plane
in the scene. Set the Blend t o 5 and the Position t o 70.
Label the material i n the Top slot Snow and set its
Diffuse color t o white. Add a Speckle map in the
Specular Level slot, swap the black and white colors
and amend the black color n o w i n Color 2 t o RGB
196,196,196. Label the map Snow Specular. Back u p in
the Snow material, set the Bump amount t o 999 and
instance the Terrain Displacement Bitmap map into
the Bump Slot.
I Information: Referring to our reference material, we notice that depending on the height of the
1
I volcano, some (if not a lot of) snow appears on the top and sides of its terrain. Using a TopIBottom
i material allows us to mimic this in 3ds max depending on the angle of the polygons in the mesh -
I those facing up will receive the snow (Top), while the others will receive the other material we are
I
I
about to create (Bottom). We have also raised the threshold of the TopIBottom so that the heavy
I snow forms around the tops of the peaks. The Speckle map was introduced to break up the material
i
as we will have rough and smooth surfaces which results in different specular information, and the
i instance of the displacement map drives the bump map to add extra detail to the terrain at render
time without having to crank up the geometry count excessively.

4 O A d d a Blend map i n the TopIBottom's Bottom


slot and label it Side Volcano Blend. Instance
the Snow material into the Material 2 slot. Label t h e
material i n slot 1 Rock and add a Mix map t o the
Diffuse slot. Label it Detail Snow Rock Mix and add a
Falloff map t o the Mix slot. Set the Falloff Direction t o
Local 2-Axis and amend the Mix curve as shown. Label
this map Detail Mixer.

Information: The additional Blend material has been


added to create snow on the raised areas of the
displacement map, where the geometry is not fine enough
to pick out all of the detail. The Mix map in the Diffuse slot of the Rock material performs pretty
much the same task, emphasizing the map in the Bump slot, which we will set up next.
3- ' n A d d a Mix map t o the Rock materials Bump
slot, label it Rock Bump Mix and set the Mix
Amount t o 50. lnstance the Terrain Displacement map
t o the Color 1 slot and add a Noise map t o the Color 2
slot. Label this Rock Small. Set the Source t o Explicit
Map channel, Noise Type t o Fractal, Size t o 0.01,
High t o 0.7, Low t o 0.3 and Levels t o 10. Add a Noise
map t o the Color 2 slot and label it Noise Large. Set
the Source t o Explicit Map channel, Noise Type t o
.... --- .. ..: ~. -,.- . . . . ... .-.:.-..
.-
r? -:-.
,.>R..O.*,
~

--- - -.,--..
~

3.r-..
T-.-"
.ii--
..- .,,--
.;,:
...
-- -

C.. ..
-m--
...
-.>,
.I...
.....
"
Fractal, Size t o 0.03, High t o 0.6, Low t o 0.4 and
Levels t o 10.
Information: To add extra bump to the rock surface, in this step we have mixed two different
sized Noise maps together to create a non-uniform map. In addition to this, this Noise map tree has
also been mixed with the existing displacement map to add extra detail to the rock on the sides of
the volcano.

? 4 Add an Output map t o the Mask slot o f the


/ Side Volcano Blend material and label it
Displacement Intensity. lnstance the Terrain
Displacement map t o the Output map's Map slot. In
the Output map's Output rollout, turn o n Enable
Color map and amend the curves t o those illustrated.
InFormation: The displacement map has been intensified
and its colours amended a little, using the Output map to

.
n,-- .....,
I -- - --- .--
-
I.
... ..'.-
. .,~--
.,.,*.. :..a, .- , "-.-~. 3- .-.....
-~
EIICI.0.
7.- _
. . . I .-. . . -". .--. .. -:I ~, intensify
.:--.. -r
--.--
-- .........
-....
the white and trail the black off a little. This
intensifies the white in the map around the center (and
L.I

therefore the top of the volcano), which is used to control


the mixing of the Snow and Rock mate?rials,therefore creating a solid snow cap when rendered.
VOLCANIC TERRAIN 213

FIVE:
O ~ R T Next, w e w i l l add a background environment map t o t h e scene and set
up lighting and cameras t o match t h e background map.

Open up the Environment panel and click on


22 the Environment Map slot. Add a new Bitmap
map and load in the volcano-backplate.jpg from the
DVD-ROM. With the Perspective Viewport selected,
press ALT+B or go t o Views>Viewport Background.
Enable Use Viewport Background and turn on Display
Background. Arc Rotate and pan the Perspective
Viewport so that you are looking up the Volcano
slightly (as the background image is pointing slightly
skyward). Once positioned correctly, press CTRL+C or _ -- -. . .

,.... ,.....,
a , . . , . . ,
'... , ~~-
. .,*
go t o Views>Create Camera From View. Set the .- ...,, ..l.l arc-.,
2 .

. a,..--
,.. ._
, - - - - ~,n.-
.*.I._.
_ (

a,

resulting camera's lens t o a stock 35 mm.

Information: We have loaded in the background image and positioned the volcano so that we
can overlay the trees at the bottom of the image over the base of the volcano. Re-compositing the
scene at the end will make it more believable because it places the volcano in situ.

' In the Top Viewport, create a Direct light and


"
J ------- :*.--- A -.
2, ' label i t Sun. Set the color t o RGB 255,248,240,
enable Shadows, turn on Overshoot and expand the
;-..-.-2.7.- r171,+O'I rlnra;---:!r..

-
..-BYi~-7u

---
.
.-.-
I.-.
...
-
-
--
...:
7~

..
.c-.

FalloffIField t o encompass the displaced plane. Set the 1 -. ... .-


-.--.-
Shadow Map Bias t o 0.001 and Size t o 2048. With i C

- ..,...~..
the Target situated in the center of the volcano, move - _-_.-~.-.--
-
.
.
- , ..=.-.L
the light outwards in the Top Viewport. Go t o the .-r--
.- . .-.., - -
-. ~

Camera Viewport and move the light vertically until it


is overlaid exactly with the brightest part of the
sunset background. . - -.
. .. - -- -a. - . .-,
Informatiotl: The color of the light was derived by
.- ... O.li~,.? - -.
;rr-.*
'

- a--- - I..^--
. -. * -,;,-
'.*,
.
. .,......-
, ; . r

viewing the background image and point-sampling the color from the brightest part of the sunset.
The low shadow bias pulls in the shadows so they are tight around the faces that cast them, and the
high shadow map size ensures the shadow is crisp. A Direct light is used to simulate the Sun as its
shadows are cast out linearly, and not fanned out like a Spotlight or Omni Light.
214 EARTH

Clone the light by shift-moving it t o the left in


the Camera Viewport t o the far left of the
brightest point on the background and reduce the
Multiplier t o 0.25 and the Shadow Map Size t o 512.
Increase the Sample Range t o 20. Create an instanced
clone of this light on the other side of the brightest
point. Copy this light (not instanced) and reduce the
Multiplier t o 0.03, the Shadow Map Size t o 256 and
turn off Specular. Reposition i t so that i t is half-way
up the Camera Viewport. Instance the Environment
Background map t o a slot in the Material Editor and
click on the View Image button. In the copy of the
background image that appears, hold down the right mouse button and point sample a
color from where this new light is situated. Memorize the RGB values and enter them into
the light's color swatch.

Information: By creating a number of lights closely positioned together, we have created a basic
faked area light effect for the main light source. The secondary light source of the sky has had its
Shadow map size reduced as we only need diffused shadows, and the Specular option turned off
as we require a diffused light, else our volcano will be covered in highlights once the next step is
complete.

Create a ring of instances of this light around the


3- .d volcano by rotating at snapped angles around
the volcano by using the volcano's axis as a pivot point.
Copy this ring, move the ring copy up, sample another
color and set the light's color accordingly. Perform this
another time for a ring of lights lower down in the
scene as illustrated.

Information: By using instanced lights for each ring, so


that amending one light amends the settings for the rest of
r
,4 .>a*.
""1
**- ,
--.
"er-,d ."----
A"-"--.
' .
*.-- =
r.3 *
....a.
: the rlng, we can ed~tthe sett~ngsas des~redlater on
wrthout havlng to amend every s~nglel~ghtWhen the
arrangement IS complete, we will have created a s~m~lar effect to what a Sky L~ghtwould generate,
but we have added extra deta~lto our shadows for the prlmary l~ghtwh~chwould be more d~ff~cult
w ~ t ha Sky L~ghtand would take a lot longer to render
VOLCANIC TERRAIN 215

a
7 Select the Camera Viewport and open the
/- 3 ~ f f e c t Panel.
s Add a Brightness and Contrast
Effect t o the Effects list and set the Briahtness t o 0.35
J

and Contrast t o 1. Render off a single frame.


Information: Adding this render effect h~desany

I
irregularities we might have, and is also more aesthetically
I pleasing as it brings out the colors of the background and
the contrasting shades illuminating our volcano's material.
Th~smay take a little while to render due to the amount of
shadows belng cast In the scene If ~tIS taklng too long for
your I~klng,try reduclng the size of the shadows and the
.- . 0.5 . --, ,---.
""1-
-
.-.,---'*- _ _ .-...-
_..'.. ..
Sample Range settings of the lights in the scene by half.

P A R T S I X : Finally, as the background is occluded by the volcano, we will composite


the render with the background to overlay part of the background back on top.

27 Open Video Post and click o n the Add Scene


Event button. Click o n the Add lmage lnput
Event button and load in t h e volcano-backplatejpg
image as before. Highlight both o f the events and
click on the Add lmage Layer Event button. Select
Alpha Compositor from the menu and load in the
volcano-backplate-mask.jpg image. Change the Mask
type t o Luminance and click OK t o exit t h e panel. Add
an lmage Output Event, if desired, and render o f f a
single frame.
.- .,,.. + m.,
-. .
3sr-.. ,--.- -..--- *"........, .
..
6. .>
,,

Information: The Alpha Compositor overlays the image


on top of the render (the result of the Scene lnput Event), using the Mask map to control how the
images are put together. The resulting image is the volcano rendered off against the sunset
background (as in the standard render), with the composited trees from a copy of the background
image added on over the top. You will notice a negligible difference in background image intensity
because the copy of the background image that is loaded into Video Post and overlaid does not
have the Render Effect applied to it. To rectify this, try using a Video Post Contrast filter on it.

13ccause thc shape ot' the volcano is derived from the deformation generated by the main displacement
map. there is not rlluch else we can do to the overall shape of the volcano. apart from. perhaps, reline
the detail in the displaccmcnt by increasing the size of the displacement map and adding extra detail
216 EARTH

to it in Photoshop. In addition, we could create an extra map in Photoshop to control additional pro-
cedural bump mapping around the sides of the peaks that run down the sides of the volcano.
Because of this extra detail, we could (and should) increase the amount of detail of the plane
geometry in the scene to remove the soft edges of the slopes along the sides of the volcano. As all of the
modifiers in the Volcano object's stack are non-destructive (i.e. they do not amend the geometry by
adding or deleting polygons, for example), we can simply amend the geometry at the base of the modi-
fier stack and the information will automatically be passed back up. Even though we can adjust the
number of iterations in the base geometry, this will have an adverse effect on Viewport interaction.
Therefore we can simply increase the Render Multiplier setting which will just add extra detail to the
mesh at render time and will not affect what we see in the Viewport at all-a value of 3 should suffice.
This has its pros and cons - pros in the fact that an exceptional amount of detail can be added to the
mesh. cons in the fact that we can up thc setting a little too much and run out of memory. In addition.
it is easy to forget that we have increased the multiplier setting and added extra 'finishing tools' such
as Meshsmooth on over the top of the modifier stack, refining the mesh even f ~ ~ r t h eThis r . spells
instant death for the program (after about a 112 hour calculation time). so ensure you label the mesh
accordingly so that you know at first glance that it has been amended this way.
Depending on how high you determine your volcano is, you may want to add some cloud forma-
tion around the crater (and fogging to desaturate any colors) so that it appears lilte the crater has a
high altitude. Have a look at the cloud formation in the Mountain tutorial fi~rlheron in this book, and
see how the Volumetric Cloud was controlled and distributed to give a n irregular shape around the
n~ountain'speak. Don'l forget though. should you want this volcano to erupt. this cloud will be
quickly dispersed, so yo~tmay wish to use static particles to create the cloud fornlation instead, which
could be arlected (sct in motion and fade out somewhat) around the areas where the volcano erupts.
1)ependuig on the reference material used. you may wish to add steam emanating from the crater
at the top of the volcano, and also drop in a few steam vents down the sides, to suggest that the vol-
cano is becoming active. You may also want to add lava shooting out of thc top and splattering down
the sides - try creating a Particle Flow system that ejects individual particlcs from the crater. spawn-
ing trails as they fall, which break up on impact with the sides of the volcano. Another system could
be created to handle lava flow down the side of the volcano which, if the volcano's mesh (or a low
polygon version of it to increase interaction times) is used, will create natural channels of lava
streams flowing from the crater down to gro~111dlevel. This leads us on nicely to the Volcanic Eruption
and Pyroclastic Flow tutorials later on in this book in which we will use the scene we have just
constructed.
Introduction
There are a few main types of Lava flow - the most common being either the slow moving and
'bulging' Pahoehoe type or the 'rocky' A a type which forms solid blocks of lava that roll, crack
and frequently break. In this tutorial, we are going to simulate Pahoehoe lava, creating the
animated material and animation as it creeps across a surface. Granted, there is already an
existing example of this effect on the 3ds max CD-ROM; however, it does not show exactly how
this effect really works, and mainly uses deformation and an animated object to illustrate the lava
surging forward. In this tutorial we will animate the lava expanding and traveling right across the
scene and, as it travels, the areas exposed to the air will appear to harden in relevant places,
which will be created by setting up a complex material tree and using material blending to
achieve the desired effect. As this lava progresses across the surface it will illuminate the
surrounding areas, which we will use 3ds max's GI to generate as the geometry count in the
scene is not all that high, so render times will not be affected all that much.
(a) Pahoehoe lava can take on mauny forms - from a ropy elTect. swirls.
coils, entrails, blisters and overlaid creases to a smooth surlhcc. only
brolten up by the texture of the hardening lava. \We will concentrate
on the latter as it is about the most basic to set LIPin 3D. Analyzing the
reference material, we can see that the effect is made up of three main
features - the motion, the 'hot' area and the 'cold' area. The motion
itself appears as if the lava is reaching out: in fact it is caused by the
amount of lava behind pushing it forward. (b) Because of this. the
leading edge of the lava flow does not appear to cool at all, but the sur-
rounding areas do. Upon being exposed to air. the lava rapidly
changes color and loses its glow. forming a thin crust around the
exposed areas. This crust builds up gradually, hardening Inore and
more until all of the thin glowing cracks have hardened. (c) This
results in a material which appears to be solid. but can still clefor111-
which, when it does. cracks open again revealing the molten rock
inside. Because of the way the pressure from the rear end of the flolv
pushes the leading edge forward, irregular motion, and therefore
shapes, can occur: given enough time to harden, the lava will find the
weakest point in the crust to begin the trail again, therefore the trail
may cease in one direction, then continue in another. (d) Just for
informative ouruoses. Pahoehoe lava can form into Ka lava if the
L L

conditions are correct, from which it cannot be reversetl.


As the progression of Pahoehoe lava is irregular, with it surging
forward while it expands, we need to think how to generate thiseffect
correctly. At first glance you would think that a simple animated FFD
modifier would suffice to create the desired result. Unfortunately, this
can stretch out the geometry so much that the end result looks
slightly smeared. To get around this, we will use a particle systenl to
generate the initial contours and motion of the lava, and use a
deformed (scaled) Rlobmesh Compound Object to create the Gnal
surface. As the particles travel across the surk~cethey will leave a
trail which the Blobmesh can reconstruct, therefore creating thecor-
rect shape. To add extra deformation, we can add a large Noise modi-
fier to the Blobmesh so that it deforms further and expands
irregularly as it is 'traveling'. The materials to drive the overall effect
will be slightly more complex than some of the other effects, mainly
because we have to get the cracking effect right to ensure the final
rendered image loolts convincing. To do this. we will use the map that
we are going to use (partially) as the diffuse map. As this map already
has craclts in it, by increasing the output of the map and clipping off
the light and dark areas. we can generate a decent map to control the
distribution of the glowing craclts, which should diminish (using
masking) as the lava that is exposed to the air is cooled down. P~n~~ll!i,
'uo3! ayl 40 uo!paJ!p ayl 'ase3 sly1 u! - IaneJl 01 hem 4 3 1 4(s)ap!ued
~ ayl Ilalol paau
am asne3aq i ~ o d m ay! a~ l ayl u! paleal3 sem walshs a y l 'Ile4 hldw~s1 1 1 11~ ase3 4 3 1 U!~ '~oualjaa
~
ayl yleauaq u ~ o aq q hew ap!ued pau!wa ayl asla I!' uo lsaJ ue3 J! ieyl os 'Joualjaa ayl anoqe aq

:;-.--;+
:?
::.:
..... --
?,+* i+b.+zte: 7 y , , , .~-;;j d
o l spaau uo3! ~ o lal31ued
o ~ p
01 a
s
l q ~ e d
al6u1s
j
e
altyua ayl os 'a3epns ayl oluo
aleau o l paau a~ :uo!+eurlo$ul

'001 o j ~a!ld!jlnyy$ J o ~ M ~ hj!jueno


!/\
s,wals/(s alxued a q l $as .way$ JaAo pajenys ~ l ! j ss! l n q
aueld punoJ5 pue Jopaljaa a q l j o ap!s puey-yal a y j
01 S! j! $eql 0 s UJa$S/(Sap!$Jed ay$ uo!j!soda~'podma!/\
do1 a q l ul w e l d punoJ5 pue Jopaljaa ay$ anoqe
pajen$!s s! uo>! aJ!lua a y l ley$ os way/(s a l x y e d
a y j uo!~!sodatl.Jo$eJaua3 enel !I laqel pue w a M s
ap!ued mold alqJed e a l e a n 'podma!/\ y a i a y j ul
. .-,,.>.,
.. . . . . ..
.. L , : ,. .
I , . . ---
, .$lodma!l\ d o 1 a y j u! d ~ a,ed~e /~( $ ! A F Je~a l e a ~ 3 z

'aJ!nbaJaM I!eJla y l alea~3pue pJe/vuo4 laAeJ1 l l ! y~3 ! y ~


aueld punoJ3 a y l ojuo ap!ued
al6u!s e d o ~ p
l l ! ley$
~ walsAs ap!ued le!l!u! ay$ alean 01paau aM JxaN :OMI luvd

a x l d ayi Jano Ile 6ulx~noqenel ayl lueM lou op am se 0 o l las seM a3unog a y l
Jalsej salepdn wa$shsa l x l ~ e dayl ley1 saJnsua 'hlawoa6 lou pue ' s d l e ~a ~ pJepuels
d ~ ayi 6u1sn
lnq 'Jol3aljap e se jlasll aueld aql asn pin03 a M SI pur-10~6
::P:+:r " . . T, . , ----,., . . . . ----A
T-.z5 -- ayl aJayM 'hluoys alea~r,1 1 1 am ~ ley1 'wa~shsaplued
ayl l l a l o ~
Jopaljaa e y l ! 'uo
~ paJapuaJ aq 01 enel ayl
~ oa3epns
j e palean hldw~saney am aJaH :uo!geurlo$ul

~ SA pue n a q l jas pue


'02 o$ s6u!$$asJ ~ U U !al!l
j! o j J a y p o w dew MA^ e ppe pue aueld punoJ3 ay$
j q a s . w e l d punoJ3 a y j 40 do1 a y l Jano Alpexa s! J!
ley$ os -qAel~anopue 0 o j aDunoa a y j jas 'suo!suaw!p
awes a y l y * ! d~ ~ a xed s Jopaljaa
~ e ajeaJ3 .punoJ3
J! ~ a q epue~ 0001 40 y l 6 u a i pue Y$P!M e YJ!M aueld s
ea j e a ~ 'l.IodMa!l\
~ do1 a y j u! pue d e u p~ ! ~ 3
alqeuj r

.UIalSAS ap!ued Jno aA!Jp 0%p a ~ ! n b aSd~el\l\


~
a x d pue
~ ' p u n o ~ 6a y l $no 6u!Ael 'auax 3!seq a q l alea~3l l ! aM
~ J S J ! ~NO l n v d

'palaajj" L ~ a s ~ a n aq
p e lor1 I ~ SM~ U I JapuaJ
!~ 'qB!q jsql
[[I? 8u!aq IOUlunos Lqaruoa%a41 01 anp 'st? sasn SI! a m q saop I! s!qi ay!l s a u a x u! lnq %EM ,Inuo!l!pe.u,
aql saua3s ILIB!I 01 ~aj3.1dput? 19jo "I?) lr?a.18r? lor1 LLIJ leql M O L I ~[I!" 1mu1MON .J~;)BJJ 1q2!7 %II!SII 01)
ue3 aM Y3!LlM 'Ll$qB!~sx ~ e j ~ arll
n s alt?u!rirn[l! 01 paau aM -a3t?jJnse 8 u o p 8LI![a~t?.Ijaq [I!M I?AI?I 3qj {P
220 EARTH

3 Press 6 or click o n the Particle View button. In the


' root event o f the Lava Generator system, turn off
the Render operator. Rename the Event 01 event
Particle Placement. In the Birth operator, set the Emit
Start and Emit Stop settings t o -30 and the Amount
t o 1. Remove the Speed, Shape and Rotation operators
and add a Force operator. Add the Gravity Space Warp
t o the Force operator's Force Space Warps list.
In+oamation:We have reduced the amount of particles
. -

.--- -- -
"
- .. -,..,
~ . .
~ . .-.::...-
--.
. . . .-...-,,
.
.. *
_
to 1 as we only need one flow of lava in the scene. The
I I

negative time at which the particles were born was so that


the particle simply 'appears' on the ground when we start from frame 0 (because it has been given
adequate time to travel from its place of birth down to the ground) which has been made possible
by introducing the Force operator and the Gravity Space Warp. Currently, the particle passes right
through the Ground as there isn't anything in the particle system yet to tell it to interact with the
Deflector.

Add a Collision test t o the Particle Placement


'-event and add the Deflector t o the Deflectors list.
Drag out a Speed operator t o t h e canvas t o create a
new event and label the new event Travelling Particle.
Wire this new event t o the output o f t h e Collision test
in the Particle Placement event. Set t h e Speed
operator's speed t o 10.
Information: As soon as the particle interacts with the

I T - --
-.--.- .. -- - *
Deflector it is passed to the next event, where it is given a
slow motlon In the d~rect~on of the part~clesystem's Icon
-:3
.-.,;

arrow As the Grav~tyno longer affects the part~cle,we


have no more need for the Coll~s~on test In t h ~ sevent as the part~cleIS s~mplymovlng out In a
stra~ghtlrne However, should add~t~onal Influences be used to make the part~cle'smotlon erratic,
such as using a W ~ n dSpace Warp, then the Grav~tyand Deflector must be re-~ntroducedto th~s
event
LAVA 221

Y A d d a Shape operator t o the Travelling Particle


9event and set the Shape t o Sphere w i t h a size o f
15. Create a Spawn test, enable By Travel Distance, set
the Step Size t o 0.1 and the Inherited Speed t o 0. In
the Display operator i n this event, set the Type t o
Geometry t o see the shape of the particles i n the
Viewport.
Information: In this step we have told the particle
system how big the main source particle will be, which will
[ " ~ ~' . ~ , ~ . ' -, . . ' ,...-. . ..-. - ' ':,. .-,:- . .--=.-
-
--. -,. - .".
'

. -.---
r-
pass the information on to the Blobmesh object, therefore -(-
' 7

telling it how big it is. As this particle will be, in essence,


the leading edge of the lava flow, we need to create trailing particles of random sizes which need to
grow out of the main leading particle, which will be handled by the next event. The speed
inheritance was set to 0 so that the spawned particles do not drift off.

r Drag out a Scale operator t o the canvas t o create a


3 n e w event, label the new event Trail Scale
Variation and wire this new event t o the output o f
the Spawn test. Set t h e Scale Type t o Relative First and
Sync By t o Event Duration. Go t o Frame 40 and enable
Auto Key. Set the Scale Factor t o 110 and the Scale
Variation t o 50 for all axes. Turn o f f Auto Key. In the
Display operator i n this event, set the Type t o
Geometry t o see t h e shape o f the scaled particles i n
the Viewport.

Information: We have introduced the scale in this event,


and not in the Spawn test, because we want the resulting shape to deform to the scale variation and
not be immediately scaled, which may cause the Blobmesh object that we will create to 'jump' to fit
the new particle in with the rest of the derived mesh, which will cause it to twitch. Synch By was set
to Event Duration so that the new spawned particles begin to scale as soon as they have entered this
event.
222 FARTH
I
PART T H R E E : W i t h t h e particle system set up, w e need t o smooth over t h e surface o f
t h e system a n d deform it.

.-
--------------- .
-7
-- \ r -7,o 1
-
. <.A+<, - a -
, em;
"
In the Top Viewport, create a Blobmesh
Compound Object. Add the Lava Generator
- -
particle system t o the Blob Objects list and set the
--

7 I Viewport Evaluation Coarseness t o 3 t o match the


,, ---=
1 - -- '
f

-- ---
"
- Render Coarseness setting. In the Left Viewport, scale
the Blobmesh object down vertically t o about 25%
-- *-

and reposition the Ground plane down so that the


---- - majority of the Blobmesh is sitting on top of it, as
illustrated. In Particle Flow, change the Birth
.- .- - .
-. -
- --.- .- -- --
--- , operator's Emit Start and Emit End t o -100.

Information: We have reduced (and therefore refined


the mesh) the Viewport Relative Coarseness as we will need to add modifiers later on and ensure
that none overlap the Blobmesh's geometry. If both settings are different, there is a chance that
what we set up as correct in the Viewport may not hold true when rendered, so it is better to be
safe than sorry. We have had to move the Ground and not the Blobmesh as the Blobmesh geometry
will automatically fit the particles the next time the frame is updated or a setting amended. The Emit
Start and Emit End have been set back to -100 to allow for the Blobmesh to grow first. If you scrub
forward with the original settings, you will notice that the mesh grows then expands along the
direction of the particle motion. This is not desirable so, by amending the birth time, enough time
has been allowed for the mesh to grow.

QRight-click the Play animation button and increase


(,)the Animation Length t o 200 frames. Go t o Frame
200, add a UVW Map modifier and label it Leading
Edge Control. Scale the modifier's gizmo up by about
5%. Add another UVW Map modifier and label it
Texture Lock. Scale the modifier's gizmo up by about
-. 5% and set i t s Map Channel ID t o 2. Add a Noise
modifier, enable Fractal, set the X and Y Strength
settings t o 100 and amend the modifier's Scale setting
..-. ..
. -.. .. - . . --- _ ' -...-
...
-r
t o generate a large subtle distortion.

Information: We moved forward to frame 200 (just


extending the animation purely to see the effect longer) and set the U W mapping at that size so
we can design the maps around them without having to worry about tiling. There are two UVW
Map modifiers as we will need to animate the position of one to handle the glow at the front of the
leading edge, and the second to keep the texture of the hardened crust in place. The Noise modifier
is limited to deform only along the X and Y axis so it spreads out across the Ground. By scrubbing
through the animation we can see the Noise in action as it deforms the mesh while grows.
LAVA 223

&
turn off the Noise modifier by clicking on the
lightbulb icon next t o it. Go t o the Leading Edge
Control UVW map's gizmo and move it so that the
right-hand side of the gizmo is just 'leading' the mesh.
Go t o frame 200 and turn on Auto Key. Reposition the
gizmo so i t s right-hand side is in front (as at frame 0).
Turn off Auto Key. Go back t o frame 0, right-click the
new keyframe at frame 0 and select the Blobmesh's X
Position keyframe in the resulting menu. Amend the : .
.,
_. _ _ .. r. _ . - - . ._--.-:,;
.....- - - - , ,,.. .,-
.--.-- <

Out curve so it has a linear attack as illustrated (a


diagonal line going from top t o bottom, left t o right) and click on the arrow next t o this curve t o
pass the curve type t o the In curve of the keyframe at frame 200.

'nsorma?ion:Quite a big step, but not all that complicated. We have simply animated the position
of the first UVW Map modifier and amended the keyframe curves so that the Gizmo's motion does
not speed up and slow down - it now starts off straight away and finishes abruptly, ensuring that
the Gizmo does not overtake the Blobmesh's mesh (which is also traveling in a linear motion by
design) and vice versa.

P A R T F O U R : NOW t h a t w e have all t h e geometry set up in t h e scene, w e can create


and assign materials t o drive t h e lava effect.

4 n T u r n the Noise modifier back on and open up


L the Material Editor. In the first blank slot,
create a Blend material and label it Lava. Assign it t o
the Blobmesh object in the scene. Label the material
in the Blend's Material 1 slot Lava Shell and set its
Diffuse color t o black. Set the Specular Level t o 40 and
Glossiness t o 15. Add a Bitmap map t o the Diffuse slot
and load in the GRYDIRT1.JPG file that can be found
in 3ds max's own Ground Maps folder that ships with
the product. Set the Map Channel and U Tiling t o 2.
Label this map Shell Diffuse.

Information: As there are two main stages to the effect -the leading hot edge and the cooled
shell - we need to create two materials and then blend the two together using additional maps. The
Diffuse color was set to black as we will reduce the amount of the influence the bitmap has, so we get
a subtle shade variation. As this Diffuse map does not follow the leading edge, the Map Channel ID is
set to the number that corresponds to the Map Channel ID of the UVW Map modifier that doesn't
move. The U tiling has been increased to 2 as the UVW map's width is twice the size of the height. In
the screenshot, I have changed the particle system to display ticks so that we can see the entire shaded
mesh, and the Show Map in Viewport has been enabled for this map so we can see it in action.
224 EARTH

4 4 Back up at the t o p of the Lava Shell material, set


the Diffuse slot's amount t o 10. Copy the Diffuse
slot t o the Bump slot and set the Bump amount t o 50.
Label the new Bitmap in the Bump slot Lava Shell
Bump. Enable Color map in the Output rollout and
amend the Color map t o that illustrated.

Information: We create a copy of the Diffuse map, not an


instance, as we need to amend the properties of the map.
The output Color map was edited by adding a couple of
extra points and making a hard linear step to create a harsh
transition from light to dark, therefore making the bump a
lot more crisp with the raised areas more distinguishable.

In the Lava Blend material go t o the material in


the Material 2 slot and add an Advance
Lighting Override material. Label i t Lava Illumination
inance Scale t o 10. Go t o this i
nd label it Molten Lava.
and set it t o RGB 255,75,0,
set the Specular Level t o 40 and the Glossiness t o 15.

ed L~ght~ng Overr~demater~al
I
G -
r------ ---A-
-
.
. - .
.

-" ----.
%
.._..--.-
"
._ _
I I
.r w
has been Introduced .~ u r e.l vto tell L~qht
w ~ lenable
l
- Tracer (whlch we
shortly) that the llght belng emltted from ~ts
Base Mater~alIS l o x stronger than normal Illustrated In
the reference material, the molten lava has a specular h~ghl~ght roughly the same as the hardened
shell, therefore th~smaterial's Specular Level and Gioss~nesshave been set to the same settlngs as
the Lava Shell mater~alEven though we will replace the Self-lllum~nat~on swatch with a map, L~ght
i
I

Tracer and the Advanced Llghtlng Overrlde rnater~alst111take th~sInto cons~derat~on 1I

4 2 Expand the Maps rollout, add a Noise map t o


-)the Diffuse slot and label i t Molten Lava Color.
Set the Coordinates Source t o Explicit Map Channel
and the Map Channel ID t o 2. Set the U Tiling t o 2 and
change the Noise Type t o Fractal. Set the Noise Size to
0.1 and Levels t o 10. Set the Color 1 swatch t o RGB
255,0,0 (red) and Color 2 t o RGB 255,130,O (orange).
Turn on Enable Color map and design the Color map,
as illustrated.
L AVA 225

Information: This map is also locked to the static UWV Map modifier that is assigned to the
Blobmesh object in the scene. The weird looking Color map, with its peaks and troughs, creatc
fiery pattern with varying intensities.

Back up at the top of the Molten Lava material,


instance the Noise map in the Diffuse slot into
the Self Illumination slot. Set the Bump amount t o
999 and add a Mix map t o i t s slot. Label it Molten
Lava Bump, set the Mix Amount t o 50 and Instance
the Molten Lava Color Noise map into the Color 2 slot.

Information: The high amount of bump has been used


to pick out the detail of the two mixed maps, creating a
fiery texture. These additional maps will control the bump
around the blend, such as in the cracks and any extra larger
k.rG:-----..- .
. ,.'.--
.
- ' -. ~
--.
1
--.--
. . - . -.;.I .---- -.-- ,,
... ..
.T

cracked areas we introduce.

P A R T FIVE: With the key elements of our material set up, we now need t o blend the
two together so that they are mixed correctly and that the Bump maps show inden-
tations around the blending areas.

4 r Add a Mix map t o the Color 1 slot of the


9Molten Lava Bump map and label it Cracks
Mixer. Add a Mask map t o its Color 1 slot and label i t
Small Cracks Mask. Copy the Lava Shell Bump map
into the Map slot of this Mask map and rename i t
Small Cracks. In the Output rollout, enable Invert and
amend the Color map as illustrated.

Information: The additional Mix map is introduced so


that we can mix toaether the small cracks created bv the
.,
amended copy of the bump map from the Lava Shell ,F ..-
---, . .;, .
--- -".-.-.
.- . .-::..:-- . . !--
- -. -,-- = .--..
,, .
".

material (which has been amended to make a slightly more


gradual transition from light to dark, and inverted so that the cracks are white, which when used as
a Bump map, means they are indented) and another map we have yet to introduce. This Small
Cracks map will be masked so it does not cover the entire object, only a portion which we want.
226 EARTH

1 r In the Small Cracks Mask's Mask slot, add a


3 ~ r a d i e nRamp
t map and label it Small Cracks
Mask Control. Move the flag at position 50 t o position
70 and set i t s color t o black. Add another flag at
position 96 and set its color t o white. Set the
Interpolation t o Ease In.
In+ormation:As the UWV Map gizmo with Map
Channel ID 1 follows the deforming Blobmesh across
the scene, the Gradient Ramp map, which is also set to
..- . . . .-----. . I
r
C
-
,?.I - -- --.--
I . r - -
--. ._
F--
.
- - . . - , r
-I Map Channel 1, follows accordingly, therefore drawlng
l
out and fadlng out the static Small Cracks map In the Small
Cracks Mask's Map slot
I
I

A 7 In the Mix slot of the Cracks Mixer map, add a


/ Mix map and label it Leading Edge Mix. In the
Color 1 slot, add a Mask map and label i t Large Cracks
Mask. Add a Bitmap map t o i t s Map slot, load in the
lava-noise.jpg bitmap from this tutorial's Source
folder on the DVD and set i t s Map Channel ID t o 2.
Expand the Output rollout and set the Output
Amount t o 2. Label this map Large Cracks. Add a
Gradient Ramp map t o the Large Cracks Mask map's
Mask slot, label it Large Cracks Control, move the flag
at position 50 t o position 87 and set i t s color t o black.
Add a flag at position 97 and set i t s color t o white.
In*orma+ion:A large step, but still relatively self-explanatory. We have added another Mix map to
control the leading edge intensity, and to get it to break up into large cracks by using a bitmap
which is masked out by a gradient. As with the other gradient, this one also follows the growing
Blobmesh, so therefore 'draws out' and fades out the bitmap. The bitmap itself is a straight render
of a Noise map. This is used instead of a Noise map because in 3ds max they work in 3D space, and
as the underlying geometry is deforming, the map changes, even if it is held in place using a U W
Map modifier which would generate a rippling effect which is not what we want.
hessa3au se s6u1uass,ly611a y l puawe Jo/pue U O ! ~ ! S O uayl ~~J
ue3 no), .sax 2y611aql leyM Alpexa aas ue3 noA os ly6!1 paJ!a a y l o l s ~ ~ o da ~ y l jo
a !auo
~ 6u!6uey3
AJJ 'A~epunoqpla!j/jjo(lej a y l ap!su! palenys AlJadoJd s! pa!qo a y l aJnsua 01AJepunoq pla!j/jjollej
ayi 01 pau!yuo3 1111sale smopeys y6noyl uaAa '146!1 a y l y l ! paleu!wnllt
~ s! a u a a~y l jo lsaJ a y l
ley$ 0s palqeua looysJaA0 pue 'eaJe sly1 aplslno lse3 aq l o u 1 1 1 siwopeys ~ asla pasea~3u!aq 01 pey
sey pla!j/jjollej a y l 'uns a y l Aq 1se3 sMopeys ay!l 'pa6pa-p~eyslow I! ayew 01 osle pue Mopeys
a y l o l I!elap aJow ppe o$ paseanu! uaaq sey az!s depj Mopey5 a y l 'uns a y l Alaweu ' a u a ~Jno u!
ly611Aay u!ew a y l alelnw!s l l ! palea~3
~ lsn! aheq aim ly6!1 p a l l a a y l .anlq Apy61lsauax a y l 6u!lu11
'Ays palelnw!s e w o ~uo!leu!wnlll
j leqol9 alean ox pasn Ala~nds! ly6!1 $q6!1Ay~ a y l :uo!ieurlo$ul

.w.e 1 1 Alq6n0~i e uo!$!sod s,unS a y l s l u a s a ~ d az!~os


s p ~ e ~ $y6!1
d n a y l aAow ' U O ~ M ~ ! /y\ a l a y l u! 'pue PZOL
0% az!s pue 10.0 0%se!a dew Mopeys a y l $as .ysawqola
a q u a ay$ sassedwo3ua q l e y $ os pla!j / g o l l e j s$! las
pue 002 aweJj o~ 0 6 ' l o o y s ~ a ~alqeu3
o 'ZEZ'S~Z'SSZ
g 3 y 0%~ 0 1 0 3~a!ld!$lnyysl! $as pue sMopeyS
alqeua 4y6!7 paJ!a e a l e a n ' U O ~ M ~ ! d/ \o 1 ay$ u!
oslv '$y6!1$y6!(Ay~e a l e a n 'UodMa!/\ d o 1 a y l u l -aue(d
2
- punoJ3 a y l o l I! u6!sse pue h e ~ q !le!Jalew
l xew s p ~
pJepuels ay$ w o ~le!Jalew
j ~ e y d S ~ - a l a J 3 ~f0 3 p
^ -?L* I 4
. . . ,- I , : . .- .-
.-
,
a y j u! peol 301s le!~azew~ a e uul 7 r

- M O I ~ eAel a y l j o a6pa 6u!peal


a y l yzeaudapun uo!leu!wnll! ale~aua6o l daIedlly6!1 asn pue ,1y6!luns, y l ! auax ~
a y l aleu!wnll! pue aueld punoJ9 a y l o~ le!Ja$eur e u6!sse ue3 am '/(lleu!j : X I S l u w d

.dew d u n g a y l u! aaJl dew a y l jo Ado3 6u!puodsa~~o3 a y l Aq paiuapu!


osle ale pue le!Jalew ehel uallopj a y l Aelds!p s y x ~ 3a y l aJayM 'paHa 6u!lsa~alu!ue u! sllnsal
sly1 .sle!Jalew a y l 40 6u1pualqa y l ayJp 01pasn aq ue3 aJojaJayl pue le!lalew eAe1 uallolr\l ayj JOJ
dew d u n g a y l u! sy3e.n a y l salea~3aaJl s!ql se Jayla601 sle!Jalew OM^ a y l jo 6u1pualqa y l lo~luo:,
4 ~ 6u1pealal!y/v\ p!los e
01 pasn s! aaJl Jax!w s y x q aJ!lua a y l .as!ou a y l o w ! dn syeaJq 4 3 1 ~a6pa
6u!leaJ3 aJojaJayl 'dew as!ou paysew a y l y l ! ~0103
~ al!yM
..&<.
.- -IF--?--
- ...-
: + :--1______ , A p~lose sax!w dew d w e l~u a ! p e ~leu!$
~) a y l : u o ! i e u r ~ o ~ u ~
-AIP~JJO> d n $as s! le!Jalew ay$ j!
?Day> o$ IJodMa!/\ an!paduad a y l u! JapuaJ l s a l y3!nb
e wJoyad '101s yseyy s,le!Ja$ew ehel ay$ o$u! dew
---,.. : _. -*- Jax!yy sy3eJ3 a y l a,uelsu! pue aaJ$ le!Ja$ew a y $ j o do$
-- ._.---..--..-----........-... ,,!._._._._.._I
_._.I-._I ;!
--_
-,
', , -"
.
,

- .
..
.
,
- - - - --
,
-. a y l 01y3eq l y 6 ! a
~ $ e 6 ! h e ~'al!qM 01JO(O>sl! $as pue
-* I
86 uo!p!sod 016 e l j e p p v y e l q 01~ 0 1 0 3s$! +as pue
16 uo!$!sod 010s uo!$!sod $e 6el4 ay$ anow 'lo~$uo3
36133 6u!peai $! laqel pup $01~ x!w s,dew x ! w ~
.. .*..
... .. . .
.
.- .- - . - . .- a6p3 6u!peal ay$ 01d e w d w e y $ua!pelE) e ppvc,' r

LZZ VAVl
228 EARTH

---------------
- n o p e n u p the Render panel and g o t o the
2d
I*-. L-L P O +u.I-P
~ <.A+* J--. S~-ESIZ-..

Advanced Lighting tab. Select Light Tracer


from the pull-down menu and increase t h e amount of
Bounces t o 1. Render off the animation w i t h the
- - -- .
---".
I -

trailing end of the lava just o f f frame so it appears as


if the lava has originated from a distance away.
I n f o r m a t i o n : The flnal step. Enabllng Llght Tracer 1s a
slmple procedure, but conflgurlng ~t1s a whole different

f - ?-.~ ----. .- 6 ,- / _
. - . - . I -. --
--. - . - - , . . ..
area -see the onllne help that shlps wlth 3ds max for more
lnformatlon Sufflce to say, the end (rendered) result IS
convlnclng, especially as the lava appears to grow from the
leadlng edge and spread out. The addltlonal bounce In Llght Tracer generates the glow underneath
the leadlng edge; should you feel that thls 1s too Intense, reduce the amount we set In the Advanced
Llghtlng Overrlde material. Also, ~fyou feel ~t1s taklng too long to render, reduce the amount of
RaysISample In Llght Tracer, although thls wlll reduce the quallty of the bounced light

Taking it further
The main problem we have is the amount of texture stretching at the front of the lava flow. This is duc
to the planar mapping used for the main texture of the lava crust and also for the noise Hitmap map.
Referring back to the reference images, you will notice that this type of lava can form very inter-
esting shapes. Again, as we have produced the animation using a particle system, the sky is pretty
much the limit as to what shapes we can create - it's just a simple case of modifying the particle system
and the geometry will be automatically amended due to the Blobmesh object 'covering' it. Try creating
an effect such as Toenail Pahoehoe lava trails by creating an animated scale of the trailing particles,
and get the particles to divide into multiple trails to create the individual toenails. The main problem
would be in the application of the mapping - but this could be worlred around using multiple animated
mapping Gizmo's to control the positioning of the hot areas, or these areas could be defined by creating
an animated map mix from the source geometry using particle age to create a gradient through the
trailing particles, which is then used in the material assigned to the Rlobmesh object. Alternatively.
creating and animating light positioning will also generate the desired gradient which may yield better
rcsul ts.
Depending on what type of surface the lava is passing over, there may be the occasional burst of
flame. or even constant licks of flame around the leading edge of the lava trail. Depending on the mater-
ial, different smoke. as illustrated in the reference material, will rise from the leading edge and from the
lava trail itself. To create this, try using a Volume Select modifier on the Blobmesh object, using the
main lava Blend material's Mix map to generate the selection. From this. a n additional particle system
can be created and used to generate the fire and smoke. As this map follows the leading edge, the selec-
tion will follow this edge and gradually trail off, therefore confining the fire and smoke to this area.
Alternatively. increase the amount of detail in the ground plane and use an animated selection method
on it. so that fire and smoke emit directly from the burning ground material.
Grass and dirt

Introduction
Personally, I don't like gardening. Maybe it's because my fingers aren't green enough or I'm
developing an allergy to natural light or something, but I just don't feel the call to tend the earth
outside my house. I'm 'giving it back to nature'! This tutorial originated from one of the times
I was dragged (kicking and screaming) outside to cut the grass and, while trying not to run over
the electric cable (never done THAT before, honest!), noticed how the soil intermingled with the
grass; there wasn't a fade or linear transition from grass to soil, but each one reached out to the
other along the cracks in the ground. The result is this tutorial. Which reminds me. Better finish
mowing the lawns at some point this year!
230 EARTH

Analysis of effect
(a) The main things to concentrate on are terrain surface, color,
clumping, length and distribution, the surface can be rather
irregular, which has an adverse effect on distribution. For this
example, we will assume that the soil has dried out. Originally.
the soil would have simply cracked due to the lack of moisture,
but as moisture returns, because of the collation of water in
these cracks grass begins to thrive again in these areas, before
spreading outwards. (b) Unless the grass is watered regularly,
we tend to get intermittent patches of turf and dirt. These
patches are normally the cause of the grass roots losing mois-
ture and the soil drying out. An additional cause would be due
to excessive 'wear and tear' on the grass; for example on the
verge next to a footpath. The surface grass would be worn
down so much that it dies back, and the only remaining living
grass in this area would be in the cracks where no-one has
trodden on it. (c) The length of the grass is not consistent; we
get large and small clumps of similar grasses, and the occa-
sional blade that grows twice as fast and twice as high as the
rest. There is a general consistency in color across the ter-
rain, depending on if the grass was manually sown or not.
(d) Maintained areas, such as lawns and playing fields, nor-
mally consist of one or two varieties of grass, to give an unbro-
ken stretch of color, but if it is wild then many different types
for a while and longer blades of grass will populate the surface leading to a range of different shades,
becijme more visible, plus {he
occasional weed takes root
': styles and textures. This entire section, plus these images, may
sound like a gardening lesson, but it is important to under-
stand the distribution of the grass as we will need to use this
knowledge shortly.
The two materials for the grass and dirt will come straight
out of the 3ds max standard library; materials which have been
used time and time again, but hopefully when we have finished
with them they will not be all that recognizable. Using an
amended copy of the dirt texture in one of the materials, we can
use a gradient to control the main legwork of the transition,
with the cracks in the dirt enhanced and used to fade (in places)
from one material to the next (with additional noise from the
gradient used to break it up a little). This transition map will be
used as a map to control the blending of the two materials, each
of which will have material displacement from their own diffuse
texture, or an adaptation of it. We will also load in and distrib
Ute (using the Blend map we have created) blades of grass, which
were created in an additional tutorial, to add extra detail. These
individual blades will be added using a Particle Flow system,
Alle31~euo$ne Ado3 a3ua~aja~ ayl pue sauelsul
a y l o l sao6 luawpuawe sly1 'uleJJal ayl 40 adeys ayl a6uey3 01 JUPM ann 41 (s)aueld aseq ayl
40 A~lauoa6ayl puawe ue3 ann se uoisJaA paJapuaJ ayl ~ oAdo3 j a3uaJajaJ e pasn aAey a M (a6lnq
e 40 I I ~e aq Isnf IIIM~uawaxldslpayl asla) a~113a44a syool $1 os ~ $ I M
~ J O M01 luawa3eldslp IelJaleu
ayl JOJ. suo6Alod y6noua ale aJaylos (uo Jalel dn sly$ uJnlol lueM Aeu no/( auly3ew ~noA40
paads ayi uo 6ulpuadap '6u1aqawl1 ayl JOJ MO( o l las - ~a141pou UOI$P~IXOJ~ iuawa~eldsla
~~/ ayl
Aq pallo~luo3)tuawa3elds1pIelJalew 6u1snpauyaJ h1auoa6 SII pey seq Ado3 a3uaJajaJ alqeJapuaJ
a q l .hlawoa6 uo6Alod M O ~ aq yloq ue3 Aayl se sJalIlua
OMI a y l ~ osa3uelsul
j pasn aAey am :uo!+eurlo$ul
.$aSaJd UO!S!A!pqnS M O T a y l UO 72!13
pue y>els ay$ 01Ja!j!pow x o ~ d d vds!a e ppe '/(lleu!j
.p 01suo!peJa$l ay$ $as m y p o w a y l u! au!l
a3uaJajaU ay$ ahoqe y>e$sa y l o Ja!+!pow
~ alellassal
e ppe pue parqo y ! a pue sseJ3 aq$ Palas 'alqeJapuaU
g o u J n l 'sa!yado~dpalas pue y2!1>$ y 6 ! ~'saDuelsu! ay$
j o y j o q Palas '$J!a pue sseJ3 J! laqel pue sa>ue$su!
ayJ4o auo Jaq$!a Ado2 a2uaJajau .uo!gnq!J$s!a
. -- - * - - 1
-. - . I . . ,
. -
,- 7
s!y$ a>ue$sul ,
s d w n l ~sseJ3 $! laqel pue $ ~ a [ q o

$el4Alle~olIOU SI $1 os alfll e adeqs ayl pauJo4ap


:y4:&: -Y- . .zr= --
. . ."- +.re --I
-7T-
d%:
__- ___-
'-L 3
>anannoy 'ahey a M 4614 ool aq 04 A J ~ ~ u J ayl
O ~paau
~
IOU op ann (slsAleue aql UI paqlJ3sap se) saplued 6u1snaq
O$ 6~106aJP aM SV 'OlUO paulUla aq 01 S S P J ~JnO JO4 UleJJal
--
--- uo6Alod M O ~~ s e e
q paleal3 aAeq ann aJaH : u o ~ ~ t ? l u ~ o ~ u l
--
- '0 1 01y$6ua~$sz ay$ pue E.O o$ ssauy6nou
----
-
-
ay$ $as pue IeveJj alqeug '002 0%ale>S aya las pue
. --
-
A-

- -- y m s Ja!+!poyy aya 01Ja!j!pow as!oN e p p v .S 01$as


s6as Y$P!M pue y16uai q$oq q $ ! '008 ~ o$ Y$P!M pue
.- - OOL01y16uai ay$ las 'uo!$nq!J$s!a ssew v laqel 1
-. - - .
Is. r
" -"n . I 1 1 . . 1
put? ah!$!w!~daUPld P a$eaJ2 ' $ ~ o d ~ a !dl \o 1 ay$ U l

. ~ u a w a x l d s ! ple!Jalew a y l p ! e OJ v a ! y p o w
JuenalaJ u6!sse p u e u!eJJai a y l l o 4 / ( ~ ~ a w o aD!seq
6 ayla~ea~ l l3 ! a~M J S J ! ~NO l t r n d

's%u!llas%u!ls!xa
ayl JO auros saz!l!ln ley3 uralsrCs ap!l.Ir?daql 03 uo!j3as uo paqoq r? 6q pale~ana'ifaq ~ I ! M
L["~M 'SSI?.IBJO
sdurnl:, alea.13ol sdeur as!oN JO qTdno3 I? %u!snq ~ l ! r?[ dn lua!pe~%aql yI?aq oslr?LIRD aM .uo!laLrr.roju!
a1e3sLe.18 s,l! uo paseq sap!l.~r?dalnqpls!p 01 paj~aauazai\r?q aM lua!p1?.18aql asn [I!Mq 3 ! q ~
232 EARTH

P A R T T W O : The final thing to do to set up the scene is to create lights and a camera
and position them.

-2
Right-click the text in the top left of the
'Perspective Viewport and select Show Safe Frame.
Rotate and Pan this Viewport until the entire Grass
and Dirt plane fills the Viewport completely. Press
CTRL+C t o create a Camera from this view. Drag out a
Direct light in the Top Viewport so that i t s target is in
the center of the plane geometry. Label it Sun and
reposition it vertically in the Left Viewport so that it is
simulating light in the early morning, as illustrated.
Enable Shadows and set the light's color t o RGB
255,243,232. Increase the HotspotIBeam so i t (and the
FalloffIField setting) completely encases the plane geometry. Set the Shadow Map Bias t o
0.001 and the Size t o 1024.

!nborma50n:We have enabled the Safe Frame so we can see what the frame will look like with
the render settings (the output canvas size) applied, so when we create the camera we do not have
any background showing. A Direct light is being used as its shadows are cast linearly - they do not
fan out like Omni or Spot lights which suggest that the light is at a close proximity. The Hotspot
(and therefore the Falloff as it increases this setting as well) has been extended, else the intensity of
the Hotspot will fade away to the Falloff's distance. It has also been extended so that the Falloff
setting is outside that of the plane geometry, as this settinglboundary is the limit as to where
shadows are cast for this light. The Shadow Map Bias has been reduced to pull in the shadows tight
around the objects that cast them (as we are going to be having a lot of small objects in this scene),
and the Size has been increased to add more detail.

Enable Grid Snap (if not already enabled) and in


/9
" 'the Top Viewport, create a Target Direct Light to
the left-hand side of the planes and drag i t s target to
the center of the scene. Enable Shadows, set the
Multiplier t o 0.04 and color t o RGB 178,222,255.
Enable Overshoot and set the FalloffIField t o 700.
Turn off Specular, set the Shadow Density t o 0.6,
Shadow Map Bias t o 0.01, Size t o 256 and Sample
Range t o 4. Still in the Top Viewport, instance the
light so that i t is the same distance from the planes on
the top side, so that it is at right angles t o the
original. Reproduce this so you have four lights all at right angles t o one another.
Information: We have used low intensity lights due to the final amount that we will be using in
the scene. If the light intensity is too high, the entire scene will be washed out. We do not need
specular highlights from each light in our array so this option is turned off. The Shadow Map Size
was reduced to keep rendering times down.
GRASS A N D DIRT 233

Enable Angle Snap and set the angle snap setting


5 t o 2.5 degrees. Select all of the four instanced
lights and rotate clone them three times by
22.5 degrees t o form a complete ring of lights. Select
all of these lights (not their targets) and in the Left
Viewport move them up slightly. Shift-move them t o
clone a new ring so the new ring is positioned above
the original. Perform this task another couple of times
to create another ring of lights and another one
beneath the plane, pointing upwards.

Information: A lot of lights have been introduced to


create a global illumination lighting effect, with multiple lights emitting multiple shadows. Because
of the number of shadows in the scene coming from all directions, the collation of shadows around
detailed areas, such as the bases of the displaced dirt and blades of grass, will ensure that these
areas become slightly darker thanks to the amount of shadows being cast upon them. However, due
to the geometry count, this will crank up the render time, so you may wish to turn off the shadows
for some of the lights (you will have to make these unique in order to do this else all of the shadows
will be turned off). Alternatively, reduce the size of the shadow map further to speed up render
times or even halve the amount of lights in the lighting rig; in which case increase the Multiplier of
the remaining lights accordingly.

P A R T T H R E E : W i t h t h e scene elements complete, w e w i l l now set u p t h e materials f o r


our terrain blending.

5 Open the Material Editor and create a new Blend


material t o the first available material slot. Label it
Grass and Dirt and assign i t t o the Grass and Dirt
object in the scene. Add the Ground-Grass material
from the default 3ds max material library t o the
Material 1 slot. In this material, copy (not instance)
the Diffuse map t o the Displacement slot and set the
Displacement amount t o 30. Go into this map and set
the Blur Offset t o 0.02.
- -.
. . . . . . .. . . .. . . -.
. . .1
Information: We are using the standard materials from I---
............. . -. ....-.
T-.
..... -...-. -:
.I ......
.
,.:./

the 3ds max library purely to save time. If you feel that this
material is not up to scratch later on, try replacing the texture with some of your own. We have
blurred the displacement map so that the displacement does not appear jagged.
234 EARTH

Add the Ground-Grey-Dirt2 material from the


default 3ds max material library t o the Material 2
of the Grass and Dirt material. Set the
Displacement slot's setting t o 10 and add an Output
map t o this slot. lnstance this material's Diffuse map
"---
-.
- ____
. I
the slot in the Output map, and label the Output
- I - _ _ I
i map Dirt Displacement. Expand this map's Output
- * v .
rollout, turn on Enable Color map and amend the
, , curve as illustrated.
. - - -- - -
. r -
- -- -. *:. _ f_..-l
Information: 3ds max allows us not to be 'destructive'
wlth our scene ~fwe can help ~t-for example, cloning an
Instance of the map wlthln another map, whlch IS what we have done here We need to clip off the
dark and light reglons of the texture to add more deflnltlon to suggest where the cracks are In the
texture whlch, by amendlng the Output map, IS what we have achleved

--
-*----------
-A+ +3,'-- r
---
. ..
,.CCrr - - -
-
-.- . -
QAt the top of the material tree, add a Gradient
','~arn~ map t o the Mask slot of the Grass and Dirt

-11 ;:
material and label it Grass and Dirt Mixer. Set the W
- Angle setting t o 90. Reposition the flag at position 50
t o position 37 and set it t o black. Add additional flags

-
, :--<
- at positions 59 and 83 and set them t o RGB
114.1 14.1 14 and white accordingly. Set the Noise
-- Amount t o 0.4, enable Fractal and set the Size t o 2
--
-r +
.-

and Levels t o 4. Right-click the flag at position 59 and


-. . - - ------ -
a
-. - - -
1
:-=-: ,
instance the Dirt Displacement map t o i t s Texture slot.

Information: We have designed a transition from one


material to the next, using a Gradient Ramp map because it allows us to insert textures as flags
within the gradient. Instead of using a fade from one color to the next within the gradient, we have
used a fade which includes the intensified dirt texture. Because of this, the cracks in the texture are
added to the mask, so the grass texture (the black area in the screenshot) fades into the cracks of
the dirt texture.
GRASS A N D DIRT 235

P A E T FOUR: Next w e w i l l create and assign materials t o t h e particle emitters.

0Label a new material Grass Distribution and assign -*-----------.---


--., A,., ,..,-,T--~c ,,.n<rn..- :vr.. ,,-- u
:
"
-?
.

it t o the Grass Distribution object in the scene. Add


an Output map t o the Diffuse slot of this material,
label it Material Blend Invert, expand the Output
rollout and enable Invert. Instance the Grass and Dirt
Mixer map t o this map's Map slot.

Information: As the particle system we are going to


create distributes particles based on grayscale maps, we
have to invert the map as the grassed area is controlled by
. - . . .
the black area of the gradient. However, as this is ! - --...-
- ---.
- .
. _ _ ..- -.
, $

- --I
->
--.,,*
:.- ....
controlling the other material, which we do not want to
mess up, we can simply invert it by adding it to an Output map that has the ability to invert a map's
colors. Even though the Grass Distribution object is not able to be rendered, it still has to have the
material assigned to it so that the particle system can grab the grayscale information of the material
assigned to it.

q R L a b e l a new material Grass Clumps Distribution


1 ii and assign i t t o i t s namesake in the scene. Add
a Mix map t o the Diffuse slot, label i t Grass Clumps
and instance the Material Blend Invert map t o the Mix
Amount slot. Add a Noise map t o the Color 2 slot of
the Grass Clumps map and label i t Clumps Breakup.
Set the Source t o Explicit Map Channel, set the Noise
Type t o Fractal, Size t o 0.06, High t o 0.65, and Low t o
0.649. Expand the Output rollout, turn on Enable
Color map and set the curve, as illustrated, so it clips
off the dark and light areas of the map. Copy this map
t o the Color 2 slot, go into the copy, label it Clumps and set the Size t o 0.03.

Information: We still want the clumps of grass to be distributed in the same area, but we also
want them to be restricted to small patches. Therefore the initial Noise map breaks up the light area
of the (inverted) gradient, and the small Noise map creates small patches in the remaining light
areas. The result is an irregular distribution (due to the nested Noise maps) that is only in the grassed
areas, be it in the main grassed area or in a crack in the dirt where other grass is 'growing'.
I

236 EARTH
t
I
P A R T FIVE: Finally, we will load in some grass geometry and materials and design
a particle system t o distribute the blades of grass across the terrain.

4 4 Merge in all o f t h e Grass objects in the


EarthlZO-Grass-and-Dirt/Sourcelgrasses.max
file included on the DVD-ROM. In the Material Editor.
select a new material and click o n the Pick Material
From Object button and select the GrassOl object t o
load in its material into the Material Editor. In the Top
Viewport, create a Particle Flow system and label it
Grasses.

Information:The grass objects we have loaded have


been extracted from the result of a tutorial in this book, in
which we create and distribute the grass over a different
terrain using a similar technique. We have extracted the GrassOl material as we will be using it for
the clumped grasses later on (add the Source folder as a map path if the grass maps are not
correctly loaded).

Open Particle View and rename Event 01 t o


Grass. Select the Birth operator and set the Emit
Stop t o 0 and Amount t o 10000. Remove the Position
Icon, Speed and Shape operators. Add a Shape
Instance operator, click o n the None button and select
the GrassOl object in the scene. Enable the Object and
Children options, set the Scale t o 20 with 50 Variation
and enable Multi-Shape Random Order. Add a Position
Object operator and add the Grass Distribution object
t o i t s Emitter Objects list. Enable Density By Material
and enable Delete Particles in the If Location is Invalid
group. In the Rotation operator, set the Orientation Matrix t o World Space, set the X setting
t o 90 and Z t o 360 with 90 Divergence, enable Restrict Diverg. To Axis and set the X and Y
Divergence Axis t o 0.1 and Z t o 1.

Information: Here we have used the grayscale information of the Grass Distribution object to
distribute our particles (grass). Because all of the source grass objects are linked to the GrassOl
object, we only need to add this parent object as we can set the particle system to use the child
objects automatically. We have used Multi-Shape Random Order to distribute the blades of grass
randomly, instead of doing it in order. We have had to amend the Rotation operator to get the
blades of grass orientated the right way, and also to allow some random rotation so they are not all
facing the same direction. To see the grass in action (well, 50% of it anyway as we have a Viewport
% reduction set to 50%), set the Display operator to display geometry.
GRASS A N D D I R T 237

3 Turn off the particle system, copy and Paste ---------------


4
I' Instanced the Grass event. Rename the copy - %.'-
:c"
.-
..
... .
9 ~ rno-+ow:-=r.
7 ~

. .-
'
-.
-3.

.
,.nc*;-?r + .,-ar;-,

Clumps and wire it t o the output of the Grasses root +&-.


?'-' -..
.-: .
,.--
.,-

event. Make the Birth, Position and Display operators ~ $ i - ,~ + .-..~ ~


- ..> -
. ~'~-'~: .-?z.
unique and change the color of the particles in the
Position operator. Set the Birth operator's Amount t o
2000. In the Position Object operator, remove Grass
Distribution from the list and replace it with Grass
Clumps Distribution. Add a Scale operator and turn Kz-:
,, -. '.----~-
.... . . ."
,... --
off the Scale Factor's Constrain Proportions. Set the ..-,.%2
-. -. -. - - -. . - ". . -- ..., -..<-. .--.--.
.-,- ..:.,, . 3

Y and Z Scale Factor settings t o 30 and the Scale


Variation for all axes t o 20. Add a Material Static operator t o the event and instance the
GrassOl material from the Material Editor t o the slot in this operator.

Information: Again, instancing the original settings allows us to share settings across two objects.
However, there are some elements in the particle system which we need to make unique, such as the
emitter object. We did not need to make the particle type unique because of the Scale operator -
using this, we can simply overwrite the scale set in the Shape Instance operator. As, by default, the
Shape lnstance operator uses the source geometry's material, we need to overwrite this again (as we
do not want to break the instance) with the sampled GrassOl material; most clumps of grass are of
the same type of grass (as illustrated in the reference material), therefore a single material can be
assigned.

7 A T u r n the panicle system back on. Select the --..------------


I** r ; .r;?t r O D ' + b ? = 7 L . n r . d C ~ I s ~ * I sx l .h m * P n g

Distribution planes and the Grass objects and


hide them. Render off the scene using a small canvas
setting. You may feel that the dirt is too light due t o
the amount of lighting in the scene. If this is the case,
reduce the Diffuse map's RGB Level t o 0.7 or 0.6. You
may also want t o increase the detail in the material
displacement; if so, choose another preset in the
Displacement Approximation modifier.
Information: Just a quick step to tidy up the scene at the -..~ .-. __ ,.. -
.__-~n. ,+_. .
end of the construction process. Even though the
distribution objects are not renderable, it is always best to hide non-required objects so as not to
clutter up the scene. Didn't your mother ever teach you to clean up after yourself?! Performing a
low resolution test render is always essential to check out any problems. I'd advise you to disable the
particle system first before rendering to check out the displacement and lighting, and once this is
deemed to be okay, turn the particles back on and render away.
238 EARTH

Taking it curther
The main thing that we could do to improve our scene is to add some extra debris to it, such as rocks
situated in and on the surface. Depending on how they are positioned and how long they have been
there, the grass may have grown around the sides of the rocks, so we will have some strands of grass
in those areas pointing away from the rock. If the grass gets cut, there may be longer strands of grass
around these rocks where the blades of the grass cutter/mower could not reach. If the rock is partially
buried in the ground, then we may just see the top of it pecking through. with dirt over the areas
where the two items would intersect. The grass around this area would not be deformed. but it can't
grow over the surface of the rock, so a map designed to reduce the amount of particles around the
intersecting rock would have to be introduced.
Currently. the scene only extends to the extremities of the rendered frame. Extending it should
not be a problem, as it is simply a case of increasing the geometry size and therefore having to tile the
tcxturcs else the grass will look tiny (plus spread out lhinly) and the dirt cracks and grass texture
huge. Howcver. we will come across some tiling and repeals in the texturing and displacement.
Therefore, try mixing multiple grass and dirt texture maps and introduce additional gradients, to
blend with the current one, to control the transition from grass to dirt and vice versa.
Try adding additional plant life to the scene, maybe a few wild flowers that could be simple low
polygon geometry. and could be controlled by a separate distribution map so they are scattered (in
small bunches of about three to six flowers) irregularly over the scene. As we are using maps to con-
trol the distribution of our grass and. should you decide to introduce it, flowers, you could create a
whole image of flowers or grasses based on this technique, using different grasses for red green and
blue colors so you could even do a representation of a Van Gogh in dirt, grass and flowers with enough
scattered objects . . . might take a little while to render though!
So the next time you're asked 'politely' to mow the lawn. you have a valid 'can't - it's research'
excuse.
.sap!ued pue ~uawa3elds!p'sle!Jalew '6u1lapowuopewJojap 31seq40 uo!peu!qwo2 e asn IIIM
am svaga asayl alea~301.leue3 ayl ap!s6uole sunJ ley1 yledM0l e punoJe sse~640 sljnl ~ e l n 6 a ~ ~ !
pue yueq 6u!do(s ayl punox sasse~61n3un 40 ssew e 40 sls!suo3 ley1 JaleM ayl jo ap!s Jayp
yueq SSeJ6 e ppe pue (pap!/\o~dall4 pays!u!j ayl u! peol JO)padolanap am ley1 auas aql aye1
l l ! am
~ le!Joini s!yl ul mieM jo Apoq 6u!now ~ o l pue
s a3epns 6u!now e pale~aua6aM q 3 1 y ~
u! 'yooq s!yl u! uo layea le!Jolnl JaieM a3epn~6u!noyy ayl4o uo!qenu!luo3 e s! le!Jolnl s!yl
240 EARTH

Analysis of effect
(a) For this section of the tutorial we are going to continue bas-
ing the effect on the same reference scene. The reference mater-
ial provided concentrates more on the grassed areas and not so
much on the water effect, as this has already been covered,
however there is some material pertaining to this effect as we
need to sort out any additional floating debris in the water. First
of all we have a footpath which will have to be channeled into
the grass so that it runs alongside the canal. As this is a public
footpath, it will be well used and worn, so the sides of the path
will be ragged somewhat. (b) The first type of grass is a short
type that appears to be maintained. This is almost the same
color throughout without much patchiness (this is covered in
the Taking it further section), however it does contain a few
clumps of grass where the surface has not been all that well
maintained. (c) The grass itself will be cut using certain equip-
ment that will not be suited to cut at angles, therefore the
grasses along the dipping bank of the canal will be much longer
than those alongside the path. As these long grasses have been
left to grow wild for a substantial amount of time, we will have
large clumps of similar grasses/plants mixed in with different
I varieties of grass which have spread over the surface, leading to
a mixture of different greens over the banks. (d)Due to the close
proximity of these long grasses to the water, some blades of
grass will die and fall into the water. Again, as with the led
debris in the Grst tutorial, this floating grass debris will stay
rather close to the bank as the water does not move very fast at
all; the surface may move quickly due to the winds, but this does
not affect the motion of the debris which will just pass over the
displacement without moving laterally, and will just rotate ever
-- . because of lack of maintenanc so slightly.
3n the banks of the-canal, a wide variet After loading in the initial scene - the final scene from the
of long grasses and plantlife has g5&
- -- - --- ----
first part of this tutorial - we can take the original water geo-
metry and modify it to form one of the banks, by using basic
deformation to create the curved side. After which we will create
a channel along the middle of the top of the bank using displace-
ment, which we can also use as a Mix map to control the blend-
ing of two materials - the grass and dirt materials. The grass
clumps and long grassed areas will be distributed using parti-
cles based on greyscale information of materials assigned to
cloned copies of the bank which will be used as distribution
objects. The grasses themselves will be simple low polygon
deformed planes that we will assign pre-created textures to,
then deform and replicate to create different versions ol the
aq ol 6ulpaau aJo4aJayi 'dew m n ayl UMOP sAe~yl6ualsunJ 6u1pualqle!Jalew ayi lo~luo3
01 asn 01 6u!o6 aJe aM lua!pe~6ayi se owz!6 dew m n ayi paieloJ aney a m : u o ! ~ e u r ~ o ~ u ~

.pajeasnll! se yueq p a ~ ~ n
a y3j ajea~:,o j y q e u ~ o auo
p pua a y j 6 u ! d d o ~ aJojaq
p alu!l e
u! w a y $ anow pue syun OOP jnoqe Aq way1 as!eJ ' u a ! q o
JajeM a y j JaAo sauo a y j w o ~vje d e sju!od l o ~ j u o 3
s,Ja!j!pow a j j a y j jo Ile ualas ' U O ~ M ~y !aAi a y j U I
' Z o j u a y j o a y j pue g o j sju!od y j 6 u a i a y j $as w o u n q
sju!od 40 JaqwnN $as a y j uo y3!13pue ~ a ! j ! p o w (xoq)ajj
ue ppe ' j x a y~ e 6 e ysaw a y j y j o j o w z ! 6 a y j ja6 o j
u o u n q y j a y j u o ys!l3 . a s ! ~ y 3 o p - ! j u saa~6ap
e 06 o w z ! 6
a y j ajejoJ pue paiqo-qns o w z ! 3 sj! o j u ! 09 y e j s
a y j o j Ja!ypow d e w m n e p p v 3JenbS ssal JO aJow
suo!jeJay a y j daay o j 09 o j s 6 a ~y j 6 u a i a y j $as
pue OOOE 01 aueld s, loyuea a y j j o q ~ 6 u a aya
i $as

U o d ~ a ! /ay]
\ U ! ~ U ! ~ J OaJP
M aM UaqM
aiepdn 01 a w ! l aye1 JO Ma!n Jno a m s q o plnoM ley1 spa!qo hessa3auun uapp!y JO 440 p a u m osle
aney aM x a u s6u!yl daay 01 isnlAdo3 ayl w o ~ 4le!JaleLu ayl paAowaJ aneq aM 'Ally6!ls I! Aypow
pue hlawoa6 6u!ls!xaaql Ado3 Aldw!s ue3 aM 'dn Paul1 s! 6u1ybC~a~a aJnsua 01:uo!qt?ur~o$u(

'~a!q~ o o y u e aa y ~
0%le!Jalew ~ N O aNy j 6 e ~ puep u o n n q le!Jaaew l a 9
a y j u o 7313'le!Jajew yuelq e palas ' ~ o j ! p 3le!Jajeyy
a y j u a d o .Ado3 s ! y j w o ~sJa!j!pow
j Jnoj Ile anowatl
' ~ o y u e aI ! laqel pup v o d m a ! do1 ~ a y j u ! s$!un OOEZ
d n Alle>!van j ! anow ' u a i q o a3ejJnS JajeM a y j Ado3
'sjy6!1 a y j ap!y pue wajsAs ap!jJed 6u!js!xa a y j g o
u J n l ' ( a l ! j pays!u!j s,.iaje/y\ a3ejJnS 6 u ! n o w a y j o j
I ~ ~ ! I us!~aP~ !sj ! ~W) O N - a ~ a41 a u o P ~ P ~ I a1!4~ U !
xeui.~~e~s-sasse~b-1 z / a ~ ~ n o s l s a s s eZIqwe]
~ ~ - l ay j u !
peol JO (1 Jaqwnu) le!Jojnj JajeM a3ejJnS 6u!now A
a y j w o ~aj u a 6u!js!xa
~ ~ n o Ay j ! anu!juoD
~

.leue:, a y l u! spuaq apqns Ma4 e l n d 01


saueld asayljo Ile 6u!ur~o~ap pue 'h~lawoa6JaleM 6u!ls!xa ayl6u!h4!pow /(q leue:,
a y l j o sy ueq a y l alean pue auax snoya~da y l u! peol l l ! am
~ V J ! ~NO L M W ~

.sa[3!]~r?dpalnq!Jjs!p ayl uo ~uaruu8!ssr?Icpalrxu rrrop


-uaJ pur? i(J3amoaZ pa3uclsu! Bu!sn sasss~% %uolarll m04l s!Jqap %LI!JROU ayj aleam 01 rrralsLs a13!yed
syqap Zu!ls!xa aql JO uo!~r?ldepeur? asn II!M 3~ IC[[eu!d ' S S R J ~JO su%!sapluaJau!p 04 u%!ssr?01 le!Jajeur
242 EARTH

positioned in the right place (we could also have left the gizmo the way it was and rotated the map
instead by amending a setting in the map's Angle setting). We have placed the map beneath the FFD
modifier so the map could be deformed as well. If we had placed it on top of the FFD modifier the
planar map would be smeared down the side of the bank instead. We have reduced the amount of
points in the FFD modifier as we did not need them. You can only go as low as two points - one for
each end of the object. When deforming the object, ensure you have both points selected by
marquee-selecting all relevant points and not just CTRL-clicking individual ones in the Left Viewport,
else you may not select both points on either end of the object, which is what is required.

3 A d d a Displace modifier t o t h e stack, set t h e


-'Strength t o 30 and enable Use Existing Mapping.
Open t h e Material Editor and create a n e w Gradient
Ramp map in a n available material slot. Label this
map Footpath and set t h e V Tiling t o 3. Set t h e Noise
Amount t o 0.03 and enable Fractal. Set flags 0 and
100 t o white, relocate t h e flag a t position 50 t o
position 46 and create flags a t positions 43, 57, and
60. Set t h e flags at positions 43 and 60 t o white (100
is already white) and t h e others t o black. Instance this
map t o t h e M a p slot i n t h e Displace modifier. In the
Left Viewport, drop this object d o w n about 20 units.

In*oamation: We are using the gradient to create a channel in the deformed plane; actually, we are
leaving the channel where it is and displacing everything else on the plane as we have got a white
exterior to the gradient (displaced) and a black channel (not displaced). We have enabled Use Existing
mapping so that the deformed mapping displaces the geometry outwards and not just upwards. We
have dropped the Bank down so that it fully intersects the water.

Add a Noise modifier t o t h e stack and set its


'-Scale t o 560. Enable Fractal and set its X and
Y Strength settings t o 100. Select Pick f r o m t h e
Reference Coordinate System menu and choose
t h e Water Surface object t o place it as an option in
t h e Reference Coordinate System menu. Change
t h e Use Pivot Point Center t o Use Transform
Coordinate Center and, w i t h Bank01 still selected,
and Water Surface selected i n t h e Reference
Coordinate System menu, click o n Mirror.
GRASSES 243

Select Y as the Mirror Axis, Copy in the Clone Selection group and click OK t o accept these
settings. Change the Use Transform Coordinate Center back t o Use Pivot Point Center,
unhide the Water Debris Distribution and select it, plus the t w o Banks and the Water
Surface plane. Assign a Noise Modifier and set the Scale t o 3000. Enable Fractal and set the
Iterations t o 2 and the Y Strength t o 1000. Hide the Water Debris Distribution object again.

Information: The first Noise modifier is designed to add some irregularity to the shape of the
bank by using a low intensity noise. We have changed reference coordinates so that we can use
the Water Surface's pivot point as a mirror axis for the copy of the bank. We have copied, and not
instanced or referenced, the original Bank object as we need to apply a Noise to both of them, and
the water, so that they all deform together to create an irregularly shaped terrain which the canal
flows through. If we used a reference or instance, the result would be a mirror of the Noise which
would bring in the sides of the canal which is not what we want.

P A R T T W O : With the bank geometry set up, we will use the map designed t o
generate the path trench t o mix two standard library materials together (the grass
and dirt) and assign them t o the Bank objects.

---------------
'-L..
5 Open up the Material Editor and add a Blend
material t o an available material slot. Label i t Bank.
.&r ~
Y ~ . +
I 0 , ~ r- -3 h~ ,r ~ d u r -1 .~
- m~
1 3+
no
r.I * * B T :.
Instance the Footpath map into its Mask slot. In this -
..,..
-* %

<::Zz7
material's Material 1 slot, add the Ground-Grey-Dirt2 --, --:
-?

" -
material from 3ds max's default materials library and --
---:
--:

..-.
add the Ground-Grass material t o the Material 2 slot ---
from the same library. Assign this Blend material t o --:;
--

r7--.
the t w o Bank objects in the scene. T-7

Information: We are going to start off with an existing


material setup that has the basic parameters already
'lIY:T-'.
r
. . .. , ,"~~~~
r
.- --.----
. * :;. .-;:-..b.
. ,? 7 -
.i

-,-..
< .-
. -..--
.,
..,I.. 1.

established for us. After which we can modify these quite


easily to remove any repetition in tiling texture, and to tint the maps slightly in places if desired.

5 Go into the Ground-Grey-Dirt2 material in the


Material 1 slot of the Bank material and click on
the Bitmap map in the Diffuse slot. Click on the
Bitmap button in this map, add a Mix Map t o this slot
and Keep the existing map as a sub-map when
prompted. Name this map Dirt 1 & 2 Mixer. Click on
the Bitmap map in the Color 1 slot and add another
Mix map, keeping the old map as a sub-map again.
Label this new Mix map Dirt 2 Mixer. Copy the Bitmap
map in the Color 1 slot t o the Color 2 slot. In the
244 EARTH

Bitmap map in the Color 1 slot, set the U Tiling t o 6 and the V Tiling t o 18. In the Bitmap
map in the Color 2 slot, set the U Tiling t o 4 and the V Tiling t o 12. Expand the Output
rollout for these t w o Bitmap maps and set the RGB Offset t o -0.2. Add a Noise map t o the
Mix map slot and label i t Dirt 2 Mixer Control. Set the Source t o Explicit Map Channel and
set the V Tiling t o 3. Set the Noise Type t o Fractal with a Size of 0.06, High o f 0.7, Low o f 0.3
and 10 Levels.

Information: Here we have created a map tree, forcing the original map as a sub-map several
times as we need to mix it to remove any tiling repeats. The map has to be tiled else it will appear
too big in the scene, giving the impression that the scene is very small. Therefore, to remove the
tiles, we mix two copies of the same map -one with a low tile and one with a higher tile. The RGB
Offset has been reduced to darken the map down a little without having to re-edit the map. Using
the Noise map we can mix the two maps together at random therefore creating a map with no
visible repeats. The Noise map has its High and Low settings amended to clamp off and fade from
one color to the other, and therefore one map to the next, else it would just smudge the maps
together. Each map is tiled in a multiple of three as the Bank objects are just over three times longer
than they are wide.

--------------- In the Dirt 1 & 2 Mixer map, copy the Dirt 2 Mixer
7
*Li' '-1 r.oL,+o+==3p. .''***s---3r.d.,r~r~f--3Jo

into the Color 2 slot and label it Dirt 1 Mixer.


Replace the file in both o f the Bitmap maps in this
_ ..,.
>. 3 . -
-.
Mix map's Color 1 and 2 slots with the grydirtl.jpg
file that comes with 3ds max. Rename the copied Dirt 2
Mixer Control t o Dirt 1 Mixer Control, set the Size t o
0.05 and the Phase t o 5. Copy this Noise map into the
Mix slot of the Dirt 1 and 2 Mixer map and label
it Dirt 1 and 2 Mixer Control. Set the Size t o 0.08, the
.-,-. ." > - .
-. Low t o 0.4 and the Phase t o 10. Instance the entire
map tree in the Diffuse slot into the Bump slot and
set the Bump amount t o 60.
Information: As both grydirtl.jpg and grydirt2.jpg maps are similar, we can mix them both
together to create a map that does not show any repeats. We have used slightly different Noise map
settings each time to break up the maps randomly, so one Noise map overlaps another and so on,
creating a totally random map. The Bump map setting has been increased because we need the
surface to appear rougher.
106 Apea~leahey am slasse ayl asnaJ Aldw!s ue3 aM - sly
MaU P U! peOl O l 6u!~eylnOyl!Mdew paJOlO3 MaU e al~Jaua601 Sn SMOlle dew l u l l 93)j a q l 6 ~ 1 p p v
.s$eada~ 6u1yqAue lnoyl!M dew anblun Jayloue ayew 01 as!oly pue slasHo ayl JOJ salqe!Jeh wopueJ
leuo!l!ppe awos pappe pup dn las Apea~leahey aM aaJl dew ayi pa!do3 ahey aM aJaH :uageurJolul

.dew ayx O l Mollah aJ0W ppe 01 O'SSZ'S6 838 01JOlO>~ 3 . 3 ~ s,dew


6 xu!$ S!yj
puawe pue paxdwo~duayM dew-qns e se dew s!yx
daa] -dew % u ! l a 3 8ue ppe pue uounq x!yy a y l uo
4x13'dew p a w l sseJ3 ayx ul .OV ox aseyd pue so'o ox
az!S sx! puawe pue (o~xuo3 Jax!yy p a w l sseJ3 se dew
as!oN x!yy a y j aweuaM .dew paxu!l sseq ayx j o 101s
z JO~ODa y l u! dew dewx!g ayx J O osle~ pue dew s!yx
u! xasgo A pue n ayx JOJ Jaqwnu wopueJ e u! M O J ~ ~

pue '6u!l!x A pue n JOJ 9 pue z ox 101s 1 JOIOD aqx u!


dew dewua ayx u! 6u!l!1 ayx puawv .paxu!l sseJ3
s!yx aweuau .dew Jax!yy xu!l sseJ3 g sseJ3 ayxf
".
L-- -?E'- , , I .
...- .............................
or'".'. '. L.,+.. I . . -."" 7
j o 101s Z Jolo3 a y l oxu! dew Jax!yy sseq ayx ~ d o 3

.6u!uo!l!sods,dew ayl lo4 lasljo wopueJ e 6u1snKq a3egns ayl 6u!z!wopue~


osle aJelnq 'az!s dew XIU as!oly .1a6~el
pue (syqap llews ayq aJow ~eaddeI J ! ~ a41 ayew 01 aJo4aq
6u!uas 6u!q!l y61ye papaau aM) 6u1ilas6u!l!l Jarno( e 6u!sn ale aM awl1 s!yl Is6u!~aslua.tajj!p y l ! ~
paqle 'dew sse.16ayi uo ysel awes aql pa~u~ogad ahey am 'dnlas dew u p ayj ~ I ! Msv :ua~aeur~olru!

'OZ j o aseyd e y v slahai


~ 0 1 pue E.O 40 ~ o'L'Oi 40
y 6 ! '~1 ' 0 j o az!S e y j ! IePeJj
~ ox adA1 as!oN ay%xas .E o j 6u!l!l A ayx $as pue lauuey3 deyy
x!>!ldx3 01axnos ayx xas .lo~xuo3Jax!yy sseJ3 z! laqel pue 101s dew x!yy a y j ox dew as!oN
e p p v 's6u!jxas xasgo A pue n a y l puawe A ~ w o p u epue ~ g o j 6u!l!l A a y i pue 2 ox 6 u y l n
ayx xas 'xols z ~0103ayx u! dew dewx!a aql u( .sbu!xxas lasgo A pue n a y l puawe Alwopue~
pue E 016u!l!1 A ayx xas 401s ~0103ayx u! dew
dewx!a ayx UI .xols z ~ 0 1 0ayx
3 ox 101s 1 ~0103ayx
u! dew dewy8 aqj Ado3 .Jax!yy ssel3 dew x!yy Mau
s!yx laqel 'u!e6e dew-qns e se dew plo ayx6u!daay
'dew x!yy Jayjoue ppe pue xols 1 ~0103a y j u! dew
dewva ayx uo 7313.Jax!yy i u ! l sseJ3 g sseJ3 dew s!yx
._ -:, aweN .paxdwo~duayM dew-qns e se dew 6u!y!xa
ayx daay pue xols s!yx ox dew x!yy e ppe 'dew s!yx
u! uoxjnq dewx!g ayx uo yx13'xols asng!a a y j u! dew
dewya ayx uo 4x13pue le!Jajew yuea a y l j o xols z
". - ? S T . 4 .
-- .
C>.'D., 2.j..
..--,LC , , . ........
. . ,< le!~aaeyyayx u! le!~axewsse~3-puno~3 ayx oxu! 03 , r;"
SPZ S3SSVtlE)
246 EARTH

-------....--------
tam. Lc3, rOC1+U,F=P. c . C l + . , l ~ ~ K .a , - m t l s q o q f)gAdd a Noise map t o the Grass & Grass Tint
\i Mixer map's Mix slot and label it Grass &
Grass Tint Mixer Control. Set the Source t o Explicit
Map Channel and set the V Tiling t o 3. Set the Noise
Type t o Fractal with a Size o f 0.5. Set the High t o 0.87,
Low t o 0.185 and Levels t o 10. Instance the Grass &
Grass Tint Mixer map tree into this material's Bump
slot and set the Bump amount t o 60. Finally, change
the Shader type t o Oren-Nayar-Blinn.
- -
~ : .~....~
.. ... _ -----~..-
. .. .... ,-- , -
- ,,
-. - .
/ .
.1: Y , __ ... -- _..
_.:- -,.,. .,
,
Information: The use of the less clamped Mix Noise map
causes the two tinted green maps to blend more into one
another which gives us a 'slightly maintained' look - i.e. the majority of the grass is okay, but some of
it has started to die. The Oren-Nayar-Blinnshader has been used to diffuse the shading of the surface a
little more and to make it look a little more textured.

P A R T THREE:Next we will model out the basic grass blade geometry and create
materials to assign to them.

-mu-------------
?,. , : -,.~-?\ r ac++c,,rz~-2w , .<.c.<.< ,!,,-.---: ..
, > .-= z.z-7u 4 4 In the Front Viewport, create a Plane primitive
with a Length of 200 and Width of 20. Set the
Length Segs t o 4 and the Width Segs t o 2. Label this
object GrassOl. Collapse the mesh down t o an
Editable poly. In the Top Viewport, g o into Vertex
sub-object mode, select the outer vertices and move
them down a little t o form an upturned V. In the Left
Viewport select rows of vertices and move and
rotate them t o bend the plane over so it resembles
.L . . . . . . -.---
. a drooping blade of grass. Finally, i n the Front
- --
I I I
~~-~~
-.-... ~ , ~

.
.,
. . . _i. , .,.
Viewport, reduce the width o f the grass blade by
selecting the outer vertices and moving them in
towards the center.

Information: Here we have modeled the outline shape of a simple blade of grass. We need not
worry about fine detail as the object is going to be very small in the scene, and is also going to be
replicated a few thousand times so we need the geometry count to be as low as possible.
GRASSES 247

4 7 Go t o the Hierarchy tab, click on the Affect


' /-Pivot Only button and move the Pivot down so
that i t is just above the base o f the object. Deselect
the button Clone this object six times and amend the
vertices on each so some droop more and some stand
taller as illustrated. Finally, select Grass objects 02 t o
07 and link them t o GrassOl.
Information: We have relocated the pivot point so that
the grass objects are distributed with this point touching
the distribution surface. If it was not relocated then,
. . . -. .. .
. ... - - . -
--
- , .
.-.- - .;I . ..,.- . --7- .
-- <
.
,,

when the grass is distributed over a surface, half of it


would be occluded. Grass objects 02 to 07 are linked to Grass 01 because of the way Particle Flow
distributes objects - it can pick an object at random from objects linked to the chosen object.

4 7 Open the Material Editor and in the first blank


,'slot add a Double Sided material and label i t
GrassOl. Set the Translucency t o 50 and label the
Facing Material GrassOlA. Set the Glossiness t o 13.
Add the grass07-diffuse.BMP map t o the Diffuse slot
and the grassOl-opacityBMP map t o the opacity slot.
Add an Output map t o the Specular Level slot and set
its RGB Level t o 0.46. Instance the opacity map t o the
slot i n this map. A t the t o p o f the Double Sided
material, instance the material i n the Facing Material
slot into the Back Material Slot.
Information: We have created a Double Sided material and not just enabled two-sided in
a standard material so we can simulate some translucency, where the light passes through the
grass and illuminates the other side. The colors of the diffuse texture maps were derived from the
reference material included on the DVD-ROM. We have had to use a mask for the Specular
Level else there would be highlights where the object would be transparent.

Copy this Double Sided material another


'*couple o f times and label them trass0l. 02 and
03 accordingly. Also, label the sub-materials
accordingly as well. Replace the grass07-diffuse.BMP
(etc.) maps with grass02-diffuse. BMP and
grass03-diffuse.BMP maps and so o n for the opacity
maps, so each map f i t s the right material. Next, clone
these three materials another four times and label
them 04 t o 07 accordingly. Add RGB Tint maps as we
did with the Bank's grass maps and tint the maps
slightly so they do n o t appear like the original maps.
248 EARTH

Information: Even though we have only got enough maps for three materials, we can add extra
maps to tint the assets that we have to create some brand-new materials. We should now have a
total of seven individual Double-Sided materials labeled Grass01 to Grass07 with sub-materials
labeled from GrassOlA to Grass07A which a particle system can use to pick at random, so therefore
we now have 49 different strands of grass - seven different models and seven different materials all
mixed together.

PART F O U R : We will n o w create and distribute t h e grass over t h e canal banks and
also d r o p some extra debris i n t h e water.

--------------- -
m-:
- A . ST- rntr+o,F-r. vnrdJ---r. . -s,,-.s=--- 4 )r Select the Bank01 and Bank02 objects and
-- --
I -01

-- b instance them, labeling them Bank01 Grass


J

Distribution and Bank02 Grass Distribution


m i ,
- - ...--- --.
-
b s . , respectfully. Create a new material, label it Bank
. -. - - .-. . - ...r Grass Distribution and assign i t t o these two objects.
. -z,-; ry
:
f
- --.- Add a Gradient Ramp map t o the Diffuse slot and
r
-..- L

relocate the flag at position 50 t o position 41. Set


R
- -- , -.----- this and the flag at position 100 t o black. Add a flag
.---- ----
-r- *-
..c
"
at position 27 and set this and the flag at position 0
, , .
f &-: - - --.-_-I .- ,l...,. . t o white.
Information: As ~llustratedIn the screenshot, th~s
gradlent shades the copies of the Banks so that the slop~ngareas next to the water are wh~te,tell~ng
the part~clesystem (we are golng to create shortly) that part~clescan be created there

I-*,
-
.-------------- .F -1 nom+o,rr +

.., 1 5
---.
-
Select the BankOl and Bank02 objects and
o - a c ~ = ~ r r ~ , - a ~ s ~ - ~
r#
-
instance them, labeling them Bank01 Clump

FA! ---- . ." Distribution and Bank02 Clump Distribution

--
i -
,..
7

- . --+. .--
b =. 3 . . - respectfully. Label a new material Bank Clump
7
-
. 2

. - - - -. "-- -
. r - - r-
?-
z - - Distribution, assign i t t o these two objects and add a
.- - - - - 7
Noise map t o i t s Diffuse slot. Set the Source t o Explicit
r. --PC
----
I-

.
5-.-.- s
'
--
Map Channel, V Tiling t o 3, Size t o 0.01, High t o 0.391,
-7

--
- -.- -r--- Low t o 0.39. Swap the colors and add a Mask map to
--
--.--
, -.-.
-7

---
--7-

. . . . .. . . . . 1 .
the Color 1 slot. Instance the Footpath map into the
I - ,.-- ------ ,
+-
.-. i
. Map slot and enable Invert Mask. Copy the Bank Grass
- - I I

Distribution Gradient map into the Mask slot and


rename it Bank Overlap. Set the V Tiling t o 3, set the Noise Amount and Size t o 0.2 and
enable Fractal. Move the flag at position 27 t o position 16 and the flag at position 41 t o
position 29.

Information:We have used previously created assets (the footpath and a modified version of the
bank grass distribution) to 'subtract' from a Noise map to generate a speckled map that will be used
GRASSES 249

to distribute small clumps of grass over the grassed areas. So there is no abrupt transition from the
short grass to the large, the short clumps have been extended into areas containing the larger
clumps.

Press 6 t o open Particle View and create a new


"7 Standard Flow. Label this BankOl and rename
Event01 BankOl Grass. Select the Birth operator and
set the Emit Start and Emit End t o 0, and Amount t o
8000. Remove the Position Icon, Speed and Shape
operators. Add a Position Object operator, add the
BankOl Grass Distribution t o the Emitter Objects list
and Enable Density By Material. Set the Display
operator t o show Geometry.

Information: We have removed the unnecessary


-.+.. . . - . .
i- -
~ . . ~-
.
..-"L ,. .
, .
,
' . ... . .
- -
.-. " - , .
. . .- -e--
-
-i- ..,
:.

operators as we do not need the particles to move, nor do


we want a standard particle shape. By using the grayscale information in the material assigned to
the emitter object, we can distribute the particles over the white area(s) on the object and the
particles will also reduce in density the more towards gray and black we progress.

4 QSelect the Rotation operator and set the


'"'orientation Matrix t o World Space. Set the X
setting t o 90 with a Divergence of 45. Enable Restrict
Diverg. To Axis, set the Y Divergence Axis t o 0.1
(X is already set t o 1) and Z t o 1. Add a Shape Instance
operator t o the event. Click on the Particle Geometry
Object's None button and select the Grass01 object.
Enable Separate Particles for Object and Children, set
the Variation t o 50 and enable Multi-Shape Random
Order. Add a Material Static operator t o the event and
enable Assign Material ID and Random. Create a
MultiISub-Object material named Grasses with seven material slots, instance each Grass
material into the slots i n this Grasses material and instance i t into the slot in the Material
Static operator.

Information: We have set the Rotation operator to rotate the grass geometry around the right
way and to add an angle variation of 45 degrees based on values up to 1, with 0 being the least
influential (i.e. no variation) and 1 being the most (the maximum setting that we have set of
45 degrees). As we have multiple objects linked to the one main Grass object, we can set the system
to pick a child shape at random (the Random Order setting instead of being distributed in order,
e.g, spelling out a name with particles). All of the Grass materials are also chosen at random via the
randomly chosen Material ID which corresponds to an ID in the Multi/Sub-Object material.
+ Q Hide t h e Grass objects. Copy the BankOl Grass
4 event, Paste Instanced i t and rename t h e copy
BankOl Small Clumps. Make the Birth, Position Object
and Rotation operators unique. In the Birth operator,
set the Amount t o 10000, remove t h e BankOl Grass
Distribution from the Position Object's Emitter Objects
list and replace it w i t h t h e BankOl Clump Distribution
object. In the Rotation operator set the Divergence t o
180 and set t h e X Divergence Axis t o 0.1. Add a Scale
operator and set t h e Scale Factor and Variation t o 25
for all axes. Wire the output of the BankOl root event
t o t h e input o f this event.
In*srma?r~q:We have used instancing for the entire cloning of the event so that we can keep
some of the original operators, as the settings can be shared and are relevant for both distributed
particles. However, some are not the same, such as the number of particles and the objects used to
distribute them so these are made unique and their settings amended. We have also added a Scale
operator to shrink the particles down a fair bit, but without affecting the instanced Shape Instance
operator.

-
- -
--- -
-
-*----------

- - I

--
-1
- *,.I--~ 7 ~ C O and
/-
P Paste
~ Instanced this event. Label the
v new copy Bank01 Large Clumps and make the

-
- -
-;- .- Birth, Position Object, Scale and Material Static
.- -
s- 2
- operators unique. Set t h e Birth's operator's Amount

-
x -
- - -
...
r:
1 -
--.
:-
--- .
I,
t o 1000, remove the Bank01 Clump Distribution from
-
the Position Object's Emitter Objects list and replace
i it w i t h t h e Bank01 Grass Distribution object. Enable
- Distinct Points Only and set the Total t o 100. Set the
C
-
. -. y-.--
.a
Scale's Scale Factor t o 150 for all axes, turn off Scale
. .. -. -- .
-. - - - :---: Variation's Constrain Proportions and set X t o 300
-6
----
and Y and Z t o 30. lnstance copy the Grass01 material
from the Material Editor t o the material slot in the Material Static operator in this event
and turn off Assign Material ID. Wire the output of the BankOl root event t o the input of
this event.
Information: Here we have also made the Display operators unique and have amended each
one's colors so that we can see the distribut~onof the objects more easily As before, instancing has
been used to share settings across operators, but some have to be made unique so that we can
amend their settings The Scale operator has Constram Proportions disabled so that we can get
some ~rregularwidths of the grasses/plants, and a single material is assigned to this distribution so
that we get patches of solid color to suggest multiple bunching of grasses or plants over the bank
GRASSES 251

7 1 Select all of the BankOl's events and wiring and ~---.-;+-To<Z~%T;~~:~~----


,,-=uo-~.. ?.-.

instance them t o create a new particle system; 0

-1
',' .
rename it Bank02 (if necessary). Rename the new '
1
events accordingly. Make all of the Position Object , ,7

--
+?
operators in the Bank02 events unique and replace the : -:
-e.
$ .
8.:.--:- - :
Bank01 scene objects in these event's operators with , ..-, . . I -.
. . .
their Bank02 counterparts. Make the Rotation operator s --
6L- :
in the Bank02 Grass event unique and set the Z
Orientation t o 180. Wire the new events t o the Bank02 5.
root event if the wiring has not been properly cloned. r n Y - ~ - - . ~ - . - .-
, ..
---..-..--..-.- . -.---
.. .- -
" -.
, . -.e.-'
.-,:-
_I- - . .,
\ -
.:
Information: Instead of duplicating the entire system,
there are some events in the initial Bank system which could be used to distribute the grasses on the
opposite sides, by simply doubling the Birth operator's amount and adding the distribution object to
the correct Position object. However, this would not work for the Bank Grass distribution as the grasses
have to point in the correct direction, so the rotation operator would have to be unique. Therefore . . .

Remove the wire between the Bank02 root


----------------
23"
,-.. .:=;-T:rno+o.,r-:r .*erl.ir.,:..8:-=uG7.~

-event and the Bank02 Grass event, and delete


the Bank02 Small Clumps, Bank02 Large Clumps and
Banks02 root events. Wire the BankOl root event t o
the input of the Bank02 Grass event. In the BankOl
Small Clumps event, double the Amount in the Birth
operator and add the Bank02 Clump Distribution
object t o the Position Object operator's Emitter
-
, .. .

Objects list. In the BankOl Large Clumps event, double ;


the Amount in the Birth operator and add the Bank02 F* . . . _ .__
" -. . - .-. ., ---
. ~ .,-- <,
, . .
.-

Grass Distribution object t o the Position Object


operator's Emitter Objects list.

Information: A little bit of house cleaning and the system looks a lot tidier and concise, and
even though the render times would not make much, if any, difference it is still worthwhile to keep
things this way so we do not get lost later on should we decide to re-visit the scene.

3- 3,.
I
Hide all of the distribution objects in the scene
as they are no longer needed. We can now
re-enable the Debris-Leaves system. In Particle View,
copy this system, Paste Instanced i t t o create a new
system and label i t Debris-Grass. Make the Birth and
Position Object operators unique, set the Amount t o
1000 and overwrite the Shape Facing operator with a
Shape Instance operator. In the Position Object,
amend the Seed. Remove the Material Static operator
and replace it with an instance of the Material Static
operator from the Bank01 Small Clumps event. In the Top Viewport, create a Plane with
a Length of 200 and Width of 20 and label i t Grass Debris with the Length and Width Segs
set t o 1. Add this object t o the Shape Instance operator in the Debris-Grass system and set
this operator's Variation t o 50. Finally, hide any unnecessary objects and create a slow
moving camera panning over the water, making sure not t o see any background or sky in
the process, and render out the animation.

Inz~*mir*ion: Again, we can re-use assets that we have already created. The original debris system
was designed and created in the original water surface tutorial and the majority of this can be
re-used as they also apply to the extra debris that we are introducing. The only things that need to
be amended are the particle type,. which is a flattened out version of the grass geometry, a higher
number of debris for this type and different materials which are instanced from another event
having been previously created.

The end result of our canal is a quite convincing effect. although it loolcs rather 'clean'. The grass
seems like fresh turf and the long grasses are very green and saturated, so you may feel like reducing
the saturation of the colors either by amending the texture maps or changing the tint maps a little to
reduce their intensity. The bank texture could be dirtied up a little more by mixing a n additional soil
map or two to the overall material tree by using a large Noise map to control the blending.
As well as reducing the saturation of the grasses on thc bank, due to the debris being sat in the
water for some considerable time, they will have become waterlogged and will therefore start to
degrade. The grass especially will fade and become more translucent. so try to create an additional set
of materials for this debris that represents these types of organic matter.
You may also want to drop extra debris into the water. such as the occasional particle. and per-
haps evcn the odd branch or twig floating down the canal, or caught in the side of the bank.
Additionally, with all of the elements in the scene. the one thing that sticks out like asore thumb is the
lack of wind affecting the grass. You may want to look into using animated modifiers, such as a Bend
or Noise in thc source geometry, and offset their animation a little in the particle system so there
is a little variety in the motion. You will, however, need to assign a global wind across all of the grass.
so that it deforms them all as it passes like a kind of wave effect.
Because there are leaves in the water you may want to add in a tree or two along the side of the
bank, or even just hint that a tree exists nearby by adding a Gobo (a light mask or projector) to cast a
shadow of a tree onto the terrain. You may also wish to drop in extra lbliage around the banks of the
canal - try using a scaled down lbliage object: a tree will suMce without the branches or trunk so you
just have a mass of leaves.
If you are feeling really adventurous, try adding a boat traveling down the canal, displacing the
water and therefore the particles (I-Iint: use some U1)eflector Space Warps to get the particle debris
to interact with the hull of the boat). Alternatively. try killing the main ltey light so all we have got is
low-level diffi~sedlighting, and add the Rain tutorial in this book to this scene to make it rnore
dramatic. In addition to these raindrops affecting the watcr, you could use the Shape Mark operator to
create puddles on the banks of the canal, all driven by the samc particlc system.
Additional patches of grass could be easily added by creating another particle system: a clone of
one of the existing ones would suffice, and distribute them. say. down the sides of the footpath, or even
in the footpath dirt to represent weeds or patches of grass where secd has settled and clumps of grass
have grown. You could evcn use the knowledge gained from the Grass and Dirt tutorial a ~ l daillend the
Blend material to get the grass to work its way through the cracks in the dirt.
There really is a huge amount we could do with this scene and the rnore detail we add, the more
realistic the sccnc will bccomc. so add as much as possible.
Introduction
In this tutorial we are going to take a little break from trying to recreate a scene as realistically as
possible, and attempt a stylized render of an arctic scene. The end result of this tutorial is similar
to a previous article I wrote for 30 World magazine, but with different techniques and material
setup to produce the final result. Throughout the walkthrough we will concentrate on lighting the
scene using a large lighting rig to simulate global lighting from the surrounding sky dome, setting
up the geometry which will be deformed using maps designed in the Materials Editor and also
utilized in the materials we assign to the geometry, before finishing with how to tint the render
using optical effects, adding volumetrics to create cloud and glows with light rays, and post
effects to increase the contrast to make darker areas and the scene's colors stand out.
FROZEN WASTELANDS 255

Analysis of effect
com~actedice
( a ) The majority (if not all) of the terrain we will be designing will
be covered in snow and ice, so any rock effects can be ignored.
Depending on the density of the snow and ice in the reference
material, we can see (in some images) a clear illustration of a blue
tint in some of the ice. This is because water is, believe it or not, actu-
ally blue and not tinted this way just because of the reflection of the
sky in the watel; plus. due to the compacted ice, there is very little (if
any) air in the ice due to being co~npactedunder high pressure. (b)
The actual shape of this terrain forms several drifts, not too dissinli-
lar li-om sand dunes due to the snow forming around the sides of the
mountains, which produces a curved 'ramp' up the side of the
mo~111tainand a sharp ridge across the top. This ridge is not linear,
but quite an irregular shape due to thc undcrlying shape of the
mountain. 'She mountain range itself is brolten up somewhat: with
large 'open' spaces where there is very little disturbed sno~lliccwith
a small amount of surface texture where small drifts and displace-
ments in the terrain are (being) formed. (c) Depending on the light-
ing conditions. the entire scene can be completely blown out
(causing snow blindness) or is quite contrasted. clearly showing
rellected light from the blue sky, which can be a very intense blue due
to the altitude, and air quality. (d) Finally. due to the altitude of the
mountains, we can have a substantial amount of cloud coverage on egular-shaped ridge: a7e
a variety of layers. This, in turn, leads to rays of light bcing cast as )rrned by the underlying shape of the
lountain. with excess loose snow
the sun peeks behind mountains, casting shado\vs through the illing away to form the peak at the top
cloud and through any snow in the air. f the ridge
As with any terrain construction we will generate the overall
shape from basic geometry: in this case a simple Plane primitive with A
a fair few polygons. As we do not need to see all of the detail in the
Viewport, we can use this particular primitive's Render Multiplier.
which allows us to increase the density of the geonletry at render
time by utilizing a simple value that the renderer takes and nlultiplies
the iterations we have already set by this value. This allows us to nlorl<
at a low polygon density in the Viewport to keep update times low. To
gcncratc the shape of the mountains, we are going to use a combina-
tion of two modified Smoke maps, as these are the best kind of maps
to generate the mountain pealts and falloff effect that we require.
Even using two maps; one for the main displacement and the other to
add extra detail and to brcak up any repetition, the scene would still
be too uniform. We will therefore use an extra couple of Smoke maps
which will generate 'breaks' in the uniformity of the displaccmcnt,
creating open areas of untouched snow. We will design a couple of
materials to be assigned to our terrain- one of a s~noolhsnow surface
which will bc nothing more than an exceptionally basic material and Image courtesy of Tim Johnston
256 EARTH

the other the same material but with the displacement map tree assigned as bump mapping. We will
mix them together based on Normal direction and use a modified version of the displacement map to
clamp off the map a little and generate a mask for some white smooth snow caps. Finally, after lighting
the scene with a lighting rig that is tinted to the color of the sky, we will add a few volumetric gizmos
around the scene to position volumetric fog to simulate cloud, beforc adding some contrast and a Video
Post effect in the form of a basic lens flare glow to add some intensity and haze to the scene.

Walkthrough
First w e w i l l create t h e basic scene geometry f o r t h e terrain a n d sky
P A R T ONE:
and assign any modifiers they require f o r t h e m t o function correctly.

-----------
-+.- --- roo+*-- r , sbn.. I . r e l . - = * ~ -

1
--
.,*-7
- 0
, , In the Top Viewport, create a Plane primitive in the
center of the Viewport with a Length and Width
-- jx of 8000, Length and Width Segs of 100 and label it

I
-
- Arctic. Set i t s Density Render Multiplier t o 6. Add a
; --7

-. Displace modifier t o i t s modifier stack and set the


1
I I-
-
--
..- .
,
,
--
*.
Strength t o 1200 and enable Luminance Center. Right-
i =--
-- : click the Play Animation button and increase the
- Animation Length t o 200 frames.
-
.=TL

I $51
Information: Here we have created the baslc terraln
r
-..- ...
.-.---- --.
-. - :-;-:;m=;;:*:
geometry and added the main tool whlch will enable us to
deform the surface of the mesh to create the mountains
The Render Multlpller has been Increased so there are SIX times more polygons when thls mesh IS
rendered to add more detail to the surface Luminance Center IS enabled purely to drop the mesh
down a l~ttleonce the displacement map has been ass~gnedto ~tas ~ttakes (by default) a mid-grey
color to be thls value We have Increased the length of the animation to give us ample time to fly over
the surface of the terraln and to take In the air

---------------..
^^ *. -
+ <.*.,,.
rc'l+U,- P . 9 " . r,-@*&- -* In the middle of the Top Viewport, create a
, .-8'1
Geosphere with a Radius of 18000 and 4
Segments. Label it Sky. Turn on Hemisphere and add a
-*
i
-.-- -_i
3 %

Normal modifier. Add a UVW Map modifier and set


-- the mapping Alignment t o Y. Click on the Fit button
I i
- .-
7
_
I--
I in the UVW Map modifier t o resize the modifier's
I I , =il-
I
::rz :
.--
-11 . \,.=-, Gizmo t o fit the mesh. In the Left Viewport, move this
I
object down 2000 units and scale it down vertically to
I
i 30% of its original size. Right-click this hemisphere,
.---
-- -". ---- --.
-" - -I--- r: .
A..,*
select properties and turn off Cast Shadows and
Receive Shadows.
Information: Using an object in the scene as the sky instead of using an Environment background
allows us to use fogging (standard and volumetric), and enables us to position and arrange the
background color(s) easier. The Cast and Receive Shadows options have been turned off as this object
should not receive any shadows, which will save the renderer calculation time.

P A R T T W O : Next w e w i l l generate t h e displacement m a p tree f o r t h e terrain using


several Smoke maps.

7 Open the Material Editor, create a new Mix map in


,'the first available material slot and label i t
Mountain Designer. Add a Mix map t o its Color 2 slot,
label i t Mountain Range Control and set the Mix
Amount t o 50. Add a Smoke map t o this new map's
Color 1 slot and label it Mountain Range. Set the
Source t o Explicit Map Channel and the U, V and W
Tiling t o 2. Set the Size t o 1, lterations t o 20 and
Exponent t o 1. Swap the colors and set the Color 1
slot t o white. Copy this map into the Color 2 slot of
the Mountain Range Control map and label it
Mountain Range Irregularities. Set the V Offset t o 0.5.

In+ormation:The Mountain Range Control Mix map is to simply blend the two Smoke maps
together equally. They are slightly offset so that it breaks up the uniformity of the overall map.

Add an Output map t o the Mix Amount slot of the = = - . . ' ; " - F r ~ ~ Z - sa-m~:-

-
'73. V . - W

'*Mountain Designer Mix map and label it Range


Breakup Control. Expand the Output rollout, click on
Enable Color map and design the Color map as
illustrated. Add a Smoke map t o the Output map's
- --
Map slot and label i t Range Breakup Small. Set the --
- ---
.-- ---
Source t o Explicit Map Channel, Size t o 0.4, Iterations
t o 20 and Exponent t o 1. Swap the Colors and copy
this map into i t s Color 1 slot. Go into this map copy
-
I-_.YVITd.

and label it Range Breakup Big and set the Size t o 0.8 --
.-- ! .-----
--
--- ...*..-, --.&
. L---
.- . ::. -*- . - - .",.
--.--a.
-< .
t

and lterations t o 5. Set the Color 1 swatch t o white.


Instance this entire map tree t o the Map slot of the Arctic plane's Displace Modifier.

Information: The two Smoke maps create an irregular map of dark and light patches. We have
introduced the Output map as the Smoke maps do not have their own Output feature. The Color
map has been designed to make the dark areas darker but with a small amount of light patches
coming through to add a little bit of texture to the surface (the small bulge in the Color map) and
258 EARTH

the large ramp up at the end of the Color map is to generate the slope up the mountain side. With
this material assigned to the Displace modifier it is easy to see how simple it is to create effective
terrain by mixing a few maps together.

PART THREE: With the terrain geometry now complete, we will design the Sky's
material and the terrain's snow material tree and assign them t o the scene.

Ir Label a new material Sky and assign it t o the Sky


-9
d hemisphere in the scene. Turn on Show Map in
Viewport. Increase the Self-Illumination t o 100. Add a
Gradient Ramp map t o the Diffuse slot and label it
Sky Color. Set the W Angle setting t o 90. Set the color
of the flag at positions 0 and 50 t o RGB 40,45,73 and
reposition the flag at position 50 t o position 14. Add
a new flag t o position 64 and set i t s color t o RGB
116,132,149. Set the color of position 100 t o RGB
213,218,223.
In+ormaRion:As we have Show Map in Viewport
enabled, whatever changes we make to our material we can see in the shaded Viewport. Here we
can see the gradient in action as it forms a horizon line and shaded sky. The colors were point
sampled from an image in the reference material which was at low level light and a medium to high
contrast which is what we are trying to achieve. Because we have used Planar mapping, the gradient
is 'projected' right across (not around) the gradient.

---------------
++. LC ~OD+OT&-P. r-dr....r-- .. r l ~ m u a i - Label a new TopIBottom material Arctic and assign
2it t o the Arctic plane in the scene. Set the Blend to
5 and Position t o 85. Label the material in the Top
Material slot Smooth and set its Specular Color t o
white. Set the Specular Level t o 15 and Glossiness t o
20. Add a Falloff map t o i t s Diffuse slot and label it
Snow Tint. Set the Falloff Type t o ShadowILight and
set the Shaded color t o RGB 116,132,149.

,-- .
---"-- - .- --.;--;---
--. **-
-I
-
m--...
- Information: As our mountains will have smooth and
rough snow surfaces, we need to mix them together
Firstly, we are uslng the Top/Bottom material to asslgn
smooth snow to the majority of the geometry fac~ngthe sky The other material (the Bottom
Material slot) deals with the side facing geometry which we will sort out next Observ~ngthe
reference material, some shaded areas of the snow-covered landscapes are tinted a little, so by using
the Falloff map set to ShadowR~ghtIn the Diffuse slot, we are able to replicate this
FROZFN MIASTELAND5 259

Add a Blend map t o the Bottom Material slot of


7 the Arctic map and label it Snow Cap. Instance the
Smooth map into the Material 2 slot of this Blend map
and copy (not instance) the same material into
the Material 1 slot. Label this new material in the
Material 1 slot Rough. Set i t s Bump amount t o -999
and instance the Mountain Range Control Mix map
into the Bump slot. Add an Output map t o the Snow
Cap material's Mask slot, label it Snow Cap Control
and instance the Mountain Designer map into this
map's Map slot. Expand the Output rollout, turn on
Enable Color map and design the Color map, as illustral:ed, t o enhance the white areas of
the Mountain Designer sub-map.

Information: As we already have the basic setup for our snow, we do not need to replicate it, but
we do need to introduce additional bump mapping, hence the material copy. Bump mapping takes a
light value as a setting that is depressed inwards, so as we are using light values in the displacement
to raise surfaces, we need to use a negative bump when using part of the displacement map to get
it 'facing' the right way. We have clipped off the Mountain Designer map using an Output map to
enhance the highest parts of the displacement map, (the peaks) and can use this resulting map as
the Mask for the Snow Cap Blend material to add additional smooth snow to the tops of the
mountains.

P A R T F O U R TO : give t h e scene some scale, w e w i l l create a n d position volumetric


f o g g i n g t o simulate a cloud layer.

Q In the Top Viewport, create a Sphere Gizmo


---------------
-.
P-. ir~n+o,- r -<-acr,- -,.r t - m s s -
;g
*p
--
f ~ i ~ t m o s p h e r iApparatus
c and set i t s Radius t o 1000. -I -.
Scale this helper down vertically in the Left Viewport , a; - -G
-
t o about 25% of its original size and position it so - ."
that its base is half way up the side of one of the
I
----
I-

smaller mountains. Clone this gizmo another six times


and position them around the scene so they overlap,
varying their scale or Radius a little.
t
I
'*-A
Information: These Atmospher~chelpers are going to be L
.. . .
I

the bas~cposltlons of the clouds In our scene We have ---- ----


-*- 2 ---. -
-. --
- -.-- --..-.I
-r re.

scaled them down so that they do not appear as large balls


of cloud, but flat layers of cloud Instead We have also vaned the sizes of the cloud to remove any
un~formity
260 EARTH

- fCZlOpen up the Environment panel and add a


UZ---Y

d Volume Fog t o the Atmosphere rollout's Effects

list. In the Volume Fog Parameters rollout, click on the


Pick Gizmo button and add all of the Sphere Gizmos.
Set Soften Gizmo Edges t o 1, enable Exponential, set

--- -----
1
*-
--
7
I the Density t o I and set the Max Steps t o 20.Change
I I-
the Noise Type t o Turbulence, set the Size t o 500, Low
=zE
--- --.--
L
T
P -
4:
.
t
t
t o 0.36 and Uniformity t o -0.25. Set the Fog's color t o
) --ZK :
: Ir RGB 213,218,223.
.- -
..--
4 -r
I -?
"
*
.. - .- - . - -- - --
. - A
I-
i

--------
-- - - I
- - 7
-
- - - -- - .*T.
Information: We Increase the Soften Glzmo Edges so
- r - a n - a

that the shape of the glzmo IS feathered out Exponentlal


was used to Increase denslty depend~ngon distance, so the further Into the cloud, the more dense ~t
appears. Max Steps was reduced to decrease the rendering time at the expense of a little quality, but
this is negligible.The Low setting was increased to add a little more texture to it, uniformity was
reduced to create more distinct puffs of cloud and the Size increased to make these puffs a lot
larger. Finally, the color was changed to match that in the sky dome's horizon color.

P A R T FIVE: Next w e will create t h e lighting i n t h e scene by setting up a lighting


r i g t o simulate illumination f r o m t h e sky and t h e sun.

"*I ."
---------------- ITOD+U'I- PrcsAC4- - P .

I_

- --.-
,F.m,s T C I I S " 2 -
.-YF
-.--
In the Top Viewport, create a Target Direct
Light t o the bottom of the plane and position
.- -
-..
- .
, :&
s+-7
Lh) . -
i t s target at the center of the plane. Label this light
.- -- - .- ---
.- - - Sun and reposition it vertically in the Left Viewport so
---"-- , .---
...-
it represents a sunrise (or sunset). Enable Shadows
..- ,-",,
*-
--
-
7' and Overshoot and set the FalloffIField t o 3000 t o
I

--
__-- - -.I
-- ..-
---
- 2.
vlrr,..-i

-- --
....^..-.I

I
.-
7

encompass the entire plane. Set the Shadow color t o


----- ---- -7

-- -
RGB 27,30,34,Shadow Map Param's Bias t o 0.01 and
--
"
.--- - Size t o 2048.
- - .--
---..---
. .-- - -
__ _
_ _ _ _---
- 1 --.--
'.,.
-I--.r-., Information: Overshoot was used so that areas outslde
the FalloffIFleld would be lllumlnated, and FalloffIFleld was
Increased as shadows are conflned wlthln thls boundary - no shadows will be cast outslde thls area
The Shadow map Blas was reduced to reduce any detachment of shadows from the objects/faces
that cast them, and the Slze Increased to slmulate a crlsp detalled shadow emanating from the sun
The Shadow color was amended to tlnt ~tsl~ghtlyblue
F R O Z E N WASTELANDS 261

- ~ = * , - ? ~ ~ - T D % Z ~ - % ~ ~ T P ~ s-,-rn~v=?~
*~-P.
Enable Grid Snap (if not already enabled) and
-I._-i-----
A A *nT
i n the Top Viewport, create a Target Direct
Light t o t h e left-hand side o f the plane and drag its '
i

-
..-
-..
target t o the center o f the plane. Enable Shadows, set
the Multiplier t o 0.05 and color t o RGB 116,132,149.
11-. ..
.--I
..-
..-
, " ,T-ZZ-7
--------- lCr--;
.- -.- . , .. -
__---
-7
.
----.
---- -7.
-.-
... -+
---
----7
7

Enable Overshoot and set the FalloffIField t o 3000. .--


Y-7
.q --
Turn off Specular, set t h e Shadow Map Bias t o 0.01, ---.-:--
-
.. ,.,--
-. r-.--
.
+ ..
,
..
:
,

-
..-.=;:-z: -7:

Size t o 512 and Sample Range t o 20. Still i n the Top :


--
m.,
...-.-
Viewport, Instance the light so it is the same distance
I - .-?-,- -
from t h e plane at the t o p side, so that it is at right , . _ ._ ..
..--.----. .- . . . ..
, -.., ..
m ---
.. .x--a--
-r
.,.,+
--,C**'.

angles t o the original. Reproduce this so you have


four lights all at right angles t o one another.

Information: We have used low intensity lights due to the final amount that we will be using in
the scene. If the light intensity was too high, the entire scene would be washed out. The light's color
was taken from a color setting from the Gradient Ramp map assigned to the sky. We do not need
specular highlights from each light in our array so this option is turned off, else we would have
numerous specular highlights over our scene, whereas we only need one -the sun. The Sample
Range was increased to blur the shadows a fair amount to remove any hard edges.

Enable Angle Snap. Select all of the four -*. .


-*-------------
- 2-G~3,rOL)+U,r..L I .,<,. - - - - 7 , .r , - m . o F - - i u

instanced lights and rotate clone them by


45 degrees t o form an additional four lights. Select all
o f these lights (not their targets) and i n the Left
Viewport move them u p slightly. Shift-move them t o
clone a new ring so the new ring is positioned slightly
above the mountains. Perform this task another
couple o f times t o create another ring of lights and
another one beneath the scene, pointing upwards. ...

___ _ _..--
,

Information: A fair amount of lights have been 1


. .
..-- ----.
- - I . '
. . .
_- --..-
,
-,- ._-
3. I*7*
.-..,-;..,

introduced to create a global illumination lighting effect


with multiple lights emitting multiple shadows across the mountains. We have used large maps to
keep detail, but diffused them to remove artifacts. Should you feel the render is taking too long,
halve the size of the Shadow Map Size and the Sample Range respectfully so the result of the blur is
proportionate (if a little degraded).
P A R T SIX: With the scene virtually complete, we will add a volumetric light t o
create a misty stylized effect and a contrast post effect t o bring out the colors in the
final render.

.---------------
,. .- .=p ', -.. .lT=uz= - 4
-
Create a Camera with a wide-angled lens
*
--
C,," <'C<'<'

-
P
*Or
_ _ ---, - -.* ' i-[&F

b --- --
--
--
-.-
-. (about 20-28 mm) in the scene and position it
I

-----
7- iii .*- , --_ -
-.. -
-
on the opposite side of the terrain facing the sun, so

--r,
-- 1
"- zfl:
-- .--- the sun is just peeking over the mountains. Copy the
--
- 2 1
.-
_
-.
J

-- - ----.
---
--
-. --- ---. Sun Direct light and label it Sun Volumetric. Set the
,- v.
--7-7

--3-- - --- the -


-3
/

-- Multiplier t o 0.1 and turn off Overshoot. Change


,- - . -- I--->

-- ---- .- Light Type t o Spot and set the HotspotlBeam t o


:
..- --
- --
---
-r-
-w

- I=.--
-...------
-- 1 --- - 0.5 and FalloffIField t o 10. Enable Use and Show Far

I
-
.---- -. . -
--- Attenuation and set the Start t o 0 and End t o 30000.
-7
"

----- -- - -- . -
.-
-.
--
- -
- . - - - -- . Set the HotspotJBeam t o 0.5 and FalloffIField t o 10.
--. -- -,--*,*".
Change the Shadow Map Size t o 1024 and reposition
this light's target t o the camera's location. In the Environment panel, add a Volume Light
effect, click on the Pick Light button and add the Sun Volumetric light. Turn on Exponential.
Here we have a thln l~ghtthat
Infarmatio~: polntlng d~rectlyat the camera. Thls IS so the
IS
volumetr~cl~ghtthat IS emanating from ~tdoes not completely wash out the entire scene, but keeps
~tconflned to the camera's fleld of vlew. If the camera ducks behlnd a mountaln, then there will be a
subtle volumetr~cl~ghtcast around the s~desof the mountaln, but we will st111have the resulting
glow from th~sl~ghtaround the s~desof the mountaln; something you would not be able to do eas~ly
w ~ t hlens flare glow effects

-- -

- --.---
-
-
I .OT
-?
-
.-
I..

*-
-
-
4
'-Ramp
Open the Material Editor and create a Gradient
map in one of the available slots. Label it
Volumetric Light and set i t s Gradient Type t o Radial.
_
-L?
.- -. --
-2

-. _-- ---
,---
- Set the color at position 0 t o white and the color at

-
--m-

,-,,
---.. - position 100 t o RGB 61,81,166. Move the flag at
--
-- - - -
---
-- position 50 t o position 26 and set its color t o RGB
---- .- -
-r

--
-r.

. .-
-r

,
_ 99,148,208. Instance this map t o the Projector Map
slot of the Sun Volumetric light.
- -- - -,,-
---,

.
"
Information: Instead of creatlna a Glow ~ o seffect,
t we -
F-.
i
-7-.
-- - - ----.-
- --. ,. .
can des~gnour glow uslng volumetrlcs whlch will not turn
-, ,

off when occluded by add~t~onalobjects In the scene We


have added to the styl~zedlook by havlng a br~ghtwh~tecenter whlch will lllumlnate and add to the
cloud volumetrlcs before falling off to a blue whlch will tlnt the scene
FKOLFN WASTELANDS 263

4 b Open up the Effects panel and add a Brightness


4
'5 and Contrast effect t o the Effect list. Set the
Brightness t o 0.4 and Contrast t o 1. Finally, assign
lmage Motion Blur t o the relevant elements in the
scene, such as the terrain and sky. Link the target of
the Sun Volumetric light t o the camera and animate
the position of the camera travelling over the terrain.
Render off the animation with a sharp Anti-Aliasing
-
-. .-
- r

filter, say a Catmull-Rom for example.

Information: We have added a Br~ghtness


and Contrast
1k- ---
.- . .- - ---
r-y
. -
e
...- -
pY?GEY
-_,--.*. .
-m--. ,=.

effect to bring out the detail and the colors in the scene. As
the camera will be moving in the scene, we need the volumetric effect to follow the camera, so all
we need to do is to link the target of the light to the camera. We are using a sharp Anti-Aliasing
filter to help bring out the detail, even though we are blurring with lmage Motion Blur.

To keep render times down and to prevent geometry being too textured (as we can handle any of that
using bump mapping), we should keep the geometry down as low as required. As there is no actual
rock in this scene, just heavy bump mapping we do not need exceptionally high polygon counts.
Depending on the amount of wind we want to introduce to the scene. we could add extra volu-
metric fogging around the low areas of the terrain and assign a noisier volumetric to them to simulate
snow being disturbed. You will also want to add a slight wind motion to the existing volumetrics. Also,
try placing smaller confined volumetric gizmos around the scene so they are situated around the
peaks of the mountains.
Currently, we are using the same map that is being used to displace the geometry as the 13ump
map. just in case any detail in the map is not being picked out in the displacement. You could also add
finer detail to the Bump map by mixing additional Srnolce and/or Noise maps to the existing Bump
map tree so some areas of the snow appear liner and rougher. You may also want to change the tex-
ture of some areas of the snow, like making it glistcn a little more and adding translucency to simu-
late ice. Try using a translucent shader to simulate this and mix them together using smoke andlor
carefully positioned decal gradient maps.
Introduction
The geometry in this scene is going to be about as basic as you are going to get, but the polygon
count is going to be in the millions to get the best result! Firstly we will use a displacement map to
create the basic shape of the terrain, and then overlay another to create the shape of the
mountain's peak. Next we will create several individual materials and use the existing displacement
maps to add extra texture to their surface, then use additional blending materials to mix them
together a certain way, to give the impression of multiple levels of terrain, each blending and
overlapping into the next. Finally, we will create a basic sky environment which is shaded in a way
that gives the impression the image was 'taken' at a high altitude, before illuminating the scene
with a lighting rig to simulate illumination from the sky, adding air desaturation fogging and cloud
around the peak.
MOUNTAIN 265

Analysis of effect
(a) Observing the reference material on the DVD-ROM, it is apparent
that mountain terrain comes in several 'tiers' -a snow cap, fragmented
snow with intermittent areas of rock, rock with small areas of snow,
solid rock and greenery (trees etc.). These tiers tend to bend together
depending on the terrain, for example the fragmented snow appears to
I
settle mainly on the top of the mountain and any other rock faces that
are more horizontal than vertical. (b) As we progress further down the
mountain, the rock begins to peek its way through and small areas of
snow can be seen to rest on the sides of the rock - they are actually at Image courtesyof United States
I
SuNey

rest on small (near) horizontal areas that jut out from the mountain-
side. (c)The further down we progress the more rock is visible and less
snow (due to temperature) and the more greenery is present. These
green areas are, again, more prominent on near-horizontal areas while
the more vertical faces of the mountain do not have much, if anything,
growing on them. (d)Due to the altitude and temperature of the moun-
tain's peak. a collation of cloud tends to form around this area which
would be good to simulate and fly through in our final animation.
I
Another excellent example of mountains is in The Lord o j the
Rings - The Two Towers, which uses the Southern Alps on the South
Island of New Zealand for its breathtaking scenery. It is definitely courtesy of United States Geological
recommended that this is viewed while attempting this tutorial as it
depicts the ideal mountain we are trying to emulate.
We want to make the terrain construction as simple as possible so
we can adjust the density of the terrain's mesh so that it is low when
working in the Viewport and a lot higher when rendered. Because of
this, we do not want to physically model the terrain, but use deforma-
tion to sculpt the landscape to the desired result. To generate the terrain
we can use a simple Plane primitive object and assign a couple of mod-
ifiers to handle the main deformation - one to generate the peak and
the other to handle the base terrain. And that's pretty much your lot as
far as modeling goes. The main trick comes in the materials and the
I further we progress down the mountain
and are less broken I I ~

Ir , ed St Seolca Survey
sheer amount of polygons required to generate the displacement. As we a

have three distinct levels to the source material, we will generate three
main levels to our material tree and mix between them. Firstly, we will
have the solid snow material, which will simply be a solid color that will
use one of the displacement maps as a Bump map to generate some tex-
ture. Secondly, we will have a basic rock texture which, again, will be a
single color with the other displacement map as a Bump map. Finally
we will have the 'greenery' which will consist of a slight noise as its dif-
fuse color and a displacement map as its Bump map. And that's it. Quite
a simple set up, but we now need to blend them together. Using a com-
bination of Blend andTop/Bottom materials, we can create (from top to
bottom) a solid snow cap, a rock and snow mix, solid rock, and a rock Image courtesy of Tim Johnston
266 EARTH

and greenery mix. By using cylindrically-mapped gradients around the mountain we can control the
mixture between materials by designing the levels in our gradient.
As we have a mountain that is exceptionally high, try clipping off the snow caps and change thc
lower part of the mountain to a 'normal' terrain with grass, trees and rocks. On most mountain rangcs.
the level at which snow is formed is quite consistent; creating a band right across the range where the
snow level begins, so this could be generated using a simple gradient (with a little noise to break it up
somewhat). You may want to use another TopIBottom material to generate the distribution of green
areas over rock, with the green areas on the top and the rock distributed on thc side. Blend this new
material with the existing one with a gradient controlling thc blend to generate a quite effective result.

PART ONE:First we will create the basic Plane primitive and assign the required
modifiers.

A Turn on Grid Snap. In the Top Viewport, create a


Plane Standard Primitive with Length and Width
spinner settings t o 2000 and Length and Width Segs set
t o 50 and label i t Mountain. Reposition i t (if necessary)
so that its co-ordinates are 0,0,0; directly in the center
of the scene. Set the Density multiplier between 5 and
20, depending on the speed of your computer.
Information:We are working with quite a low polygon

- -- . - .-"- - _ --.--
_ .- ,? *
terrain at the moment, until we comes to render the scene.
As we are using the Dens~tymultiplier, whatever setting we
have dialed into the segments spinners will be multiplied by
the value we have entered into the Density setting when the scene is rendered It might be worthwhile
setting this Multiplier to a low setting at first and then gradually upping it (once the scene is complete)
to check your render times and if your machine can handle calculating the millions of polygons The
Multiplier setting in the screenshot is very high so start lower and perform some test renders first

7 Add a Displace modifier t o the stack and rename


-the modifier t o Terrain Displace. Set the Strength
t o 100. Add another Displace modifier and rename i t
Peak Displace. Set the Strength t o 500 and enable
Luminance Center.

Information: We need two separate displacements


to generate our terrain -one handles the small lower
terrain and the other generates the large peak
displacement. The Peak Displace modifier has
m-. . -
-.-.-- -
:-. - .- - - --0--
= .
< i
I
Luminance Center enabled purely to illustrate the
MOUNTAIN 267

difference between having it enabled or not. With it enabled, grayscale colors of RGB 128,128,128
are classed (as default) as neutral; values higher than this will displace the mesh up, values lower will
displace it down. I'm going to have it enabled, you may or may not choose to, but in this particular
tutorial it makes little difference, apart from the positioning of the geometry.

P A R T T W O : W i t h t h e g e o m e t r y all set t o go, w e can n o w d e f o r m it b y creating maps


t o b e d r o p p e d i n t o t h e Displace modifiers.

35 Open u p the Material Editor and create a new ---------- -'.I +u

-'Noise map in the first available slot. Label it Terrain


and set the Source t o Explicit Map Channel. Set the
Noise Type t o Fractal and Size t o 0.2. Set the High t o
T
I -
0.7, Low t o 0.3 and Levels t o 10. Click on the Swap
button t o change the color swatches over, expand the :
Output rollout and click o n Enable Color map. Add
extra points in the Color map and amend them so they
form a slight stepping design as illustrated. Instance
.1- . -.- -
. --- _ ----
--..- .
this map t o the Map slot in the Terrain Displace T --
-. - . . - - - .
modifier.

I n + o r a a t i o n : As we are using the mapping generated by the Displace modifier, we need to reduce
the Noise map's Size. Amending the High and Low settings clips off the colors a little, so we have got
larger areas of solid color, and less areas for the transition from one color to the next. The Levels have
been increased to add more detail and the Color map enabled to create several 'steps' with curved
tops going from one color to the next so, when rendered, we will see several levels of terrain that
appear to have been formed by erosion.

In the next slot in the Material Editor, create a


.-..------------ - - - , .
-.l+c~,--~wrc.A~d.~ oa-muG-e

'-Mix map and label it Peak. In the Color 1 slot, add


a Gradient Ramp map and label i t Peak Shape.
Remove the middle flag and set the flag at position 0 * -+
.
t o white and the flag at position 100 t o black. Set the ---- --I(
31 .
- 9 7.-
-----
Gradient Type t o Radial, the Noise Amount t o 0.1, Size
-- -1:
- ---.. l i-'
;C

t o 10 and set the Type t o Turbulence. Open the Output


rollout, turn on Enable Color map and amend it, as :. .
4 ---
---
*$= 1
-
illustrated, t o change the control of the gradient
mixing. t; -- . .
.e;
<*b

T2%$ --
-

---- I-.--. - - - .
--m--

I n f o r m a t i o n : The flag colors were set purely for


illustrative purposes As they will both have Noise maps, these colors make no difference to the end
result The Color map was amended as no Interpolation setting was suitable for what we require - a
gradual build-up to a peaked color
268 EARTH

.in*
#'.OT
F -
r Right click the flag at position 0 and select Edit
.--
L 3properties. Add a Noise map t o the slot and label it
. " -
Peak Shape Top. Set the Source t o Explicit Map Channel,
.
. -. - -. , -_ - : Noise Type t o Fractal, Size t o 0.1, High t o 0.75 and Low t o
-
. ..--
_- i
r v -. -7 I
* .- I
7-
I .:-

"
>

<
: - 0.25. Set the Color 1 swatch t o RGB 200,200,200 and the
---.-- Color 2 swatch t o RGB 218,218,218. Add a Noise map t o
-7

-
.-- .
---
-
the Peak Shape gradient's flag at position 100 and label
--.
---- it Peak Shape Bottom. Set the Source t o Explicit Map
t
-.- -- Channel, Noise Type t o Fractal, Size t o 0.25, High t o 0.5,
--------
. r-
"-.- .
.- - . > . Low t o 0.25 and Levels t o 10. Set the Color 2 swatch t o
,
RGB 22,22,22.
Information: Even though we have got a slight noise across the gradient, this is too uniform, so we
need to break it up a little. To do this, we have added two extra Noise maps - one to each flag -and
so therefore they are mixed together. As they represent the colors at each end of the gradient, they
have to be colored accordingly - light and dark. Again, these are clipped a little to create a raised area
as in the other displacement map.

Add a new Gradient Ramp map t o the Peak Mix


map's Color 2 slot, label it Peak Cap and set the
Gradient Type t o Radial. Set the flag at position 100's
-- color t o black and reposition the flag at position 50 t o
4
- - -
-- - position 9. Set i t s color t o RGB 206,206,206 and the
-- -. ..-
-- ...- -- ":
----
6 ---
flag at position 0 t o RGB 218,218,218. Set the Noise
- -_-. I Amount t o 0.3, Size t o 5, enable Turbulence and set
-.
@ -- - the Levels t o 10. Open the Output rollout, turn o n
&
.
& ---- -: ._ Clamp and Enable Color Map and amend the map as
.. - - -
'
, illustrated.
Information: Again, we will introduce another Noise map
to this gradient, but in this case we will only be using it in one slot (the one at position 9). We will
therefore have a transition from solid color which will break up and become another color the further
we progress down the gradient. Again, we have a slight noise assigned to the gradient anyway which
will break up the entire gradient a little to remove any form of repetition andlor regularity. Clamping
has been enabled to level off any values that are too high (capping off the mountain) and the Color
map has been amended again to correspond with the blending in the other gradient map so they do
not oppose one another. This one is slightly stronger to bring out any rough detail.
'paJapUaJ UayM s a q d dwnq ayl U! yJep
ool lou s! le!Jalew ayl ley$os oz o l OE UOJJ pa3npaJ uaaq sey dew dung a y l .dew dung s,mou~
ayl se s!yl asn ue3 am 'papelap Aly61ys! dew $uawa2elds!pyead ayl a s n e ~ g. w a y l ~ auo o s! le!Jalew
MOUS ayi lu!elunow ayx dn pl!nq 01 paau am sle!Jalew aaJyl ayl slo~iuo3ley$a~nl3n~ls le!Jalew
leu!! ayl aq 01 6 ~ 1 0s!6 le!Jalew puala a y l :uo!aeurJorul

'02 01junowe
d w n g ay$ $as pue le!Ja$ew s!y$ u! 101s dwna
ay$ o$u! aaJ$ dew yead a y j a3ueIsul '961'961'961
a 3 o$~ $01~ z ~ 0 1 0a3y l u! ylelq ay$ a6uey3
pue punole s~o(o3 ay$ a 6 u e y ~01uoI$nq d e a y~I ~
uo 7313' a l y ~ a d ~ $! laqel pue 101s l a m i ~ e l n 3 a d ~
MOUS
a y $ o I dew a l y ~ a d se p p v .a$!yM 01~ 0 1 0 3asn#!a
sj! $as pue MOUS le!Ja$ew Mau e laqel . a u a ~ ay$
u! u!e$unoyy ay$ o$ j! u6!sse pue u!e$unoyy laqel
'~o$!pgle!Ja$eyy ay$ u! le!Ja$ew pua(a Mau e a$eaJ3(,\
0

-u!e$unour ayz UMOP J a y u n j s s a ~ 6 o ~a dM sr? a2ejJns


u!eJJal u! a6ueyr, ayz alpuey o~aaJz Ir?!Ja$ew a y j a l e a ~ 3MOU l l ! a~M : ~ ~ H HI UI V ~

y o e y 3 Ally6!l~aq pln0M $ltlSaJayl 'y6fl0~


sdew ylOq peq aM 41 'JaAO Sayel dew luawa3elds!p Jay10 ayl aJayM 'UMOp Jam01 ~uawaxlds!p
allqns aJow 4 1 1do1
~ u!e$unow e aAey am os 'dew de] yead ayl 6u!wlo4 Alldn~qe(Ala~!pela~)
aJo4aq dn sp(!nqAllenpeJ6 (dew adeys yead ayl) dew aseq ayl ley1 os ~ayla6o$ sdew d w e ~
lua!peJ9
OM$ ayl spualq lua!peJ6 lo~luo]X!AJ yead a y l .aw!qJapuaJ le alq!s!A aq 1 1 1 lnq
~ 'uodma!~ayl u!
uo!sJaA uo6Alod mol no uo alq!s!A aq xou 1 1 1 s!yl
~ yelunow a y l j o sapts ayl u ~ o $uawa~elds!p
p ayl
o) ssauy6no~40 lunowe 1y61lse sppe ~snf- ley1 A ~ ~ e saop
x a dew y6noy yead a y l :uo!gewso$u!
.Ja!j!pow a~elds!ayead
ay$ u! jols dew aq$o$a a ~ dew $ yead ay$ a3uezsul ' p a ~ e ~ ~ s se
nll! ay$ puawe pue dew
lo103 alqeu3 uo U J n l ' o l 0%sfanal $as pue IepeJj alqeua 's 01 az!S '1 01$unowv as!oN ay$

-- --
:::g:&:::--.Y-z . . . . .
'le!petlo$ adrll $ua!peJ3 ay$ $as .a$!yM 010 uo!ysod
$e auo ay$ pue I!$as pue E Z ~ ~ ! ~ ! I se o6elj d e ppe
----..
- - * -
- 4
7;
rF-?]?7E-J
--
..- -
- --.
-- -- ..
L:
- .-- -'.I
-.-
.-- ---
'y3elq 01001 pue 0s ~ ~ ~ ! $ !$e
x!w yead I! laqel pue dew
s o
s6elj
d
yead
ay$
ay$
$as
j o
.lo~$uo3
101sx!w
- - .-- ay$ o$ dew d w e $ua!peJ3
~ e p p v '90z'90z'90Z 8 3 8 0%
2-
--
- -- ..
__I
T - -
- -- - -- y3leMs Z Jolo3 a'4I Pue OOZ'OOZ'OOZ 838 01 y>$eMs 1
- -.--,- - = lo103a y I $as ' 1 01s(aAa1pue S'O 01MOI 'SL'O O$ 4 6 ! ~
->-
A -

- I . -..
- ,,, :*-.: . . , . '100'0 0%az!s ' a 3 u a l n q ~ n l oadrll
~ as!oN 'lauuey3 dew

-----..
- .---m
---- <

...-...-~-
.-.---.-=. I:
C
$!3!ldxy 01 a3~nosay$ $as . y 6 n o ~yead I! laqel pue
11. 101s alqel!eAe ay$ o$ dew as!oN e p p y .sa!uado~d
<w.
--HA:
--*---
..c - 1!p3 L)alas pue 6 ~ ~ ! $ ! s $e /-
o d6elj a y l ? 3 ! ~ - $ y 6 ! ~
270 EARTH

QLabel a new material Rock and set its Diffuse color


J t o RGB 35,35,35. Set the Bump amount t o 300 and

add a Noise map t o it. Label i t Small Rock and set the
Source t o Explicit Map Channel. Set the Noise Type t o
Fractal, Size t o 0.01, High t o 0.7 Low t o 0.3 and Levels
t o 10. Copy this Noise map into the Color 2 slot and
label the new map Large Rock. Set the Size t o 0.03,
High t o 0.6 and Low t o 0.4.

Information: This material is designed to run down


the sides of any raised areas of the mountain as well as
being on the upper faces, so we get a nice textured
terrain. We have used a two stage Bump map so that the regularity of one map is broken up by
the other.

n L a b e l a new material Greenery, add a Noise


I
ii map t o the Diffuse slot and label it Greenery
Color. Set the Source t o Explicit Map Channel, the
Noise Type t o Fractal, Size t o 0.05, High t o 0.6, Low t o
0.385 and Levels t o 10. Set the Color 1 swatch t o RGB
44,51,22 and the Color 2 swatch t o RGB 24,51,22.
lnstance the Terrain Noise map into the Bump slot and
.? set the Bump amount t o 150.

Information:Again, we have utilized an existing map as a


, ". ...--~-
.. -.- .
f
.. .-. ~.-.-
/b*

., -.
,
.-.* .7.. -,:-
..*
. < . "
., ..-*--
.7 -,
.a
,.,
texture in an additional material. As this material will be
,

situated at the base of the terrain, we have used the


displacement map that is most prominent in these parts. The Noise map was added to the Diffuse slot to
break up the uniformity of the single color. Typically, these two colors will also need to be mixed with
other colors to get a more convincing effect (which you may wish to do) but in this instance it will suffice.

1 4 Go back t o the Mountain material, add a Blend


material t o the Material 1 slot and label it Snow
Cap. lnstance the Snow material into this material's
Material 1 slot, add a TopIBottom material in the
Material 2 Slot and label i t Snow and Rock. lnstance
the Snow material t o the Top Material and the Rock
material t o the Bottom Material. Set the Blend t o 5
and Position t o 85.
d
I @
-,, Information: Here we have set up the mix
1
-
: _ _'_-.--
II
. -.".- -, --m--
. r
I
.
I

between the snow and rock (us~ngthe Top/Bottom


MOUNTAIN 271

material), but we still need to control the blend between the Snow and Rock and the solid Snow
material in the Snow Cap material. This material controls the position that the solid snow cap breaks
up a little and reveals rock on the side of the mountain.

4 9Add a Gradient Ramp map t o the Mask slot of


L t h e Snow Cap material and label it Snow Cap
Control. Set the Map Channel ID t o 2 and the V Tiling
t o 2. Set the W Angle setting t o 90, the Noise Amount
t o 0.39, Size t o 5, enable Turbulence and set the
number of Levels t o 10. Set the flag at position 50 t o
black and move it t o position 43. Add a flag t o
position 52 and set i t t o white. Add a UVW Map
modifier t o the Mountain and set i t s Mapping t o
Cylindrical, Map Channel t o 2 and click on the Fit
button t o resize the modifier's gizmo. Select the gizmo
and, in the Left Viewport, scale it up vertically by 10%.

Information: Clicking Show Map in Viewport enables us to see this map in action. As we are using
a different mapping type, we have to use a different Map Channel ID for the modifier and the
corresponding map(s) so they talk to one another properly. The result is that the map is wrapped
around the mesh; the tiling has been increased to remove any stretching around the peak and the
modifier's gizmo scaled up so there is no clipping should the rendered geometry (which will be higher
than the geometry viewed in the Viewport) pass beyond the boundaries of the gizmo.

n 3. Copy (not instance) the Snow Cap Control map


,'into the Mountain map's Mask slot and label it
Mountain Snow Rock Control. Amend the V Tiling t o 4,
reposition the flag at position 52 t o position 80 and
the one at position 43 t o position 70. Amend the Noise
Amount t o 0.2 and the Size t o 1. Add a Blend map t o
the Mountain's Material 2 slot and label i t Base. Copy
the Mountain Snow Rock Control into this Blend
material's Mask slot and label it Base Control. Set the
V Tiling t o 3 and the Noise Amount t o 0.19. Remove
the flag at position 80 and reposition the one at
position 70 t o position 82.

Informa+lion:As we have set the majority of settings for these two gradients in the previous
gradient, we can simply copy and tweak the settings a little. These two maps control the two
additional material levels in our overall material -the first one states where the snow ends and the
solid rock begins (the main one at the top of the material tree), and the second one controls the solid
rock and rocklgreenery mixing.
272 EARTH i
I
fl J-Instance
-
my;;.:
-
r-
the Rock material into the Base
material's Material 1 slot. Add a ToptBottom
*
--
.
--
-
. - material t o the Material 2 slot and label i t Rock and
Greenery. Instance the Greenery material t o the Top
- --
- . Material
-7
slot and the Rock material t o the Bottom
.- Material slot. Set the Blend t o 10 and the Position t o
-
.---
-- - 80. Navigate t o the Snow and Rock TopIBottom
,
- - -7 -
k material and make the Rock material in the Bottom
Material unique. Label it Rock Snow. Add a Mix map
- -- .. . - --
. - . t o the Diffuse slot, label it Rock Snow Mix and set the
1
- - .---- - --. ,
Color 1 slot t o RGB 27,27,27. Add a Falloff map t o the
Mix slot and label i t Rock Snow Control. Set the Falloff Direction t o Local Z-Axis and amend
the Mix Curve as illustrated.

Information: Finishing off the material with a pretty big step. Here we have created another
Top/Bottom material which mixes between the Rock and Greenery materials, depending on which
way the geometry faces, so we have rock on the side of the base of the mountain and greenery on
the top. The Rock material was amended for the top of the mountain to add extra snow to the detail
generated by the Bump map by using a Falloff map set to Local Z-Axis (which works in the same
fashion as a ToptBottom material). This was not added before so we could make overall changes and
utilize the existing material throughout the material tree before going back in and tweaking the
settings on the unique material.

PART FOUR: Next we need t o create a sky dome t o encompass our scene t o give
the impression that we are at a high altitude. Because of this, we also need t o
generate a collation of cloud around the top of the mountain and some environment
fogging.

In the Top Viewport, create a Geosphere


primitive in the center o f the scene w i t h a
Radius o f 6000 and label it Skydome. Enable
Hemisphere and add a Normal modifier. In the Left
Viewport, scale the mesh vertically so that it is 20% of
its original height and reposition i t 400 units down so
that it is below the mountain. Add a UWV Map
modifier. Set the Alignment t o X and click o n the Fit
button t o resize i t s gizmo.
r
t r .
- - . .-.
----- .. -_ _ . . --.-->*
-.-. _ _, I
1
Information: As we will Introduce fogglng to the scene,
we need a low skydome so that the fogglng does not get
too Intense ~fwe look up the mounta~nslde,but appears more Intense ~fwe look across the scene,
hence the flattened hemlsphere As we are slmply going to be applylng a gradlent to the Skydome,
a slmple UWV Map will sufflce to project thls gradlent onto the hemlsphere
4 r Label a blank material Skydome and assign it t o
D t h e Skydome hemisphere in the scene. Set the
Self Illumination t o 100 and add a Gradient Ramp map
t o the Diffuse slot. Label it Sky and reposition the flag
at position 50 t o position 59. Set the flag at position 0
t o white, the one at position 59 t o RGB 0,146,255 and
the one at position 100 t o RGB 0,62,110.

Information: As we have just used a hear gradlent w ~ t h


---
-

the U W Map mod~f~er, the gradlent IS projected r~ght .- . . . .


across the hem~sphereAs we are s~mulatlnga h~ghalt~tude,
' -
-
, -- - - - - - . .-----
-- --.----- r --
-_. - .-
- - . > --.--..
-I I F
*
.

the grad~entIS des~gnedto go to a darker blue to s~mulate


the reduct~onIn atmosphere, wh~lethe Intense blue and wh~teslmulate the alr dens~tyand
atmosphere falloff.

Create four large Sphere Gizmos (Atmospheric


F e y -- -
---'-'---------

"7
*--,rD,* .:,;,J---4".>,-ms~---~~

Apparatus Helpers) with Radius values between


500 and 1000, scale them down vertically so they are
.-
UC

about 2&50% of their original height and arrange I-


---
them around the peak of the mountain as illustrated. --
U
-
bIl?
-I
-
Open up the Environment panel and add a Volume Fog .- ----- I
-
t o the Atmosphere rollout's Effects list. In the Volume
_I
--
".....
Fog Parameters rollout, click on the Pick Gizmo button . II
and add all of the Sphere Gizmos. Set Soften Gizmo .-..- --
- .-"- . - 'A
r

8 :
Edges t o 1, enable Exponential and set the Max Steps t o 7 - --.--...--.----. :-.=.-.
__.
.-=-.-I--
.-
I.
-...-
,,, .
-1 -I

50. Change the Noise Type t o Fractal, set the Levels t o 6,


Size t o 1000 and Uniformity t o -0.25.

Information: We increase the Soften Gizmo Edges so that the shape of the gizmo is feathered out
a little. Exponentialwas used to increase density depending on distance, so the further we get into
the cloud, the more dense it appears. Max Steps was reduced to decrease the rendering time at the
expense of a little quality, but this is negligible. Uniformity was reduced to create more distinct puffs
of cloud and the Size increased to make these puffs a lot larger.

q Q Create a Camera in the Top Viewport and


v-)position i t near the base of the mountain,
looking up. Set the Lens size t o 28 mm, turn on Show
in the Environment Ranges section and set the Far
Range t o 8000. In the Environment panel, add a Fog
Atmospheric Effect t o the Atmosphere rollout's Effecl
list, enable Exponential and set the Far % t o 95.
Information: We have amended the camera's
lens size to a wide-angled lens to give the scene
a sense of scale. The fogging is reduced to 95% so that it does not completely shade the sky, so we
still have some blue visible should the horizon be viewed.

PART FIVE: Next we will illuminate our scene with a single key light t o simulate the
sun, and arrange a faked global illumination system t o simulate light from the sky.

4 n l n the Top Viewport, create a Target Direct


u'
Light t o the right-hand side of the mountain
and position i t s target at the center of the mountain.
Label this light Sun and reposition it vertically in the
Left Viewport. Enable Shadows and set the light's
color t o RGB 255,245,231. Enable Overshoot and set
the FalloffIFieldt o about 1500 t o encompass the
mountain. Set the Shadow Map Param's Bias t o 0.001
and Size t o 2048.
i-
. ---
. ., . '-'---
-" ----
I
- - - - - - In40rmation:Overshoot was used so that areas
outside the FalloffIF~eld would be illum~nated(should
any be introduced) FalloffIF~eldwas Increased as shadows are conf~nedw ~ t h ~th~s n boundary
The Shadow Map B~aswas reduced to prevent any detachment of shadows from the
objects/faces that cast them, and the Size Increased to result In cr~sp,detailed shadow

n E n a b l e Grid Snap (if not already enabled) and


3- Y in the Top Viewport, create a Target Direct
Light t o the left-hand side of the mountain and drag
its target to the center of the mountain. Set the
Multiplier t o 0.03 and color t o RGB 178,222,255.
Enable Overshoot and set the FalloffIField t o 1200.
Turn off Specular, set the Shadow Map Bias t o 0.01,
Size t o 256 and Sample Range t o 8. Still in the Top
Viewport, Instance the light so that it is the same
distance from the mountain at the top side, so that it
is at right angles t o the original. Reproduce this so you
have four lights all at right angles t o one another.

Information: We have used low intensity lights due to the final amount that we will be using
in the scene. If the light intensity was too high, the entire scene would be washed out. The
light's color was taken by sampling a color from the background, and then entering the settings
into the light. We do not need specular highlights from each light in our array so this option is
turned off. The Shadow Map Size was reduced to keep rendering times down and the Sample
Range increased to blur this map a little more.
7 4 Enable Angle Snap and set t h e angle snap ,.-.
-*-------------
*-\T-R+uI--. . +A+,l - ,., , - s Y a - - ~
setting to 2.5 degrees. Select all of t h e four
instanced lights and rotate clone them three times by
22.5 degrees t o form a complete ring of lights. Select - I

all of these lights (not their targets) and in t h e Left .-- , -


Viewport move them up slightly. Shift-move them t o
instance a new ring, so t h e new ring is positioned
slightly above t h e mountain. Perform this task another
couple of times t o create another ring of lights above,
pointing down, and another beneath t h e mountain, ; --.
--
-. - _ . . .
pointing upwards. Render off t h e scene.
Information: A lot of lights have been introduced to create a global illumination lighting effect,
with multiple lights emitting multiple shadows. Because of the number of shadows in the scene
coming from all directions, the collation of shadows around detailed areas will ensure that these areas
become slightly darker (due to the amount of shadows being cast upon them).

The initial mesh preparation period may take a few minutes, but this is to be expected with the high
Density setting in the Mountain plane's base settings. After which. the render time will drop dramati-
cally as the mesh does not deform. therefore will not need to be re-calculated for the next frame. Ilue to
the amount of detail in the scene. I would suggest that you use a Catmull-Rom filter when rendering
because this will bring out the detail that we have worked so hard to produce.
We have used cylindrically mapped gradients, instead of copies of the radial gradients (which
would seem morc logical to use) to control the terrain levels, because we need to add a transition right
across the terrain. If we had used a copy of the radial gradient we would not have been able to achieve
this effect as it works fro111the inside-ut: half of one raised area may be covered in snow and the other
half with greenery. which would look weird.
Even though we have designed the change in materials, the end result can be further improved.
Currently we are using a basic combination of colorcd materials to generate the change in terrain, but
this has its Ihnitations. especially when viewed lrom closc quarters. Therefore you may wish to add
extra detail around the base of the mountain by introducing additional texture maps to the terrain, giv-
ing the impression of a detailed surface with lush green vegctation, before it falls off and becomes bar-
ren due to the altitude. This barren area could also be improved with the addition of extra texture maps.
However you will have to be careful when assigning these maps: you'll have to sct up additional map
co-ordinatcs else if you silnply assign them with the current mapping, they will be stretched across or
over the mesh. Saying that, if you feel confident with creating multi-layered procedural maps (which
you should be if you've gone through some of the other tutorials in this book, as there are a ton of
them), try creating a rock and/or foliage texture this way using Object XYZ mapping, as the texture
will not be smeared over the mesh using this mapping type, or if you are competent using nlultiple
mapping techniques (such as using relaxed lJVW mapping) you sliould be able to map bitmap tex-
tures over the terrain with a little bit of effort. You tilay also want to utilize material displacement.
276 EARTH

which may increase rendering times, but the results are exceptional (drop the base plane's density
down though first!). Should you feel like it is taking too long to render the material displacement, try
converting the scene to use the Mental Ray renderer as its displacement is a lot nicer than the standard
renderer, and also yields better results.
Depending on how loose you fcel the snow is on the peak, you could simulate gusts of wind blow-
ing the snow off; have a look at the reference material in the Snowflake tutorial to see how snow
behaves in the wind. To get particles to emit from the peak, use either a Volume Select modifier (as the
mesh density is adjusted at render time) to select a small area of vertices or polygons at the top of the
peak by amending the positioning of the Volume Select's Gizmo, or create a proxy object with a
grayscale texture assigned to it that a Position Object operator could use to emit particles based on the
grayscale strength. Using either one of these emission methods, facing particles (to reduce polygon
count and help keep render limes low) can be generated that are affected by a Wind Space Warp and are
blown off at a tangent. With a low opacity material assigned to them, the result can be very convinc-
ing. You may want to go the whole-hog and use the Volume Sclect or grayscale proxy object (or even the
renderable mesh now) to select all (or most) of the snow (use a combination of the Blend material's
Gradient Ramp maps to control this selection) to emit the particles so that they are blown from the sides
as well. If this is the case, they will need to be blown around the sidcs of the mountain top; therefore you
will also need to introduce a low polygon non-renderable version of the mountain as a deflector for the
particles so they don't pass right through the mountain but arc forced around it.
Now you have got one mountain created, try creating an entire mountain range. It may sound like
a daunting task, but shouldn't be too difficult to modify this tutorial to create several pcalts.
Asteroid

Information
In this tutorial we are going to recreate an asteroid that appears to have been captured by a
probe or extremely powerful telescope. We will also be basing our scene on enhanced andlor
false color images of asteroids, which illustrate the colors of the asteroids based on compositional
variances andlor different materials; either way, it makes the end result more aesthetically
pleasing. Firstly, we will create the basic asteroid and generate an initial displacement for it to get
the rough shape laid out. As we do not want to have to handle a lot of detail in the Viewport, we
are going to use material displacement to take care of the fine detail by designing our own
multiple layered crater maps, so we can produce large craters, working right down to the small
impacts, plus some additional debris which has formed on the surface of the asteroid. Because of
this type of medium, our end render will have to be degraded a fair amount, with blurring and
additional noise.
278 EARTH

Analysis of effect
( a ) Contrary to what you may have seen in the movies, we do not
see these huge spiky vicious-looking asteroids with razor-sharp
teeth hurtling towards us. In real life, the majority of the footage we
see are the black and white grainy animations with a low frame
rate; however, like electron microscope imagery there are false or
exaggerated color images which show these asteroids in a whole
new light. (b) Instead of looking slightly textured the asteroids
appear, in these false colored images, quite smooth; almost like a
pebble you would pick up from a beach, with a few image marks on
them. These marks are mainly shaded a light gray-green color
Image courtesy of NASA
which, according to the image source, simulates rock, while the
rest of the asteroid is made up of a orange-brown material which
also seems quite smooth (until you get very close up) which. we are
told, is disturbed surface material (dirt) or regolith. (c) The surfaces
of the asteroids are pitted with different sized craters. each one
with a raised lip to suggest displaced matter. There are also large
areas of untouched but slightly irregularly textured surface mater-
ial between the larger craters which have the occasional small
impact, but that's about all that is visible when viewed from a dis-
tance. (d) The main illumination is from the sun, which casts a sin-
gle crisp and intense shadow right across the asteroid, so that there
Image courtesy of NASA
is no illumination whatsoever where there is shadow; we do not
want the backlit 'where on earth is the light coming from?' Star
Trek school of space lighting in this type of scene because we are
trying to mimic real footage.
To generate the basic shape of the asteroid, we can use a simple
deformation on a Geosphere primitive. To do this, and to ensure that
+.,*I"
I

urface text& appears slightll there is no pinching of the mesh or linear deformation (which you
iatted but qu~te$n?oth w~th.are% would get if you used a Noise modifier), we need to use a procedural
etween larg$r,craters onlykhowq
few small craters along w1th.a sl~c * Y
map set to X, Y and Z mapping co-ordinates to displace the geometry.
1 I*.& L This will take on the form of a couple of nested Noise maps to break
Image cob,I
,,I
,, of NASA up any repetition a single map would generate. The resulting geom-
etry can then be illuminated - we will use a single Direct light to sim-
Iar IIIG UIIC I I ~ I I III I IIIW GIIVIIUIIIIIGIII all!

-objects to reflect light ensure ulate the sun; there is no other lighting in the scene, and as there are
no other objects to reflect light, any shadowed areas will be com-
pletely black, as in the reference material. The craters will be created
using multiple Cellular maps, nested one inside the other, going from
large to very small, which also have Noise maps to break up any solid
colors that define the shape of the craters. To generate the geometry
refinement required to use these maps, we will use material displace-
ment which will refine and displace the mesh at render time. We can
also use this displacement map tree to drive the mixing of two groups
Image courtesy of NASA of Noise maps: one for the rock and one for the regolith on the
.a~elds!p01 sa~ej~ns paAJn3 40 $01 e aAey am asnexq 'zuawau!ya~40 lunowe J!ej e paau am se I!elap
40 larzal wn!pay\l e pasn aAey am .pa!qo a y l o i u6!sse l l ! aM ~ le!Jalew e u! pasn dew e uo paseq
hlawoa6 ayl axlds!p pup a u ! ~ ao ~i pasn s! Ja!y!pow ( u o ~ ~ e w ~ x luawa3elds!a)
o~dd~ xo~ddydsta
a y l 'sa~eldu! Aa~6IeJlnau e 6u!uay~epJO 6~!ua$q6!~q lsn! Aq ' y a w aqua ayl6u!3elds!p Inoyl!rY\
u!eJJal s,p!oJalse ayi 40 sa~eynsJaMol pue as!eJ ue3 am ley1 os Jalual alueu!wnl palqeua aAey aM
.Ja!j!pow a ~ l d s ! aayl u! 6u!ddey\l 6u!ls!x] asn palas uayl 'adh 6u!ddew sly1 asooy3 01 ~a!j!pow
dew m n pJepuels e asn ue3 aM 'Ja!j!pow a~elds!aayl u! uo!ldo m n o i ZAX ou s! aJayi sy
,ysaw ayi uo ~uawa3elds1p Jno ~ o(A~lawoa6
j ayl 01 u6!sse aM sdew ayl U! 6 u ! p ~ ! dAue aAOUlaJ 01)
saleu~p~o-03 6u!ddew ZAX 6u1snaq o l 6u!o6 aJe aM , A J ~ ~ u J p!oJalseo~~ Jno se (a~aydsoa3ayl)
ysaw yseq ayl s! palean ahey aM ieyM 'Ile le s6u!llas Aue 6u!puawe Alp~eyale aM inq ' y y 440 ~
vels o i dais 6!q e al!nb ay!l spunos s!yl :uo!get.ulolu!

.$asad uo!s!rz!pqnS wn!pay\l


ay$ uo YD!IDpue -ra!ypow x o ~ d d vds!a e ppe '/(lleu!j
.6u!ddeyy 6u!$s!x3 asn pue Ja$uaD alueu!wni alqeua
pup 001 01 y16ua~~s ay$$as pup y w s ay$ 01 Ja!J!pow
a~elds!ae p p v ' N V \ ~01ZAX 01adA1 Gu!ddey\l
ay$ $as 'yDe$s Ja!j!pow s,$>a!qo s!y$ 01Jaypow dew
m n e p p v .s$uaw6as oz M!YI 00L 01sn!petl a y I *as
.p!oJaIsv !I laqel pue arz!j!w!~da~ayds0-33e a $ e a ~ ~
' Y O ~ M ~ !do1 o$ y16ual uo!pew!uv 1
/ \ ay$ ul ' 0 0 ~
ay$ $as pue uo$jnq uo!$ew!uv held ay$ YD!ID-I~~!~~ 4

. a u a x a y $ u! 6u!$y6!1 p u e elawe3
a y l dn $as p u e p!oJa$se a y l j o A ~ $ a w o a 6le!l!u! a y l a l e a n l l ! a~M $ s ~ ! jNO l u w d

.u!u.18 J O uo!l!ppu
u!ew arlj L ~ I ~ Lpue
I I J 'a8em~u!eru ayl y l ! ~u! ~ o ~ s!q~
o s a8pn~us04 JnIq alJJ!l e 'a8em! aq] 01 Jolon
, p a ] u e ~ u nppe
, 01 u!e.18 aruos :slnajja .iapuaJ inaj e Yu!ppe 6q ~ Y R U I ! aql JO iiq!pnb aq) apr?.18ap1 1 1 ~
a~ 'iC[[eu!d 'JoIom1euJalle jo saysled r u o p u s ~Maj e ppe 02 Bu!lqsads alJqns e 6q pa(loJluo3 aq oslu [[!M
sderrr pax!ur asaqL .alq!ssod SF! Ie!-ralew ~eu!S!~o ayj 01 asap se s ~ o l o Jno
s la8 DM os Is!Jalcm a3uaJaJa.r
aql way uallel aq ues s ~ o ~ aol sd u r e ~'Ie!Jalew asuaJajaJ aqJ u! paugap se +p!oJajse ayl jo a s v j ~ n s
280 EARTH

Enable Auto Key and go t o frame 200. In the Front


2 Viewport, rotate the Asteroid 125 degrees
clockwise. Turn off Auto Key. In the Top Viewport,
create and position a camera near t o the Asteroid's
surface w i t h i t s target close t o the center of the
Asteroid. Enable Auto Key again at frame 200 and
reposition this camera so that i t rotates around the
side o f the Asteroid object against the object's motion
(or at a tangent). Turn off AutoKey.
Information: We are setting the camera up now so that
we can position the light accordingly in the next step.
Animating the Asteroid object is not a necessary step to completing this tutorial, but it does yield an
interesting result when the animation is rendered to see the crisp shadow cast by the sun pass over
the irregular terrain of the Asteroid.

----------------
T . - e m + - - A A -

-
/
7
*
---
-:--:-
-...--
.. -
3 In the Top Viewport, create a Direct light a fair
..T'
=

-)distance
I~

away from the Asteroid object and

-v.u
.=.
.
1
position its target right in the middle o f the Asteroid.
Label i t Sun. Enable Shadows, set the Multiplier t o 2
.- .
. ..-_
---
- --. -- w -
i t h a color o f RGB 247,250,255, and increase the
,-

-,-- -
W(LI

-
- . HotspotIBeam setting so that i t also increases the
- - ..- FalloffIField t o encompass the entire Asteroid (plus a
--__ -?,L
..I. U

--
-.- .--
-- - -,.-.."
- b i t extra t o be on the safe side). Set the Shadow Map
..--"-. -= -- Bias t o 0.001 and the Size t o 2048 w i t h a Sample
--. -
-"- - -
A . .
. .. . ..- -r- , .
..
Range o f 8. In the Camera Viewport at frame 0 and
w i t h the light still selected, click o n the Place
lighlight tool and run your mouse over the surface o f the Asteroid t o reposition the light
so that i t illuminates the perpendicular o f your Asteroid object as illustrated.

Information: We have created and positioned a tinted (blue to simulate light in space - just a
simple aesthetic) and intensified Direct light as it uses linear shadows; the other lights available have
shadows that fan out, which gives the impression of a light which is at a close proximity, not a
million miles away such as the sun. We have also increased the Shadow Map Size to create nice
harsh detailed shadow with very little or no feathering, which is tucked in nicely behind the
geometry that casts the shadow due to the very small Bias size. We have increased the
Hotspot/Beam and FalloffIField settings past the Asteroid so that the light does not decay from one
setting to the other. We have also extended them so that shadows are cast right across it; shadows
are only cast within the FalloffIField boundary.
ASTEROID 281

P A R T T W O : With the basic scene all set up, we will now create the map tree t o
deform the surface of our asteroid.

flopen the Material Editor and add a Noise map t o " ; ~ ~ ~ Z ~ T G ; - - : ~ r r ~ . - m -u - ~ ~ r O

the first available material slot. Label it Asteroid


Displacement Large. Set the Noise Type t o Fractal and
the Size t o 120. Add a new Noise map into the Color 1 ..
slot and label i t Asteroid Displacement Small. Set the '.:

Type t o Fractal and Size t o 40. Set the Color 2 swatch


--...-..- -.. - ;
' ' ~ G b . ~
,
t o RGB 91,91,91.Go back t o the Asteroid .

Displacement Large map and drag this map t o the - .".I-=


..c- , -.-:

-
-.. I

Map slot of the Displace modifier. Select Instance


when prompted.
i
. ...
, .~
,
~.
., , . .
___
. , .. . .
- ,.., .-----
-8
.-
.,.,,...,
l .'

Information: With the combination of two Noise maps,


we have broken up the repetition and similarities of just a single map. This therefore creates large and
small displacements in the surface of the Asteroid mesh, making it more irregular.

PART THREE: NOWour mesh is complete, we can now create the finer detail on our
asteroid using material displacement and add some color t o it, all using a single
material.

rLabel a new material Asteroid and assign it t o the


3 Asteroid object in the scene. Set the Specular Level -
T+'-;;~--T~;Z~-GT;T;.I~-~-~.:IV,:.
~ , ~ m
. "?=?:'.:
- .
--.-
..-,r..w,
~. - .

..
.
s a ~ = - ~ ~
~ ~

and Glossiness t o 5 and enable Self-Illumination.


-
*
- h 7

Expand the Map's rollout and set the Displacement ..- ,.,,.
,
. .. % . " -.. .,___
,..- . -
. -.. -
amount t o 50. Add a Mix map t o the Displacement -.-. ..*
.-,
. ~. >-. /-.
..- --
..----
?~-.

slot and label it Asteroid Displacement. Add a Splat -. - r--

.--
.-
map t o the Mix slot and label i t Mounds. Set the
Iterations t o 3, Color I t o black and Color 2 t o white
(for reference purposes only). Add a Noise map t o the
Color 2 slot and label i t Mounds Texture. Set the Noise ..-,.
..
,.--. , ,. -:-, .. . y . r- .
~. .
- ... - .- - . .....
. -. .me
-:--.,-
,.,

Type t o Fractal, the Size t o 1 and the Color 2 slot t o


RGB 55.55.55.

Information: We need our asteroid to give off a small amount of sheen (as illustrated in the
reference material), so we have designed a low intensity diffused specular highlight. The Displacement
slot is what drives the Displacement Approx. modifier, which is what is going to control the craters and
other texturing on the Asteroid's surface. We have created the additional surface texturing by adding a
Splat map and breaking it up with a Noise map, to create small irregularly sized and distributed
mounds over the surface.
282 EARTH I

r Add a Mix map t o the Color 1 slot o f the Asteroid


2 ~ i s ~ l a c e m e map
n t and label it Craters Noise Mixer.
Add a Noise map t o the Color 1 slot and label i t Noise
Breakup Dark. Set the Noise Type t o Fractal, Size t o
10, Color 1 t o RGB 12,12,12 and Color 2 t o RGB
25,25,25. Add a Noise map t o the Color 2 slot of the
Craters Noise Mixer map and label i t Craters Noise
Breakup Light. Set the Noise Type t o Fractal, Size t o 5,
Color 1 t o RGB 220,220,220 and Color 2 t o RGB
232,232,232.

Information: This Mix map and two Noise maps are to


break up any repetition in the craters, which we will design momentarily. Even though the craters
will contain multiple Noise maps to break up their texture, there will be some repetition, so these
two Noise maps control the light and dark colors which pass up the map tree; where there is a light
color the Noise Breakup Light map is used, where there is a dark color the Noise Breakup Dark map
is used, and a mixture for colors in-between.

Add a Cellular map t o the Craters Noise Mixer


7 map's Mix Amount slot and label it Big Craters. Set
the Size t o 200, Spread t o 0.1, Bump Smoothing t o 0,
Enable Fractal and set the Iterations t o 1.07. Set the
Roughness t o 0.13 and the High setting t o 0.97. Add a
Noise map t o the Cell Color's slot and label it Big
Craters Noise. Set the Noise Type t o Fractal, Size t o 10
and Levels t o 10. Set Color 1 t o RGB 101,101,101 and
Color 2 t o RGB 122,122,122. Instance this map t o the
-..-- I-..,-.. - - - - - ~_.__
. : -.. : first Division Color slot in the Big Craters map.
.
- - ~ , -,
; ~.", .
~ + - -I I...,..

Information: We are going to be creating the different


sized craters in layers, starting with the largest ones and working our way down in size. The Cell
Characteristics have been amended to increase the size, reduce the spread (else it would cover the
entire surface) and add some variation to the size by using fractal and adaptive settings. The high
threshold was reduced to clip off the blurring of the edges of the crater a little (as has the Bump
Smoothing reduction). The Roughness was increased to add a bit more irregularity to the shape of
the crater. Finally, as we want a large color for our large crater, we need to add a slight noise to it,
hence the presence of the two copies of the Big Craters Noise map, which adds a little bit of texture
to the surface of the big craters thanks to the very slight difference in color in the Noise map(s).
ASTEROID 283

QCopy the Big Craters map into i t s own second


.-------------.,
F-. *G-, ~ ~ D + o - ~ ' " - I Yr ., * * < * ~ - r +'i-mY~---u

f,j~ivision Color slot, go into it and label i t Medium


Craters. Remove the t w o Noise maps from the Cell
Color and the first Division Color slots. Set the Size t o
100 and the Spread t o 0.15. Set the Cell Color's swatch - - 1 . ------
t o black and the first Division Color swatch t o white.

Information: We have kept the majorlty of the exlstlng


settlngs In the Blg Craters map because we can keep some
consistency throughout the map tree, plus there IS no polnt
In re-enterlng the same settlngs when we can just reuse
--
.
--- .
1 ".
-... -- . .- - *.
.-. .- .- --"-: -
what we have already set up. We have, however, decreased
the slze of the cells (or craters) and therefore Increased the spread, whlch packs more In and reduces
the amount of space between each cell. We have also amended the colors to create an indentation
in the middle of the cell and an outward displacement (the ring around the cell) to suggest displaced
material after the impact.

4 into this new map and label i t Small Craters. Set its
Size t o 60. Add a Noise map t o the Cell Color slot and
label i t Small Craters Noise. Set the Noise Type t o
Fractal, Size t o 0.1, Levels t o 10 and Low t o 0.5. Set
Color 1 t o RGB 30,30,30 and Color 2 t o RGB 45,45,45.
Back in the Small Craters map, set the first Division
Color t o RGB 201,201,201.

Information: Agaln, we have got the orlglnal settlngs of ---- --- ,-;. -- --a--,,.a
the craters st111Intact so we do not need to modlfy them . , *.
We have slmply reduced the slze of the craters agarn, and
also reduced the he~ghtof the displaced terrarn around the crater, whlch uses a No~semap to create
~ t sdepth

a~ C O thisP map
~ into the second Division Color
..-----------
CIC i .-iIOb+B.-.
---
.c.Abrljr--I~Q6 -DYzL--r
- - "'?==--
i / slot. Go into this new map and label it Tiny
Craters. Set the Size t o 20, Spread t o 0.2 and turn off
Fractal. Remove the Noise map from the Cell Color slot,
set the Cell Color swatch t o RGB 163,163,163 and the
. ... ,,,. . -. .-,---
-"
<_

."- *
--- - . ----..---
-
-S
-
I ,..
first Division Color swatch t o RGB 226,226,226. Add a -" ---
Noise map t o the second Division Color slot and label i t
Tiny Craters Noise. Set the Noise Type t o Fractal, Size t o - 1; =
0.05, High t o 0.75, Low t o 0.125 and Levels t o 10. Set
the Color 1 swatch t o RGB 205,205,205 and the Color 2 - . .:-. " .. ... ,. --..-.
.>-
s w

swatch t o RGB 220,220,220.


Information: Again, we have created some smaller craters; these being the smallest of the lot,
although the same conditions apply with an indentation and a ring of debris around its edge. The
Noise map in the second Division Color slot is to texture the remaining untouched surface of the
Asteroid which has no craters to give it a slightly bumpy surface.

.-----------
--- .-
mi;.cy-.-'."r,-
"+\ rOD+C7'
-AT--
c.clC11
#I+

2
-.
c ---3**' -%118" --
- 4 A Instance the entire Asteroid Displacement map
tree into the material's Bump slot and set the
: .-,----
---- Bump t o -30. Add a Mix map t o the Diffuse slot and
.' ----..--
-.
..
- ----
.
I .-4-

.
c , . , . . . label i t Asteroid Surface Mixer. Add a Noise map t o
-
4
.
----- ,-*---
-.---
--.--- --, the Color 1 slot and label it Rock. Set the Noise Type
, ---- -

..---
F.
- c
--- r-
----...

,.. __
t o Fractal, Size t o 30, Low t o 0.4 and Levels t o 10. Set
-- - ..--- .--- -. .=
-r ,
-
-
--.*
, -----
I.:---:=1 --- -- Color 1 t o RGB 39,42,36 and Color 2 t o RGB 66,93,92.
.-.2I -
----
- --- - -
.-,---
- - . I - .
, _I .-a
Information: L~ghtcolors generate pos~t~ve d~splacement
-----
-------
.I.-.--
,
..I ----
_ _-.. -**--
--
. .,, .
" <
.
but negatlve bump mapplng, so we use a negat~vebump
map to get the map fac~ngaround the r~ghtway agaln We
L

have added a MIX map to the d~ffuseslot to mlx two colors


together - the green and orangelbrown colors from the astero~dsIn the reference material, but we
cannot just mix single colors as they would look too uniform. Therefore, we w ~ luse
l a comb~nation
of maps to blend them together to remove any un~forrnpattern over the surface In t h ~ sstep we
have just created the green color to simulate rock (accord~ngto the captlon wh~chaccompanies the
reference Images)

Add a Mix map t o the Color 2 slot o f the


" 3-Asteroid Surface Mixer, label it Regolith Mixer
and set the Mix Amount t o 50. Add a Noise map t o the
Color 1 slot and label it Regolith Desaturated. Set the
Noise Type t o Fractal, Size t o 20, Levels t o 10, Color 1 t o
RGB 86,69,51 and Color 2 t o RGB 144.1 12,91. Copy (not
instance) this map into the Color 2 slot o f the Regolith
Mixer map and label i t Regolith Saturated. Amend the
Noise Size t o 10, High t o 0.725, Low t o 0.2 and Color 1
t o RGB 34,18,0. Copy this map into the Color 2 slot, go
into it and label i t Regolith Saturated Big. Set the Size
t o 50 and the Color 2 slot t o RGB 108,65,26.

Information: Regolith (top soil) is situated over the surface of the asteroid in different color
intensities, hence the need to create different sizes and to break up the repetition of a single Noise
map. The colors were determined by point-sampling colors from one of the reference images
provided on the DVD-ROM.
ASTEROID 285

4 7 Add a Mix map t o the Mix Amount slot of the


--
:'Asteroid Surface Mixer map, label i t

..,--- \ . -. .-
RocURegolith Control and set the Mix Amount t o 40.
Add an Output map t o the Color 1 slot and label it
, ..----
____.
Crater Definition. Instance the Asteroid Displacement
map into this map's Map slot. Enable Color map and
--
amend the curve, as illustrated, so that it intensifies
the dark and light areas of the sub-map, making the
transition between light and dark more abrupt.

Informa*ion: Observing the reference material, we


.
.- ,-. - - -- -,
_-.- --.--,
.>".
_*

notlce that there are a few l~ghtgreen areas around the


craters on the surface of the asterold, therefore we can use the d~splacementmap we have created
to generate the same effect We have added an Output map to def~nethe colors a l~ttlemore to
remove any blurr~ngof the transltlon from one D~ffusecolor (rock) to the other (regol~th)We are
s~mplymlxlng the two maps together in the RocklRegol~thControl map as we just want them to
blend them together In places, plus have some areas whlch are not as Intense as others

Add an Output map t o the Color 2 slot of the


pwRocWRegolith Control map, label it
RocURegolith Distribution, turn on Enable Color map
and amend the curve, as illustrated, so we have a
gradual transition from black t o white and a larger
area of white from the sub-map. Add a Speckle map
t o the Map slot and label it RocURegolith Speckle
Small. Set the Size t o 100. Add a Speckle map t o the
Color 2 slot and label it RocURegolith Speckle Large.
Set the Size t o 200. Add a Noise map t o the Color 2 (1
- -
-c---~
. -____
.,1 . ,_ _ _ - -
-. .--..-.,
-:-.;.-*..
01
I

slot of this map and label it RocURegolith Breakup.


Set the Noise Type t o Fractal, Size t o 60, High t o 0.5 and Levels t o 10.

Information: We have used multiple Speckle maps to break up any repetition, and a Noise map to
totally disrupt it so there are large areas without any speckle effect, just as the reference material
illustrates. As we cannot control the falloff from black to white in a Speckle map, we have to use an
additional Output map to handle this. The result is a distribution of the two Diffuse colors which is
irregular but also covers areas in and around the craters.
. Y -
---
1- T.r-- r e -pma--- 4 A t t h e t o p o f t h e material tree, add a Falloff
Y map t o its Self-Illumination slot,
4 set it t o
, ., ShadowILight and label it SI Mask. In the Lit slot, add
q - another Falloff map, change its Falloff Type t o Fresnel
* =-- - , ,, - -----
.....----
.-4---
and label it 51 Rim Effect. Instance the entire Asteroid
- -.---
..--
.'I
"
.w- ----
- .-,--- -
--.--- Surface Mixer map tree into the Side slot of this map.
7
---
.. ---- Set this Falloff map's Output amount t o 5.
---

:
-
w

- - --
,w---
w----
.. ----
-
---..
-- -- . - - - *
Information: Here we have used an enhanced lnstance
of the surface color whlch IS only displayed on the
perpend~cular,thanks to the Fresnel falloff map Thls map
(whlch creates the rim glow) 1s masked by the addltlonal
ShadowIL~ghtFalloff map to only dlsplay the effect where llght IS cast upon ~ ttherefore
, not
dlsplaylng ~tIn areas whlch are In shadow.

P A R T FOUR: Finally, we will add a few post effects t o degrade the image t o make
it look like it has originated from a few million miles away.

4 r Open the Effects panel, add a Film Grain effect


D a n d set the Grain t o 1. Add a Blur effect and
set the Uniform amount t o 1. Add another Film Grain
effect and set the Grain t o 0.4. Finally, open the
render panel and go t o t h e Renderer tab. Set the
Anti-Aliasing Filter t o Blend, set t h e Filter Size t o 4
and t h e Blend t o 0.15. Render o f f the animation.
-- ---
.---. . .-- -- ..
Information: We have added two lots of grain; firstly to
-T add a variation in color across the image, which is then
.~ .-. .. . . -
~ p . L .. --~ . -
~
- .
-
-_.__ - . .
.-
I
-.m--.
-i .- -.,.... blurred slightly. The second grain application degrades the
image further once the blur has been applied so the image
appears like it has been converted from another medium, such as a print, photo or other electronic
format. The Blend Anti-Aliasing filter has been reduced in strength as the blurring is handled by the
post effect, but is still slightly blurry to remove any harsh edges and artifacts from the render.

As we have based our asteroid on cnhanced color images, it is not much of a problem to revert it back
to the 'traditional' grayscale images which are more commonly found on websites and in 'TV docu-
mentaries when illustrating that we're :dl going to die soon from a big rock in the sky. It's just a simple
case of removing the diffuse map tree and replacing it with a reduced version of the displacement map
(a simple instance of the displacement map tree into the slot in an Output map will suffice, which will
give us the opportunity to reduce the intensity of the map tree without affecting the displacement).
Effects wise, there's not much else we can do to the scene to make it look more realistic, unless we
takc a complete u-turn and go for the hyper realism of simulating that we are actually flying around
the asteroid, and not viewing some footage from a probe. In which case you may wish to remove the
existing render effects, add a background image of a star field (etc.) and use Catmull-Rom anti-alias-
ing to enhance any edges in the scene and make detail stand out more.
It is not uncommon for asteroids themselves to have satellites, so you may wish to introduce small
bodies circling the asteroid. If you are feeling really adventurous, you could set up an asteroid field
particle system and have this large asteroid run right through the field so the small particles are
attracted to its mass, and fragment on impact with it, leaving additional debris flying everywhere. This
would result in quite high rendering times, because you would have to use geometry as a deflector for
the particle system, but would also yield an extremely dramatic effect.
from Cigarette Smoke to a Pyrodastic Flm. E Y ~
though some of the tutorials in this setfsn rn pat
necessarily 100% air-related, they do ~QSS~?ESs ~ m e
similar characteristics and/or air d k t s in tfwdr

physical appearance or motion, sa are tt?erg%re


entirely relevant. See the DVD-ROM for more atr
effects in the Videos section.
Cigarette smoke

Introduction
There have been numerous cigarette tutorials available for a long time; one of which is even
included in a tutorial which comes with 3ds max. However, none of these deal with multiple
streams of smoke. Therefore, in this tutorial we are going to create these multiple smoke streams,
emanate from multiple moving points around the end of a cigarette, and to generate the faded
long and thin stream of smoke which trails next to a single stream, using particle spawning as an
emitter for more spawning particles. Each of these streams are going to be passed through to
additional events which are going to control their motion and shape using Space Warps. The
entire effect is going to be based in a smoky cafe; the same place we bought our lemonade
earlier on.. . they seem to let anybody in there these days!
292 AIR

Analysis of effect
-
st a slrght breeze or someone v ~ a l h ~ (a) Cigarette smoke is quite unlike any other smoke formation,
t n n affect the motlorsrof 'We srno forming intricate patterns as it rises through the air and is affected
k
by pressure, turbulence and third party interaction: even breath-
ing can affect its shape. The smoke is, obviously, emitted from the
smoldering end of a cigarette, which is burning in more than one
place. Because of this, multiple streams of smoke are emitted at
the same time. (b) As these trails are very close together, they can
appear to form a single mass of rising smoke; this is mainly due to
the individual trails being broken up after traveling up the cig-
arette, depending on if the cigarette is Cited somewhat (see the
Taking it further section for a continuation on this effit). (c) The

I
the smoke rlses a individual trails are emitted as they have to pass through the sur-
ttien t~eclrnsto c
rounding ash on the tip of the cigarette. This breaks up the trail a
t h c K 011 Its" - -
IS :iffccter! little and allows some of the rising smoke to dissipate away from
the main trail. This can form thinner yet longer trails which inter-
act with the air the same way as the thicker trails, but are simply
less dense. It is the breakup and formation of these smaller, thin-
ner, yet wider trails that defines the appearance of this type of
smoke and is something we definitely should concentrate on to
emulate. As the smoke rises, the surrounding particles in the air
affect its shape and motion; in a confined environment with very
little or no disturbance in the air the smoke will create long emis-
,u u l l l w l r u m
u u,w,\u,, u,, v , sion trails before its rising velocity is dampened by'the resistance of
sh on the smoldering t6, the air particles against the smoke particles and the shape of the
~rmingmultiple trailsk
$ smoke is broken up to form a hazy cloud. (d) With a little more air
turbulence the smoke bobbles a little as it is being emitted and
forms small intricate trails which appear to double back on them-
selves and create detailed arcs. Additional air turbulence will
break these shapes up further with larger arcs, forming even more
intricate shapes, before higher air turbulence finally breaks them
up as before.
The main driving force behind the smoke effect is obviously
going to be Particle Flow, mainly because it gives us the ability to
produce multiple trails with ease. If we were producing a single
trail we could use the legacy particle system, mainly due to its ease
of use and low set up time. The trails themselves will be emanated
from the end of the cigarette which will move around the end
geometry (a hemisphere), leaving small motionless trails as they
go. These trails will themselves be passed onto another event
which will spawn particle trails from these small trailing particles,
which will result in a long and thin band of particles. Additional
smaller emission trails will be generated to produce the thicker
rising trail which the more transparent thin smoke follows. All of
thcsc rising particle trails (not the emission ones) are passed to another event which will drive their
anilllalion. To randomize this we will use multiple Wind Space Warps; one small one to add some tiny
random turbulence, a larger one to create the large lurbulent shapes, and linally a horizontal Wind so
that, after a time (derived by particle age) the particles are blown aside by higher air turbulence: all of
which will be dampened by a Drag Space Warp to suggest air resislance. Lastly. because of the smoky
atmosphere we will add a volu~netriceffect or two to suggest that people have been smoking in the room
for a while.

7 - - : First we will load in the initial scene and set up any Space Warps required
,-.T -,,

t o drive the motion of our smoke.

---------------
-
Open the Airl25-Cigarette-SmokelSourcel ~ ~ r n ~ + o ? O ~ ~ ' C d r d ~ n Ie - ~e m T~ r , - m ~ &
' c - LO:
--
... .
25-cigarette-smoke-start.max file included o n the
DVD-ROM. In the Top Viewport, create a Wind Space -.-...
,,
-
Warp. Set its Strength t o 0.5, Turbulence t o 0.8, -..- .. ~
.-..- -
Frequency t o 0.9 and Scale t o 0.02. Copy this Space -, -

--,
Warp and set its Strength t o 0.2, Turbulence t o 0.4 -.---
.."--
and Frequency t o 5.
, ,.. ,% .. -
... -..-:We have created the Wind Space Warps in
~ ., ;

the Top Viewport so that they are created facing upwards . . .


- ... --., , . . . ~ .<. . *
...... -. - ..-. -- ... _.. .. . - . . ., ....
!,
r - ~ -~- -- .--II.-

and will make the particles we will introduce later on rise as


~

they have a slight strength. Three main factors affecting


the design of the smoke are contained within these Space Warps, and those are the Turbulence,
Frequency and Scale. The Turbulence tells the system how random the shape should be, the Scale
smooths or breaks up this turbulence effect and the Frequency scales the turbulence by increasing
the number of times the turbulence repeats itself. As we have two different frequencies, we will have
a higher frequency within a smaller frequency, therefore creating a small vigorous effect that is
deformed by a larger effect.

=In the Left Viewport, create another Wind Space


'
-Warp. In the Front Viewport, rotate it 157.5
degrees clockwise. Set its Strength t o 0.5, Turbulence
t o 0.4, Frequency t o 0.9 and Scale t o 0.02. In the Top
Viewport, create a Drag Space Warp. Set the Time On
t o -200 and the Time Off t o 1000. Set the X, Y and Z
Axis settings for the Linear Damping t o 30.
- ,. .-. - -- We have created another Wind Space Warp
to catch the particles (after a certain time) and blow them .- ,
sideways with some turbulence to break them up a little.
L .,. . .....,- .,
- -
....... ....
. . ., ..- .
..- -' . -
. :.. .
-
;,.
. .. --m-- .' .,.
.i-.~, . .,
As we are using a fair amount of wind, we need to slow the particles down to simulate air
resistance. To do this we need to use a Drag Space Warp. It has got a negative Time On setting as
we are going to start emitting particles at frame -200 and 1000 frames gives us ample time to see
the smoke form intricate shapes (anything lower just doesn't seem long enough).

- -
Next we will generate a material for the smoke and add some volumetric
effects t o suggest the smoky environment.

.
Open the Material Editor and label a new material
Cigarette Smoke. Set the Diffuse color t o RGB
95,120,150 and enable Self-Illumination. Set the
Opacity setting t o 10. Expand the Maps rollout
of this material and add a Falloff map t o the
Self-Illumination slot. Label this map Smoke Light
Illumination. Change the Falloff Type t o ShadowJLight
and set the Lit slot's color swatch t o RGB 205,212,222.
Expand the Output rollout and set the Output
Amount t o 2.
- -*-
. - We have set up the smoke's mater~al so
that it is virtually transparent and is tinted a desaturated light blue. It has also been set so that when
illuminated directly its colors will be emphasized with a lighter version of the same blue. This is to
suggest the tiny smoke particles catching the light, as they do in real life. We have also set the
Output amount to a higher value to intensify the illumination of these particles.

---------------
,o-. -
.zT, ran+,,.,.=xs r.A..dk,--2,. t,-msG=--2., In the Top Viewport, create a Sphere Gizmo
Atmospheric Apparatus right in the middle of the
'room' with a Radius of about 6000. In the Left
Viewport, move this Gizmo vertically upwards so that
i t s center corresponds t o the ceiling of the room. Scale
it down by 50%.
.,.- . .-. This Gizmo has been introduced to the
cene to position and control volumetric smoke. It has been
positioned right at the top of the scene as that is where its
r
. . ---
:.:-
. . . , .. - - . . . - .. . , . . .
..-...-. . :,-=-"- <! : density is strongest and therefore where the smoke from
other cigarettes will rise to. However, it has been set to a
large size so this smoke can linger in the scene.
Open the Environment panel and add a Fog
-
-"
"1
Atmospheric Effect. Set the Fog Type t o Layered
and set the Top t o 2700, Density t o 100 and Falloff t o
Bottom. Set the Fog color t o RGB 95.120.1 50.
n-.-nv.yy~.:F,a~. . . Here we have added a gentle layered
fogging effect using the color of the smoke so that it is
least dense at the bottom of the room and densest at the
top. The Top setting was derived from the positioning of
the Sphere Gizmo which is placed at the top of the room.
Bottom falloff has been used to get the effect to fade from
--- ,. .- -
.-- -*--
. - - - .* =. .-.-
--.
. .=;:-: ! :
the top setting to the bottom settlng.

/-Add a Volume Fog Atmospheric Effect. Click o n the ;="';=KITZ~-Y-,T- -'-sna-,


%

resulting Volume Fog Parameters' Pick Gizmo


button and select the Sphere Gizmo in the scene t o
add it t o this Atmospheric Effect. Set Soften Gizmo
Edges t o 1, enable Exponential and set t h e color t o
RGB 95,120,150. Set the Density t o 2 and Noise Type
t o Turbulence. Set the Uniformity t o -0.2, Levels t o 5,
Size t o 1000.

- - .-
Usrng the Sphere Gizmo, we have
positioned and set the area where there will be low density
--- - .
--- - --.--
--_---.---_.-- I1 ri
- -
&
-7

!fi 3 . ..
volumetric fog to simulate patches in the cigarette smoke
that has risen and dispersed We have set the Soften G~zmoEdges to 1 to feather off the boundary
of the gizmo, else the fog would not d~minishas much as desired, there would be a cut-off
We have set the Uniform~tyto -0 2 to break up the fog and to add some patches, and we have
increased the Srze so the fogging is not made up of small repetitive patches

y - Finally we will generate the particle system to create the individual smoke
trail generators, emit the trails and then assign the Space Warps to control their motion.

In the Top Viewport, create a Particle Flow system


''--

and label it Cigarette Smoke. Set the Viewport


Quantity Multiplier t o 25, Expand the System
Management rollout and set the Particle Amount
Upper Limit t o 10000000 (the maximum setting).
-
Even though we have reduced the
Viewport Quant~tymultiplier to a lower setting, the way
this works IS that it only reduces the amount of ~nitially
born particles visible to the V~ewport,therefore, if we have
100 particles born and we set it t o 50%, 50 particles will be viewed. But if these 50 particles all
spawn trailing particles, the Quantity multiplier will not reduce the amount of spawned particles per
emitter particle. We have set the Particle Amount Upper Limit to its maximum setting as we will be
using a lot of particles, so do not want the system t o stop emitting once it hits the original cut-off
amount.

-
$,

-
r--

-
-- >
a&7m
,.*ST
-
-'
- Press 6 or click on the Particle View button.
Rename the Event 01 event t o CS Emitter
Generator. Select the Birth operator and set the Emit
- -.-
-. -
-"- Start and Emit Stop t o -200 and Amount t o 4.
.-
k 3

Remove the Position Icon, Speed, Rotation and Shape


-- - .-
-- operators. Add a Position Object operator and add
--: the Ash object t o the Emitter Objects list.
,- -
- --
-.
-
-- - "
.- ',, - - - -. We have set the partlcle blrth to a negatlve
e.1=:- :-- - value as we want some smoke to be already em~ttedas we
1 ' ". - -
r .
- - ' joln the scene, but t h ~ scan lead t o update lags as we
progress through the constructlon process. If you do not
want thls, set the Emrt Start and Em~tStop t o 0 to get the part~clest o be born from frame 0 or turn
off the system durrng constructlon We have removed operators that we do not need, we are only
usrng t h ~ sparticular event to create tralllng parttcles; they are not to be rendered, hence the lack of a
Shape operator.

-.
"
OI 8-r Turn off the particle system. Add a Speed By
"-
--
I .OT

- Surface operator and set i t t o Control Speed


.
--- -
Continuously. Set the Speed and Variation t o 0.5 and
--
-Z- add the Ash object t o the Surface Geometry list. Set
-. -- ,
r
-
.

-- the Direction t o Parallel t o Surface. Add a Spawn test,


=--- - set it t o By Travel Distance with a Step Size of 0.1 and
:T-
-
,,
-,
set the lnherited Speed t o O. Copy and Paste this test
2--. - and set the By Travel Distance Step Size t o 0.05 and
c. the Inherited Speed t o 25 with 10 Variation.
-----
------.- - -
.. - -
--. - - r - - - -,., We have turned off the part~clesystem as
--.."--.
these two Spawn tests produce a lot of partrcles As the
next event or two are golng t o delete the majorlty of them, we can turn the system back on after
we have set up the next couple of steps We have set up two separate Spawn tests to generate the
two types of trall - the flrst produces the w~der(more transparent) tratl due to the emltter particles
belng spaced out and not spawning as many as the other spawn test, as thrs second one has a lower
d~stanceto travel before tt spawns an emltter partlcle and also bunches them up a l~ttleby uslng
tnher~tedspeed
P Drag out a Delete operator t o the canvas t o
"ra
.. .
rr ST-
.Cl,

...
2.

create a new event. Label the event


Transparent Trail Emitter. Set the Delete operator t o -. ---
- -
A

By Particle Age w i t h a Life Span of 100 w i t h 0 +


,-
-

Variation. Add a Spawn test t o the event, set it Per


Second w i t h a Rate t o 100 and set t h e Inherited Speed
t o 0. Drag out a Delete operator t o the canvas t o
create a new event. Label the event Thin Opaque Trail
Emitter. Set the Delete operator t o By Particle Age
w i t h a Life Span of 30 w i t h 0 Variation. Copy the
I--; ;
-=as.
: ,.=--.
-I
----
----. , .
_ . - . .- .. I --.--
./.^, ' 7 r

Spawn test in the Transparent Trail Emitter and Paste


Instanced it into this event. Wire the Transparent Trail Emitter event's input t o the Output
o f the first Spawn test in the CS Emitter Generator event, and wire t h e input o f the Thin
Opaque Trail Emitter t o the output o f the second Trail emitter in t h e CS Emitter Generator
event.
E - .t - 7 % - <:em.
. Still keeping the particle system turned off, we have told the original Spawn tests to
delete after a certain amount of time, so we get a certain length trail emitter generated from the
positions of these spawned particles. These particles will spawn the trails using the instanced Spawn
test we have just created.

fl Drag o u t a Shape Facing operator t o the canvas


t o create a new event and label this event CS
Smoke Rising. Wire the t w o Trail Emitter events t o the
input o f this event. In the Shape Facing operator, click
o n t h e Look A t CameraIObject button and select the
existing camera in the scene and set the Size t o 0.5.
Add a Force operator and add the Wind01 and
Wind02 Space Warps t o its Force Space Warps list. Add
another Force operator and add the Drag Space Warp
*=--F W ' .k!+: ;
t o i t s Force Space Warps list. Add a Material Static
I-. ,: . , .-~, : -.-- ..-
...... ._--.-...-. .-.. ., I

.- -
.,-
* . , ,
- -.- -
. --.
-
-.-.%-+!-
-.i I!!......... . .,..
operator and instance the Cigarette Smoke material
t o i t s material slot. Set the Display operator in this event t o display geometry. Turn t h e
particle system back on.
. L - ~ ' . V . - ~ ~ A : ' . ~ : We are using facing particles as our particle type because they have the least
amount of geometry and can be set to look directly at the camera to produce the maximum amount
of surface space for our assigned material. We have only used the first two Wind Space Warps as we
need the smoke to rise a little first; a short time later the particles will be passed to another event
where the third Wind Space Warp will affect them. The Drag was kept in a separate operator as we
will need to amend a copy of it, whereas we need the Wind settings unaffected.
->* -"Add an Age test t o the event and set the Test
*'-Value t o 60 with 0 Variation. Select the t w o Force
and the Material Static operators, copy them and Paste
Instanced them onto the canvas t o create a new event.
L
Label this event CS Dispersion and wire i t t o the output
of the other event's Age test. Make this new event's
Force operator, containing Drag Space Warp, unique
and set i t s Influence t o 2000. Add a Force operator and
add the Wind03 Space Warp t o its Force Space Warp list.
.. ..., . .- . . , Add a Delete operator t o the event, set i t t o By Particle
.. - _ . ._
,
r r x w - , z
- I ..I:
0 ....,..,
Age and set the Life Span t o 300 with 100 Variation.
Right click the Play Animation button and set the Animation Length t o 1000 t o match the Time
Off of the Drag Space Warp. Render off a few hundred frames of the animation.

'~~---.--'-'-*.-~e-: After a short period of time, approximately 2 seconds or so, the smoke will have
risen and have been caught by the passing air generated by the additional Wind Space Warp. As this
affects the motion of the particles as well, and would speed it up, we have used an amended copy
of the Drag Space Warp and doubled its influence, making the Drag stronger. We have also got an
additional copy of the original Force operator with the two Winds inside, because the particles have
been passed to another event and would not be affected by these Space Warps. The same can be
said for the Material Static operator, so it too had to be dropped into this event. The Delete operator
is set to thin the particles out once we get to a ripe old age of 300 so it appears as if they dissipate
into the cloud of smoke around the ceiling.

Even though we have a n exceptionally large number of opacity-mapped particles and a fair amount of
raytracing, the render times do not take all that long because of the size of the particles and the fact
that they do not overlap much. If this amount of particles overlapped then the render times would
have been high.
The effect does not necessarily need to be improved, because the particle motion and materials
are just about right for the conditions in the scene and the angle of the cigarette. As mentioned in the
analysis, if the angle of the cigarette was steeper, the smoke would pass along (and around) the length
of the cigarette before rising into the air. To simulate this we can use a Speed by Surface operator to get
the particles to follow the length of the cigarette, and using a Wind Space Warp to add a little varia-
tion to the motion, to make the smoke a little wispier, and after a certain time (particle age) we can
pass the particles to another event which has the main Wind and Drag Space Warps in it. Again, il is
just a case of analyzing the effect and breaking it down into its core components; such as 'this hap-
pens, then this happens, then this and then this happens, and so on until we can get it right.
Depending on the conditions of the environment. you will need to amend the smoke's Space Warps
considerably. For example, if you place the cigarette in an external location, or somewhere near a door,
you are going to get gusts of wind affecting the smoke quite frequently, which will disperse it more quickly.
In which case you may want to bypass the event with the rising smoke and go straight to the event with
the horizontal Wind Space Warp (obviously amending the Delete operator's settings accordingly),so that
the smoke does not have time to 'casually' rise into the air: it is vigorously blown aside.
26 Tornado

Information
This housing estate isn't having much luck is it? First it gets set on fire and now a tornado comes
to visit! In this tutorial we are going to create a funnel tornado which is causing havoc behind a
row of houses, kicking up dirt and debris and sucking up the ground material, colorizing the base
of the tornado. In order to create the desired effect we are going to use a combination of
geometry, an exceptional amount of particles to create the wispy debris, and also a little bit of
spline IK and skinning to control the animation of the funnel. Even though there are a lot of
particles flying around in the scene, due to their size they will not take all that long to render.
300 AIR

Analysis of effect
(a) The initial idea was to have several different twister-esque effects
I
dust a n r l cichr~sIS s~tcketiL J tile
~ f~rnnel;
in this book - a tornado, a dust devil and a water spout. However,
while researching the effect it became apparent that they are all very
similar: some even identical albeit from different materials (dust,
earth, debris, water, etc.) which form the effect. Tornados come in all
shapes and sizes, though for this one we are going to concentrate on
the 'traditional' funnel shape, which stretches down from the sky
before coming into contact with the ground, producing a swirling
cloud of debris that hasn't been sucked up into the main body of the
tornado. (b)The funnel itself, for this particular type, is quite opaque
down the middle of the length of the tornado; however, the sides are
more wispy because the water vapor and debris are seen as less dense
from our point of view. The shape of the funnel is tapered a fair
amount, producing a wider cone at the top of the funnel and a point
at the base, because of which there is less visible water vapor and as
such the thinner area becomes more transparent than that the top.
(c) The funnel can be quite erratic, with the top of the tornado
remaining 'stationary' and turning the bottom most point races
across the ground which rips up anything that comes into its path.
The debris caused by this motion is either caught and absorbed into
Image courtesy of D ~ g ~ tVls~on
al
the bottom half of the tornado, with the color of the debris spread-
ing up it, or is flung outwards. (d) Because of the turning motion of
the tornado, the ground which is being affected is hhurned up and
any loose dirt which is not sucked up by the tornado or flung out-
wards forms complex tendril shapes, not dissimilar from cigarette
smoke, which disperse into the air over time.
As the funnel we are emulating is quite opaque, we can use
geometry to generate the basic shape, and materials to add any extra
detail such as any differences in opacity or texture. However, if the
tornado was considerably larger, we would more than likely have to
replace the entire geometry with a particle system; we will use this to
some extent by using the geometry as an emitter to create a faint
cloud effect rotating around the geometry to break up any harsh
edges around the sides of the funnel and to create a more wispy
effect. As we want the top of the funnel to remain mostly stationary,
fured to a certain point in the cloud overhead, we can use skinning
and spline IK to deform and animate the position of the base of the
funnel so that it travels along the ground. Linked to a specific node in
the spline will be the particle systems to generate the dust and debris
kicked up by the funnel traveling along the ground. These will be
controlled by a Vortex Space Warp to get them to spin and a turbu-
lent Wind Space Warp to create tendrils of dust as they rise into the
air,As the entire sky is overcast and the dust, debris and cloud
translucent, we can forego any con~plexlighting setup: a simple non-shadow casting Skylight will suf-
fice, with a single low-intensity Direct light used to generate the diffused sunlight (the positioning
derived from observing highlights i n the scene) which will be mainly used on the funnel to create sub-
tle shading. Finally, as with the Oil Rased Fire tutorial, we can tuck the entire render behind a row of
houses using Video Post to co~npositea masked copy of the backplate on top of the render.

. ,r- *
First we will load in the basic scene in which we will create and animate
the funnel geometry.

Open u p the Airl26~TornadolSource126~tornado~


start.max file o n the DVD-ROM. In the Top
Viewport, create a Cylinder w i t h a Radius of 80 and a
Height o f -1500 directly i n t h e center o f the scene
(we are using a negative value so later settings work
correctly). Set the Height Segments t o 15 and Sides t o
25. Reposition it in the Left Viewport so that the t o p
of i t is situated 1000 units above the ground a t
co-ordinates 0,0,1000. Label this cylinder Funnel.
,*: . .
- ---
-. . . . . . . -. .. . . . . .
-..,.... - T z -;-. --,-- .--*
. 1
-.
Our
~.-."--~~*-~" - ~ nbasic
: scene has a positioned camera --- ,
,
7.7
,

which relates to the camera position that was used to take


the background image. Also in the scene is a ground plane (which simulates the ground) that has a
Mattelshadow material assigned to it so that it is not visible when rendered, but will occlude any
wayward geometry that passes beneath it. We have also got 200 frames in our animation to play
with which gives us ample time to produce some interesting motion. The Cylinder has been created at
a relatively low detail so that we can generate our deformations easily, and also smooth out any
problems with them later on by adding geometty refinement. The Cylinder has also been repositioned
so that the top of it is off camera and is roughly where the low level clouds are situated.

- W i t h the Funnel object selected in the Left


.' Viewport, g o t o the Character menu and select
Bone Tools. Click o n Create Bones in the Bone Tools
panel and in t h e resulting IK Chain Assignment rollout
in the Command Bar, change the IK Solver t o Spline IK
Solver and enable Assign To Children. Create about six
or seven bones so that they are roughly the same
length down t h e middle o f t h e Funnel object from
t o p t o bottom. Right-click t o cancel the construction
process and, in the resulting Spline IK Colver pop-up, amend the number of Spline Knots t o
5 and click OK.
*-
We are using Spline IK to distort our cyl~nderas it is a lot easier to set up and control
than, say, Path Deform or any other deformation-based modifier for this particular scenario It also
allows us to link additional objects to the points that drlve the spl~ne'sdeformation whlch we can
utilize later on

---------------
.. rlg+:,.--Lr,.C.l.r,.---r.I-B, - . Add a Skin modifier t o the Funnel's modifier stack
and add all of the bones in the scene t o it. Click on
.he Edit Envelopes button and amend the envelopes
--
for each bone so that the envelope for one bone
- influences its adjacent bones with the falloff
envelope. With all envelopes edited, in the Front
Viewport amend the positioning of the bottom most
Point helper that was generated by the Spline IK
system so that i t is sitting on top of the Plane and
I
=i - - -- . _ _ . - . - -- . -.
amend the rest of the Point helpers t o form a curved
formation, as illustrated, so that the base of the
Funnel object is pulled up and situated just below the bottom of the Plane object.

'-'rcr.-.-^:---. As the Spline IK amends the positioning of the bones, and therefore affects the
Skin modifier in the Funnel object, any problems due to bad vertex assignment, creasing, stretched
vertices (etc.)will be apparent at this stage and can be easily amended by tweaking the envelopes
a little. However, do not worry too much about it; we are simply using Skin and Bones as a means
to an end and as we are going to be adding modifiers galore to the stack it does not need to be
perfect. Saying that, the bottom most helper does need to be positioned on the Plane object as
we will be linking objects to it later on. At this stage we can see how the Funnel deformation is
going to work; the next stage is to give it the correct characteristics.

.--------------
-.. . ...nPllJr- --. .,
rrlD+o,
.F- - ,a -sYiC-7v Select the Cylinder at the base of the modifier
stack and add a Taper modifier so that it is
situated between the Cylinder level and the Skin. Set
the Amount t o -0.82 with a Curve of - 1.63. Go t o
the Taper's Center Sub-object, and in the Left
Viewport reposition i t about 2500 units vertically
downwards so that the Funnel shape is inverted. Turn
off the Skin modifier and add a Volume Select
modifier between the Taper and Skin modifiers. Set
C I
- -- . - .-. --..:
- 7
, *
.
the Stack Selection Level t o Vertex and reposition i t s
Gizmo Sub-object so that the bottom most ring of vertices are selected. Enable Use Soft
Selection and increase the falloff so that the majority of the Funnel geometry is affected,
apart from the topmost ring of vertices, as illustrated.

Amending the positioning of the Taper's Center glzmo flips the influence of this
modifier around so that we have got our desired shape. We have added the Volume Select modifier
to relax the influence of the Skin modifier around the top of the Funnel so that it does not distort it
too much when we animate it later on.

--------------'
Add an XForm modifier between the Cylinder base
. and the Taper modifier. In the Top Viewport,
enable Auto Key and go t o frame 200. Rotate the
XForm modifier's Gizmo 2000 degrees anti-clockwise.
Turn off Auto key and go back t o frame 0. Right-click
the resulting generated keyframes at frame 0 in the
time bar, select the Z Rotation keyframe and amend
the Out curve t o a linear attack. Click on the arrow
next t o the curve t o pass this curve information t o the
In curve of the next keyframe (at frame 200).

We have added an XForm modifier to


rotate the geometry without rotating the object, therefore any parameters we have already set up
will still distort the object accordingly, but the geometry will be rotating within this deformation. This
rotation has been introduced to allow particles to adhere to the rotation which we will set up later
on. The Out curve of the rotation keyframe at frame 0 has been amended so that the rotation does
not speed up (or slow down at frame 200). Note that I have also hidden the bones as we can control
their influence on the geometry using the Spline IK Point helpers.

-
Re-enable the Skin modifier. Turn on Auto Key and .=-*-.-;Fq';;5T;7--TTT7;;+Jr--z~.
t,-a~;-;--,
.-;-I .
-
---
*a,
.
animate the positioning of the base Point helper
~

over the 200 frames so that i t reaches out across the


scene in the Front Viewport and back again (do NOT a
-.-
-.
7 ,
animate it moving up or down in either the Front or .-. ..
,
--
Left Viewports - keep i t level on the Plane). Add some ..-..
slight irregular side-to-side motion in the Left
Viewport so that the Funnel is not just deforming in
one direction. Animate the other point helpers as well
.-..-
so the Funnel contorts and doubles back on itself a * ,-. - ...., -.
. . :.-. - ? - , - -
little over the 200 frames. Turn off Auto Key.
. -- .---..We can even animate the positioning of the topmost helper to move the entire
Spline setup across the scene as, if we have the Volume Select modifier set up correctly, this will not
influence the top most vertices of the Funnel (or only slightly) as the Volume Select modifier's falloff
prevents this from happening.
---------------
16- 1 -V r rOD+b't-3U ~ . d f r l l l 1 1 . i ' % - B I - d i 7 ~ """Add a Mesh Select modifier t o the top of the stack
-._;
. S T
r
.-
s !
t o clear the sub-object selection. Add a Meshsmooth
.--- modifier and set its Iterations t o I. Go back t o the
.-
--
8 -
bottom of the stack and add a Slice modifier below
--
?U-

-.
.-- the XForm modifier. Reposition its Slice Plane at the
top of the Funnel object so that it is just below the
top capped end of the cylinder and set its Slice Type t o
Remove Top.
Even though we can asslgn the
g*r~r-z-"---+*-:
. .- . .
E 3
1-
F r.i
1 .

.---
.---- -
a
-
- -.. - .I .-
I
. . .. Meshsmooth to the entlre mesh, addlng the Mesh Select
modlfler just tldles thlngs up a Ilttle, removing the sub-
object selection We have added the Sllce modlfler to the stack so that the top of the funnel IS not
distorted and smoothed over by the Meshsmooth modlfler Thls also ensures that any part~cleswe
dlstrlbute over the surface of the Funnel will be around the s~desand not at the top Agaln, just a b ~ t
of housecleaning.

Next we will create, position and link Space Warps t o the funnel
a ~ a Tr1 q l ~ :
(as necessary) t o influence any particles we will create later on.

In the Top Viewport and at frame 0,create a


' -Vortex Space Warp directly over the bottom Point
helper and link the Space Warp t o the helper. Set the
Time On t o -100,Time Off t o 200 and Taper Length
t o 400.Set the Axial Drop t o 0 with a Damping of 1.2,
the Orbital Speed t o 0.3with a Damping of 2 and a
Radial Pull of 0.5with a Damping of 0.Enable CCW t o
match the rotation direction of the Funnel's XForm
modifier.
r"
w 13-
--- . .- .
. . . "-. -
_
.. . . ~
. .- - .
-. .-- -..-- % te
A s,".rhl 9p~:r*n: We have created and posltloned the Vortex
Space Warp so that ~tIS sltuated exactly where the Tornado
toucrie5 me ground By linklng it to the bottom helper ~twill follow the deformation of the Funnel
object, therefore generating a vortex around thls polnt It should now become apparent why we d ~ d
not want the helper to be anlmated vert~cally(along the Z axls) else thls Space Warp and any other
objects such as particles, will be posltloned incorrectly I'm not going to go Into the Ins and outs of
the Vortex's features - ~fyou are unsure of any part of ~ t please
, check the documentation that ships
wlth the product as ~texplalns the features In detall
- In the Top Viewport, create a Deflector Space
- Warp which completely covers the Plane object in
the scene. Set i t s Bounce t o 0.5, and set Variation,
Chaos and Friction t o 25. Still in the Top Viewport,
create a Wind Space Warp. Set i t s Strength t o 0,
Turbulence t o 0.1, Frequency t o 5 and Scale t o 0.01.
Create another Wind Space Warp and set i t s Strength
t o 0.05, Turbulence t o 0.3, Frequency t o 2 and Scale t o
0.05. Finally, still in the Top Viewport, create a Gravity
Space Warp.
'.'...... ...
We have created two slightly different
...*.,

Wind Space Warps to control the formation of the debris particles; one to create neat tendrils and
the other to counteract this and break them up a little while they are being affected by the Vortex
Space Warp. Any 'heavier' debris which is being churned up by the Funnel rushing over the ground
will be flung outwards by the Vortex come crashing back down to earth by the Gravity Space Warp,
and collide with the Deflector Space Warp, which has had its default parameters amended so that it
affects particles as if it were an irregular and rough surface.

- -
W e w i l l create and position lighting t o simulate t h e overcast sky a t this
stage t o reduce scene update times w h e n there are a l o t o f particles present.

" In the Top Viewport, create a Skylight light and


- set i t s Sky color t o RGB 185,193,199. S t i l l in the
Top Viewport, create a Direct light t o the left of the
camera and position i t s Target close t o the center of
the Plane, just behind the Funnel object. In the Left
Viewport, reposition this light vertically upwards
about 1700 units. Enable Shadows, set its Multiplier t o
0.35 and color t o RGB 240,243,249. Enable Overshoot
and set the FalloffIField t o 1500. Expand the Advanced
Effects rollout and set the Soften Diff. Edge t o 100. Set
the Shadow Map Bias t o 0.01 and Size t o 128.
,..
I,'.~.
.",- - . The Skylight light has been created and colored to represent the sky of the background
image (the color was derived from point-samplinga color off the background image). The positioning
of the Direct light is as such so that it corresponds to the highlight visible in the roof glass of a
conservatory built onto the rear of one of the houses in the foreground. This light's color was derived
from a sampled color from this glass reflection and then intensified a little. Overshoot is used to
illuminate any geometry which passes outside the FalloffIField boundary; this boundary is set to
encompass the scene as any object situated outside of it will not receive or cast shadows from this
light. Soften Diff. Edge is used to diffuse the boundary between light and dark shading on an object.
The Shadow Map Bias has been reduced to tuck in any shadows behind the objects that cast them
to prevent them from being detached. The Shadow Map Size has been reduced to speed up
rendering times at the expense of shadow quality. Just to make sure the light is positioned correctly,
amend a Viewport so that you are viewing the scene from the Direct light. Even though the cloud is
virtually covering the entire sky, there is a suggestion of the presence of the sun which will be used
to shade the Funnel and some of the particles.

-.- r.F ,-n,.- Next we will create the particle systems required to generate the
debris and wispy cloud effects and bind them to their relevant objects so they
behave accordingly.

----------------
-- .. ,*+,, .. . S F .
-, . -om-,-=-.
In the Top Viewport, create a Particle Flow
/ /
n z , . - r 'FT
2.

..
1

I
'

.
system and label it Funnel Cloud. Press 6 t o
open Particle View. In the new particle system's Birth
operator, set the Emit Start and Emit End t o 0 and set
the Amount t o 500. Replace the Position Icon
operator w i t h a Position Object operator, enable Lock
On Emitter and add the Funnel t o its Emitter Objects
list. Enable Animated Shape and Subframe Sampling.
Enable Surface Offset and set t h e Max setting t o 50.
.. . .
-
Remove the Speed and replace the Shape operator
.,-.. -. -...- :
.. .. .- -.-
. .. . ...--
- -
~ ~~~

.--a --..>.
~

,., -l ll

w i t h a Shape Facing operator. Click on this operator's


Look A t Cameratobject button and select the scene's Camera. Set the Size t o 300 w i t h 20
Variation and set the Orientation t o Allow Spinning. Add a Material Static operator and set
the Display operator t o show geometry t o see this particle system in action.
.-*.'.?." --..
, -,-.. Ensure that the Rotation operator is above the Shape Facing operator or the facing
>.:
.

particles will not point the right way until the second frame. By locking the particles onto the
geometry, they pick a point on the surface and track it as it deforms. Thanks to the XForm modifier,
the particles rotate around the Funnel giving the impression that they are caught in a vortex that
follows the contour of the Funnel and, due to the Surface offset settings, we have these particles
spread out around the Funnel. Subframe Sampling is used so that the particles follow the
deformation of the geometry more accurately, but if you have a slower machine it is advisable to
disable this feature.
fl -
Set the Display operator back t o showing ticks.
/ -In the Top Viewport, create another Particle

Flow system and label it Touchdown Dust. Set i t s lcon


Type t o Circle and Diameter t o 10. Set the Viewport
Quantity Multiplier t o 10, expand the System
management rollout and set the Particle Amount
Upper Limit t o 10000000 and the Render lntegration
Step t o Frame. Position this particle system in the
same place as the Vortex Space Warp and link it t o the
Spline IK's bottom Point helper as before. In the Left
Viewport, raise the particle system up a little (about
two units) so that it is just off the 'ground'.
.. ... .*"--- As this particular particle system is going to be responsible for creating an
exceptional amount of particles, we have reduced the percentage of particles visible in the Viewport
to speed up Viewport interaction and also increased the Render lntegration Step which speeds up
collision calculations at the cost of accuracy. As this system needs to simulate the dust cloud that the
tornado churns up as it sweeps along the ground, we need the particles to be emitted from this
exact ground interaction point, hence the positioning and linking to the helper which drives the
ground positioning deformation of the Funnel object.

." Re-enter Particle View and rename the


'm''
-,

...- Touchdown Dust system's Event 01 event t o I-


-
-"----..----------..
..- , ,=-:!: rrJc.+u,.=~-:s , +.6.,s.,yc--L,:.
-. ~
'H-.
-'
,,-,sar=--z:w

-
r~----.
...
I - e W T

Tendrils. Set the Birth operator's Emit Start t o -100, .-...".- -


Emit Stop t o 200 and Amount t o 100000. In the -- :

."
..-.. .
Position lcon operator, enable Distinct Points Only. In
the Speed operator, set the Speed t o 10 with a
Variation of 5. Enable Reverse and set the Divergence
t o 10. Replace the Shape operator with a Shape
Facing operator, add the Camera as its Look At object
and set its Size t o 5 with a Variation of 10 and set ! , .,. -
~
.~ -~
~
, -~
: .-. * :: . . . - -:
. _ _ . . a - - -m--.
. ,>..
Orientation t o Allow Spinning. Add a Spin operator
and set i t s Spin Rate and Variation t o 50. Add a Force operator and add the Vortex t o
its Force Space Warps list. Add another Force operator and add both Wind Space Warps
t o i t s Force Space Warps list. Add a Material Dynamic operator. Add a Delete operator and
set it t o By Particle Age with its Life Span t o 100 and Variation t o 50. Finally, add a Collision
test and add the Deflector Space Warp t o i t s Deflectors list.
.. \ c
,- . . . . '. <. ,.
. As we already have the Funnel on the ground, we need the debris and dust to exist
"

as soon as we join the scene, hence the negative Emit Start setting. As Space Warps are the main
driving force behind this system, we only need the Speed operator to add a little extra chaos to the
tendrils to break them up a little. Again we are using facing particles, but this time we will assign a
dynamic material (which we will create shortly) to the system which will cause the particles to fade
as they age. We have split the Forces into two separate groups - Vortex and Wind - as we will utilize
the same Wind settings in another event using instancing, but we'll need to amend the Vortex Force
operator's influence in the other event so we will need to keep it separate. The Collision test has
been added purely to prevent any particles from passing beneath the emission point. This is highly
unlikely due to the Space Warps settings that are present in the event, but the scene may be
amended later on so it is better to set it up now.

.--------------
"* , .<.*<." .---.,. Select the Tendrils event and create an instance
-
-3 -m*&-
rCi)+b7r---L 7"
L- . A> # omr
r .
- o f it. Rename this new event Cloud. Make the
I
-I c L Birth, Position Icon, Shape Facing, Material Dynamic
and Display operators unique. In the Birth operator,
.-- ,- set t h e Amount t o 100. Turn o f f Distinct Points Only in
t h e Position Icon operator, set the Shape Facing's Size
t o 500 and amend the Display operator's color for
Viewport reference. Wire the output o f t h e root o f
the Touchdown Dust system t o t h e input o f the Cloud
--- - --. - - -.- .- ,. event. Set both Display operators t o show Geometry
t o see this system in action. Set them back t o display
ticks afterwards t o speed u p Viewport interaction.
.- .- --
- . - This event is designed to simulate the dust cloud which surrounds the tendrils, therefore
'

suggesting that not all of the dust that is kicked up forms these intricate shapes. However the general
motion is the same as they are both caught in the vortex created by the tornado. Because of this we can
share settings across these two events albeit making a few amendments; as we are creating a large
cloud effect, we can do away with thousands of particles and cheat a little by using large facing
particles and a planar-mapped material to simulate the dust cloud, which we will create shortly.

-.-------------
.-- -
^*.

-
L F 1 rE,*+,,,c7*,

.-
C.*CI1 r---l.

--
-
8
-z.
-s.i--

-
r---

-
,. ,
-
dm7
-,

7
Select the Touchdown Dust root and the Cloud
. event and instance them t o create a new
system and event. Rename the new system Touchdown
. 1-0

,' --- y - --- -- -


- - -- . z , Debris, select i t in the scene and link it t o the bottom
. ;c: r.
Fr---- --..
---
.---
T - - .,-.--
.,- - - -. -. _ _
- - --- -
- .- -
- .- -c
- zr
-. --
---."
Point helper in the scene as before. Set the Viewport
. .
/ _ _

-- --
.-
- ,
Quantity Multiplier t o 100. Back in Particle view, if the
wiring is broken from the new system and the copy o f
-----.
- the Cloud event, wire them together and rename the
,- - - <.,
event Debris. Make the Render, Birth, Position Icon,
--. .
..- --- .-. - - . -.
.I
,
-",
Speed, Spin, Force (Vortex) and Display operators
unique. Amend the Display operator's color.
. . Agaln, as we have the majorlty of the leg work done for us, we can slmply Instance
the relevant sett~ngsand make the ones wh~chneed amend~ngunlque. There are other operators
that we do not need, or need to change their type completely. These will be amended in the next
step. We have had to re-link the particle system to the helper as cloning the system this way made it
link to the IK Chain object in the scene, which is not what we want. As the particle system's icon
had not moved, it is just a simple case of re-linking it.

- Set the Birth operator's Amount t o 5000 and .-


-.
---'-----I-

^^. ,TiJ+U.CY r .~*tcl.--r. I,--PYi'-'*


i
, .mi
the Position Icon operator's Location t o Pivot.
. -
Amend the Speed operator's Speed t o 300 w i t h 200
Variation w i t h a Divergence o f 60. Replace the Shape : :- I :- \'
- -
--
-
-- - -
-
..--
Facing operator w i t h a Shape operator and set its :..---
: ,,-- - -- -

-' - - ---
T
---- -
Shape t o Cube w i t h a Size o f 2. Add a Scale operator -- --
and set the Scale Variation t o 100 f o r all axes. Amend
-..
the Spin operator's Spin Rate and Variation t o 150. -
-
Add a Force operator, add the Gravity Space Warp t o
its Space Warps list and set its Influence t o 200. -- - - -.-. - - -.m.-
. . ,
Amend the Force (Vortex) operator's Influence t o 300.
Replace t h e Material Dynamic operator w i t h a Material Static operator and remove the Delete
operator.
- ~. , .
By increasing the speed and its Divergence setting and reducing the influence of the
Vortex Space Warp, the Debris particles are flung outwards before they come crashing back down to
earth due to the presence of the Gravity Space Warp in the Debris event. As these particles are going
to be picked up and tossed around a fair amount, we have had to increase their Spin rate accordingly.
In addition, these particles will not fade or die, so the Material Dynamic operator has been replaced
with a Material Static operator and the Delete operator removed. You may wish to replace the
Collision test with a Collision Spawn test to get the debris to smash into pieces when it collides with
the ground, but bear in mind that the ground is going to be occluded by the composited foreground
houses so any particle spawning effects may well be occluded or unnoticable.

N e x t w e w i l l set u p t h e materials f o r t h e g e o m e t r y a n d particle systems


b e f o r e s o r t i n g o u t s h a d o w casting options.

- Open the Material Editor and label the first


A
-+ ..- ,
---------------
I rDR+U,"'P, Q . * . + ~ -
r
I .C)T
.
available blank material Funnel Cloud. Enable
Face Map and set the Diffuse color t o RGB
170,172,172. Add a Mask map t o the Opacity slot, label - - 2- ' r ' -

--z-

i t Funnel Opacity and add a Gradient map t o the Map -.


slot. Set the Gradient Type t o Radial with a Fractal
Noise Amount o f 0.5 and Size of 5. Add a Gradient
map t o the Funnel Opacity map's Mask slot and set it
t o Radial. Set the gradient's Color 2 t o RGB 4.4.4and '
Color 3 t o RGB 8,8,8. Instance this material t o the slot - A -

--. - --. - .
- -----.-
- - I -

in the Funnel Cloud system's Material Static operator.


a .- ~ .o..-. - . - . As these particles are not set to fade or die and are constantly changing positions
around the Funnel geometry, we do not need a complex material setup. However, due to the particle
count and need for a wispy smoke effect, the material should be almost transparent to create a
subtle mist around the Funnel. Note that as the Shape Facing operator generates mapping
coordinates we do not need to have Face map enabled, but it is useful to have in case we generate a
(legacy) system that does not have this feature and we use this material on that object.

-
---------------
-
..A. yp. - r2-,+u, -
I"
.
1P + n C t j
Li7
.,. .. -
Label a new material Tendrils, enable Face map
-8 st 51-
r
# *=7
.
and add a Particle Age map t o the Diffuse slot.
"

e Label it Tendrils Color, set Color 1 t o RGB 31,29,27,


Color 2 t o RGB 78,66,54 and Color 3 t o RGB
,--.-- ,- -
.- -. . - - -
-
155,145,135. Add a Mask map t o the Opacity slot,
I _ I_
label it Tendrils Opacity and add a Particle Age map t o

-
its Mask slot. Label this map Tendrils Opacity Control
and set Color l t o RGB 70,70,70, Color 2 t o RGB
I. e -
30,30,30 and Color 3 t o black. Add a Gradient map t o
I -- -- - -. . .-
A , the Mask's Map slot and label it Tendrils Opacity
,>

Shape. Copy the Color 2 swatch into Color 3 and set


the Gradient Type t o Radial. Instance this material t o the slot in t h e Material Dynamic
operator in the Tendrils event of the Touchdown Dust system.
- - .-
- '';. - - The tendril effect in the reference material changes color over time, so we have

introduced a Particle Age map to the Diffuse slot to emulate this. Even though these particles are
tiny, they may still be viewed at close quarters, so we need to assign a map to remove any harsh
edges, which the gradient does adequately.

---- ----- ---


."-
^ L . .
G .,..,
L r - ' , , + " l ~ - ) i r c . C - ..*-m,,;= " '"
Copy the Tendrils material and label the copy
C--
.-
P.. # 7
s
.
-
r
I
- m
Dust Cloud. Rename the Mask map in the

- ..-

.-
---.- i z ------
.
. .
Age map in this map's Mask slot t o Dust Cloud
.
I.-:- -.--. - - - ,,
.. ..----
-
Opacity slot t o Dust Cloud Opacity and the Particle
'\-::- -- '

I - -
-

.-- I -.--
- -
- -. - - - -.
I

m------
-
Opacity Control. Set its Color 1 t o RGB 30,30,30 and
.-I
Color 2 t o RGB 15,15,15. Rename the Gradient map in
. -
the Dust Cloud Opacity map's Map slot t o Dust Cloud
Opacity Shape and click o n the Gradient button next
I T :z
-- I
t o i t s name. Add a new Mask map and select Keep
.---- --
- .-- .-. - . - - . Old Map as Sub-Map when prompted. Label the new
-

Mask map Dust Cloud Opacity Mask and swap the


Map and Mask slots so the Gradient map is in the Mask slot. Add a new Gradient map t o
the Map slot and label it Dust Cloud Fractal Opacity. Set its Gradient Type t o Radial, Noise
Amount t o 0.5, Size t o 5 and enable Fractal. lnstance this material into the slot in the
Touchdown Dust system's Cloud event's Material Dynamic operator.
. ..,..-.*-.- As before, we can take the existing settings and amend them slightly. As the
tendrils and dust are both being emitted from the same 'point' (where the Funnel sweeps along the
ground) they will be made up of the same material. Therefore, their basic material properties will be
identical; the only differences being the size and texture of the dust, which has been amended by
tweaking the opacity of this material copy.

Label a new material Debris and set its Diffuse


R-..

- . color t o RGB 102,95,89. Instance this material t o


="--,-."~-F::GZy+7.h;q*-.r---.r . - m a a - - ~ ~
.=. .7.- - --. ---. ,-.m7

~:
we.
.....
.--, .
a, :-
the Material Static operator i n the Touchdown Debris -~.--:-:-
h. . ., -
__
-d.

$:-. . ., . . ~
.>. .
system. Label a new material Funnel, add a Gradient
Ramp map t o its Diffuse slot and label i t Funnel Dirt. - . .-..
'.....
':'
7 .
...

.
.-
.... - .-. ....
- ..
.

.
,

. . --
,. -.__--
... ,
--
.
I

"-&.
~~~

--
: -7~
L ,.-i-
..... .- 1
.-..
. _.
, ^_?

Set the W Angle setting t o 90 t o get the gradient , . . . . . .


., .. ~ . . . = .- ,__ .
~~

. ~ i,i

- ----- ~.
i --7:
~,.i ;x. -
- _ ~ -
..,
. . . . . --
1 ,

facing the right way, remove the flag at position 50 '


/ ."
--,--
- - ,. -. - . -
-,-- -. .--,- --. . ...... --
1 ; .
-
~
and add flags at positions 15, 35 and 70. Set the flag at
position 0 t o RGB 31,29,27, position 15 t o RGB
r;:-... . . .
-. ".I ., -- .
-
.p - 1,
--:--
...
A-.
)-~Y.-

. ., . . . . ...a - -~ ~, ';::z
78,66,54, position 35 t o RGB 155,145,135 and positions ,F; . . __ .
.-.. - - ..- . - _
.....-... ... . . -
. _
... ._._ -, -.:.. . .:" _O_
...
70 and 100 t o RGB 189,193,196. Add a Falloff map t o
the opacity slot of this material, label i t Funnel Side Opacity and swap i t s colors. Add a
Gradient Ramp map t o the Front slot, label it Funnel Base Opacity, set its W angle setting t o
90 and set the flag at position 50 t o white. Amend the Interpolation t o Ease In.
. - .' - ,
- - - .As
the particles are tiny and move around erratically, we do not need to set up a
complex material for the Debris, just a basic material to tint it a little. The gradients in the Funnel
material consist of two sets of colors which correspond to the cloud color, and the three colors we
have set up in the Tendril and Dust Cloud material's Diffuse Particle Age maps. As this dirt and debris
is being sucked up the funnel, its colors amend accordingly, hence the use of the same colors in our
Funnel's gradient.

"
Right-click the flag at position 50 and select
,"

-Edit Properties. Add a Noise map t o the map


slot in the resulting flag information's pop-up and
label it Funnel Texture. Set its Source t o Explicit Map
Channel, Map Channel t o 2, Noise Type t o Fractal and
Size t o 100. Turn off all particle systems, go t o frame
200, enable Auto Key and set the Phase o f the Noise
map t o 2. Go back t o frame 0, turn off Auto Key and
turn the particle systems back on. Assign this material
t o the Funnel object, right click the keyframes at
frame 0 and select i t s Phase. Amend the Out curve setting t o a linear attack and pass this
curve information t o the In curve of the keyframe at frame 200. Add a UVW Map modifier
t o the Funnel above the Slice modifier, set its Mapping t o XYZ t o UVZ and set i t s Map
Channel t o 2.
. .-. .- '- .*--.-'.'-.-: To remove the single solid texture to the Funnel, we have added a little variation in
...~

texture by animating one of the flags in the opacity map of the Funnel's material. This will create a
varying opacity as the Funnel turns and distorts. We have had to add a UVW Map modifier to the
Funnel because as the object moved or distorted, due to the way Object XYZ mapping works, the
texture would have just 'floated' on top of the object. Therefore using XYZ to UVW mapping we can
lock it to the geometry and distort it with the other modifiers we have got further up the stack.

--..---...--------
.
.-.-. . Back in Particle View, right-click the Funnel
* ? r = - 7 ,,",,*O.,-;-ilF (..,..*L.--~----s".,I.- sr;T" '-'
.
,,I..-
~

z. ,.em,
-. ,
, .-
>...
-- ~ ~

.. - ." . Cloud system and select Properties. In the


.. ,, ..
.;.. . .- .&.I
: Ell
' C1"
-
'.I

em: ,' ._- - -- resulting pop-up, turn off Cast Shadows and Receive
a,::.-:.-I-:,,--- ::1. , - ..
I
, .---~~- :
Shadows. Turn off Cast Shadows and Receive Shadows
. .. .. -. . i
-....I
::-. - i.
J: -. for the Touchdown Dust system's Cloud event by
. .-..:.:..:-..;;
L--"-:
.,-,,.
? - -
-.--- - I
....-.-
.
- .,. right-clicking this event (not the system root),
.--..- .-..- -
I

.. . .- __ .-7-

. - -.
. ..-,-
selecting Properties and turning it off as before.
eT..:
,. -.-~~...
. .~
1~~~
~
... .
.
- ~
- ..
.
-
. . v--.v." ...-.,-. -- As these particular particles are designed
= ... r, .. .-

m i
;; ~~~-
-:-,*:......
,,o. -..--
to be virtually transparent, any light would simply pass
right through them. In addition, because they cover a large
amount of the scene, any existing geometry would be
completely in shadow if shadow casting were left enabled for these particles (Shadow maps do not
handle opacities).

- . - .
Finally w e will set u p Video Post t o overlay part o f t h e backplate o n
t o p o f t h e render t o p u t t h e tornado i n situ.

---------------
!".*.I'
,
8
, -7:-I.
LF-71 ~
..
O +oqE--slw.
D ( ~ O C d . ' i 7 *
.a.
c:-PJ%
--
1.
.-,
*
I
jr-.:

. .-.
..-
-*OT
-"
. ' '
7 Open Video Post, click on the Add Scene Event
:,'- ,-.. button and click OK t o add the camera input.

Click on the Add Image Input Event button and load in


-1
. .
...... nx+.

:.- the tornado-background.jpg image. Highlight both of


c-

.I:;-,.-...-
-7
1 the events and click on the Add Image Layer Event
button. Select Alpha Compositor from the menu and
-,--
-..--,,--',
7
load in the tornado-background-mask.jpg image.
.
lr
---
--
."-..... Change the Mask type t o Luminance and click OK t o
... ...
. - exit the panel. Add an Image Output Event if desired
.-
n . - - ~ - - ~ ~-~
r-- ~~~
. . .- -. .. .. .. -
, -
. ..
-
. _ _ ..,, -.-
. ! --.,,,..
.
'
..,
and render off the animation.
The Alpha Compositor overlays the image on top of the render (the result of the
Scene Input Event), using the Mask map to control how the images are put together. The result is
the Funnel and particles being rendered off against the background that is set in the environment,
with the composited houses from a copy of the background image added on over the top.

We have pretty much perfected this effect. mainly thanks to the sheer amount of particles used and
because our reference material illustrated the effect perfectly. We could, however. try adding a few
extra effects to complement the scene. Currently, the top of the funnel disappears off camera; try
blending it into the cloud layer, by either fading the top of the funnel a little so the texture and color
blend together, or by applying the texture to a plane positioned to represent the sky with a Camera
Map modifier assigned. This way you can deform the mesh of the sky around the top of the funnel and
get them to blend together. However. bear in mind that this would now ;tppear as if the tornado is
some distance away so you may have to create a different mask to overlay the backplate back on top of
the render, as the current one is designed to just overlay the houses in the foreground: in the amended
version you will need to include some of the foliage in the background. You may also need to desatu-
rate the colors a little to suggest atmospheric density because the dirt and debris will be further away;
either perfort11 this task by amending the materials, use environment fogging or perforln the color cor-
rection in post. the latter of which is most advisable as we can see any tweaks we make to the image
autonlatically. therefore saving time.
You may want to completely change the appearance and ferocity of the tornado so that it appears
like some of the reference movies. In which case, set the existing funnel so that it is not renderable and
create a particle system (or clone the existing wispy funnel system) that distributes particles down the
length of the funnel. You can then use these particles, which adhere to the funnel's surface, to emit
trailing particles which are affected by the Wind Space Warp, therefore creating the wispy effect. This
will result in an unbelievable amount of particles but, again, due to their size they will not take long
to render.
Try putting the tornado in different environments. such as a desert or wasteland to form a dust
devil. or (and this would look really good if you could pull it off), have the tornado move from land to
water. and amend the particle materials accordingly so that the tornado sucks up water, forming a
water spout. The technology behind the particles will not change, just the way the nlaterials are dis-
tributed throughout the entire tornado effect. You may also want to create additional debris effects:
try creating instanced geometry of broken masonry, wooden planks. branches, grasses and so on. The
more relevant the debris is to the sccne, the Inore convincing it will appear.
.. ,5 . 27 Eruption

information
With the Volcano mesh already created earlier on in this book, we are going to take the scene
that we have constructed and, using Particle Flow, generate a volumetric cloud effect by
designing an individual smoke puff and animating it using a particle system to simulate a large
eruption from its crater. As the resulting plume of ash and smoke originates from deep inside the
volcano, the cap of the volcano will have been fragmented resulting in a shower of rock debris,
which we will also have to generate. This falling debris will consist of different sized matter so
some will travel faster than others. Because of this we will take the existing copy of the volcano
mesh and generate a deflector based on its terrain so the debris can interact with it. It should be
noted that there are similarities to the construction of this scene to that in the next tutorial in
both the settings and the information contained in the text; this is intentional as both scenes
generate an ash cloud which is created using the same techniques but with different
characteristics. These scenes have also been designed so that merging the two effects together is
a relatively simple procedure; see the Taking it further section for more information.
ERUPTION 315

Analysis of effect
I have to stress that sourcing initial eruption footage is dificult as
there are very few movie cameras pointing at a volcano just as it
starts erupting for the first time. Therefore the footage and images
have been sourced from volcanoes that have already erupted.
However, the initial eruption process can be determined from eyewit-
ness accounts and scientific research, and it goes a little something
like this. (a)The eruption is caused by a build up of gases deep inside
the volcano which, when released, generate a n explosive force that Ithe volcanic aases
shatters the cap (the crater) of the volcano. showering thousands of
d
pieces of rock into the air. (b) The exhaust gases, mixed with hot ash.
a slrigle
debris and smoke, rush out of the vent and into the air at an excep-
nds
tional rate and immediately billow outwards, creating a huge
detailed plume of ash which appears to slow down and gradually rise
up into the atmosphere, while the volcano is still churning out gases
thereby adding more volume to the ash cloud. (c) The cloud itself is
highly detailed due to its size and is virtually opaque, albeit from a
slight transparency around the perpendicular of each puff of ash.
This suggests that the ash is not totally dense, which is also apparent
due to a slight translucency effect with some light passing inside the
cloud and dissipating. (d) It should also be noted that the initial
explosion does not necessarily fire debris and ash directly upwards;
there is a slight to exaggerated ejection angle more often than not.
We are going to use the existing Volcano scene that we have cre-
ated earlier on in the book, but before we begin construction, we are
going to have to make a few amendments to speed up rendering
times by reducing the quality of the shadows because the amount of
geometry produced by the particle system will be very high. The
particle system will in fact consist of three individual systems, all
emitted from one place. First we have the ash plume, which will use on t eh- cloud, :
can be seen
instanced geometry of a Blobmesh object for each particle which is
sculpted to look like a billowing puff of ash. This shape is derived by
creating several scattered spheres over a larger sphere and applying ,I

the Blobmesh to the resulting compound object. The other particle1 - prevaillrly w~rlus-c;arl
arreci ine alrecilon
systems will create the debris; one, again using instanced geometry, k ejecfipyangle
eco~urnw~esi.tia~=
to create fragments, and the other using simple cubes to create tiny
debris which is effective when viewed from a distance. These particle
systems will be ejected at an angle so that the main eruption debris
and ash cloud travels outwards at a tangent. Affected by gravity, the
debris particles (some of which trailing facing particles to generate
dust trails) will fall back down to earth and collide with the side of
the volcano, so a low polygon version of the volcano mesh will be
used to speed up interaction calculations. The materials assigned to
the debris particles will be quite basic, because they are moving so
fast that any detail would be difficult to pick out. The ash cloud's material will incorporate :I Smoke
map to generate the co~nplextexture of the cloud, and some self-illumination to produce a rim-glow
effect to simulate light passing through the more translucent edges of the smoke. In the Pyroclastic t

Flow tutorial we will use a similar setup but with a Translucent shader. In this tutorial's scene. d ~ to~ e
the high contrast. we will create a similar effect using this self-illurnination technique (which is also
present in the Pyroclastic tutorial. but the results are different due to the different shader used). We
are also using this to simulate transparency: actual transparency will not be used due to the amount
of time it would take to calculate transparency at render time Lbr the amount of overlapping geome-
try in the ash cloud. See the Taking it further section in the Pyroclastic Flow tutorial for more infor-
mation on this matter.

-- -- - First we will load in the initial scene and amend some of i t s properties
in order to keep render times low.

-* . *:
--..--,------.------
rL,l+D,-:P. ..ficc,l .,. ,I-XILz- ." '" Open the final scene you have previously created
for the volcano (tutorial #18) or load in the
-
.. .. - - . . . ~-..--,
.. ,.,?
..
.- ..-x ,-
. , -
, ._ -- -
.-- Earth118~Volcanic~TerrainlSourcel18~volcano~
I
--:-' r,r- . i ,- ,
7 r,.- . -ha:'
finished.max file from the DVD-ROM. Re-save the
scene as 27-eruption.max. Go t o t h e Tools menu and
select Light Lister. In the resulting panel, disable the
shadows for the bottom three sets o f lights and
amend the Map Size t o 64 for all lights apart from the
t o p Sun light w i t h the largest Map Size; amend this
1
- --
-, -. .. ;,
..... .
, . .
-.-. . . .
. , .
-, .-,;,...... one t o 256. Set t h e Sample Range (Sm.Range) setting
I
t o 4 f o r each light. Close the panel when completed.
.._'._..li. .- -: It
should be noted that even though the initial frames of the animation will not take
I

all that long to render, the further we progress into the render the longer it is going to take as there
will be more particles present in the scene. The main culprit behind this is the sheer amount of
shadow casting lights in the initial scene, and the time it takes them to prepare before rendering.
They are not entirely to blame; the reason they are taking so long is because of the amount of
geometry in the Ash Cloud system. Therefore, to reduce render times we have drastically reduced
the Shadow Map Sizes and the Sample Range of the lights, and have turned shadows off for a fair
!

few of them. This will result in a faster render at the expense of shadow quality and density.
Alternatively, you may wish to create a different set of lights purely dedicated to illuminating the
particles, so as not to compromise on quality for the volcano. The choice is up to you.
-. . N e x t w e will generate t h e g e o m e t r y t h a t will b e distributed using t h e
particle systems w e will create shortly.

-- In the Top Viewport, create a Geosphere w i t h a


----------------
-... * - rOQ+U,- P I ..C...rl - I.r,-slj---y
# *DT

Radius o f 25 and 4 segments. Create another I --= :


-- --I:
Geosphere w i t h a Radius o f 5 and 2 segments and
label it Ash Puff. Check o n Base t o Pivot. With this
Geosphere still selected, create a Scatter Compound
Object and select the first Geosphere as the
distribution object. Set the Number o f Duplicates t o
30. In the Transforms rollout, set the Rotation t o 360 -
.-
b.,

for the X setting and enable Use Maximum Range,


Scaling t o 75 in the X setting and check on Lock -- .-.
---- - . ----.- ---. -
__. I-
--m--.r *

Aspect Ratio.
-. Here we are simply creating a basic template for the shape of a single particle. Base
to Pivot is used to get the scattered spheres to sit on top of the distribution sphere, and the rotation
used to create different intersections on the main sphere, so the surface will be smoothed out
differently when we apply the Blobmesh object in the next step.

~ ' - ~ ' ; - ' - ~ ~ ~ . U. . ~


. , - a~
u j -~
-u ~ : ~ ~
Create a Blobmesh object. Set the Size t o 8 and the
Render and Viewport Evaluation Coarseness t o 11.
Add the Ash Puff Scatter object t o the Blob Objects
, --
#
c - m
.or

list. Go t o t h e Hierarchy tab, click on the Affect Pivot


Only button then click on Center t o Object. Turn o f f
the Affect Pivot Only button. Add a UVW Map
modifier t o the Blobmesh and set its Mapping
Co-ordinates t o Shrink Wrap.

We have used a Blobmesh object as it


. , . . . . - ,- -. ..--. --.-* .,...
conforms roughly to the shape of our scatter object, ... - . -- - . ___ .- _I

therefore creating the (rough) shape of a puff of smoke.


The detail has to be quite low due to the particle count; millions of polygons could be generated
very easily which would bog down the system. However, if you feel your machine can handle large
polygon counts at render time, feel free to lower the coarseness, therefore refining the mesh and
making the cloud more detailed. We have re-aligned the pivot point of the Blobmesh object so that
it is situated in the center of the mesh. This is essential since the particle system takes this pivot point
as the particle center, which would result in a wayward motion for our particles if the center was not
aligned. U W mapping has been added as we need to add a material which utilizes mapping to our
particles.
---------------
F? > fr-:. r U I I + " ' I - . P , ,l*<.<,:' .',., , - = s ; - - . . . - *
- .-,
- .
F ; '
-.
I

.
In the Top Viewport, create a Box primitive about
200 units in size for all Length, Width and Height
.. settings with 3 Length, Width and Height Segments.

---
: :I
..I
o*:-.'.i

b .!
Label it Fragments01 and clone it another three times.
Collapse each box down t o an Editable Poly and
deform each mesh by pushing, pulling and target
-- -..
L -~ ,
-
-"-
"-
.-
.-.- -"
welding vertices together t o create four individual
shards. Select the three copies and link them t o the
. ----- - .---
.,.
--
"--
1

- --.-.--
j
. ,,
original Fragment01 object.
. . . . . . -.--m:- .--,,
~.-_ . .. . . : . . . ,.-...
-I&-

The particle system that we will design


.--.----
- -
7 . ./i7
-.-,. .r .T
-:...... .- - , - - . ,

later on will reference the Fragments01 geometry and use


it, and the other objects that are linked to it, to randomly distribute them throughout the particle
system, therefore removing the need to set up four separate systems for four separate fragments.

-
Next we will add some Space Warps to the scene to control the
behavior of the particles, and set up objects so that they interact with them.

----------------
P A ,- ro.-.+*7- *
I. c'.-.<-tn. P . 8,-g,'<-
- In the Top Viewport, create a Gravity Space Warp.
q-"*L!E; 1
I_ In the Front Viewport, create a Wind Space Warp
.
- -- and rotate i t 15 degrees anti-clockwise in the Left I
---
CS.i

Viewport. Set its Strength t o 0.01, Turbulence t o 0.1


-. - 4
A!) . - 1 .- - and Frequency t o 2. In the Top Viewport again, create
a UDeflector Space Warp. Set the Bounce t o 0.25,
Variation t o 20, Chaos t o 25 and Friction t o 5.
A - - ,- The Grav~tySpace Warp w~llforce the I
part~cles(the cloud emitters - rocks and debris) to fall
~~~ -
- . . . .
..- -.--..-. ,
,
:__ . - ~
_ . ._ . --
. ,
_,- ..."
--m--.
_
,..,,
- __ -.
downwards while the UDeflector, which generates a slight
I
variance and reduction in motion due to the Friction
setting, prevents them from passing through the sides of the volcano as they fall. The Wind Space I

Warp is used to add a small amount of motion turbulence to the ash cloud to break it up a little. I

Right-click the Play Animation button and set the I


Animation Length t o 200. Copy the Volcano and
label it Volcano Deflector. At the bottom of this copy's
modifier stack, set the Length and Width Segs t o 100.
Select the UDeflector, click on the Pick Object button 1
and select the new Volcano Deflector object. Create a
Drag Space Warp and set the Time Off t o 200. Set the
Linear Damping for all axes t o 2.

Using the existing high polygon volcano as


a deflector would take forever to calculate, so particle
deflection will be performed on a lower polygon version to help speed up render times a little, as there will
be fewer calculations to make. The Drag Space Warp is used to dampen the motion of the ejected particles
so they are emitted at a high velocity, but decelerate due to air resistance. After our debris particles fall
they hit the UDeflector which will tell the particle system to generate more fragments to simulate the
original fragments breaking up and kicking up more debris.

--
? - -
With all of the scene elements now created we will create the particle
systems which will generate the eruption cloud and fragments.

"""In the Top Viewport, create a new Particle Flow


system and label it Eruption. Set the Viewport
Quantity Multiplier t o 100. Using the Normal Align
tool, reposition the particle system's icon so that it is
situated right inside the crater a t the t o p of the
Volcano, as illustrated. Rotate the icon if necessary so
that i t is pointing down and t o the left. Expand the
particle system's System Management rollout and set
the Upper Limit t o 10000000.
I .-.,.,-.-.. '- .. . <. Using the Normal Align tool allows us to w ,;. . . - ....- ,- .
..-. .. - . ..
." ...- -, , .."..
: .
place the icon right at the top of the Volcano without
having to manually reposition it; a couple of clicks and it is situated perfectly. However, we will need
to amend the rotation slightly so we can get it facing the right way - the Normal Align forces the
icon to face downwards, so we will leave it facing in that direction and simply reverse the direction
of the emitted particles in our system. I have hidden the original Volcano mesh so we can see the
positioning of the particle system's icon, else the dense mesh would occlude it. The Upper Limit has
been set at its maximum setting so we do not have any limitation as to the amount of particles we
can have in our system.

-Click o n the Particle View button or press 6 t o


open Particle View. Select t h e Birth operator,
set the Emit Stop setting t o 200 and the Amount t o
1000. In the Position Icon operator, set the Location
Pivot. Ensure that the pivot of our particle system is
not underneath the Volcano Deflector mesh in the
scene. In the Speed operator, set the Speed t o 400
w i t h 200 Variation, enable Reverse and set the
Divergence t o 25.
$ .- '. e. -
.-., .. . -- . Scrubbing through the animation using the , .- . .
-."-.-.-.
,-- ~ -
. - -.-.
--
, .
-..--
-,i
',".
...,
-.>

timebar, we can already see the ejection particles taking


shape. Due to the variation in speed, some particles will overtake others, therefore breaking up any
uniformity in the cloud and occluding the individual smoke puffs, thereby blending them together.
..-----------
-- .- --*
.-- - Replace the Shape operator in the event w i t h a
rDn-u7- r G8A<.q.

-
- Shape Instance operator, add the Blobmesh object
as its Particle Geometry Object and set the Scale
Variation t o 25. Add a Force operator t o the event,
---
------
1- add the Drag Space Warp t o its Force Space Warps list
-
... and set the Influence t o 1300. Add a Spin operator
- and set the Spin Rate and Variation t o 25. Add a Force
-- operator t o the event and add the Wind Space Warp
t o i t s Force Space Warps list.
n . . . . -- .
--- ---- - -. _ _ . .i--.--.
. .."> * '*..r-, ---a ---.
The billowing effect that we have
generated consists of the Spin operator, forcing the particles
to slowly rotate and giving the impression that the ash cloud is expanding internally, and the Drag
Space Warp which has had its influence enhanced a Itttle, simulating air resistance This illlustrates
that we can amend the original Space Warp's settings and then enhance them more in the particle
system, this is useful if more than one operator referenced the single Space Warp in the scene as they
could all have different influences and we could simply amend the setting of the Space Warp to affect
all of the operators Another way to create the billowing effect would be to use a Keep Apart
operator, but as we are dealing with a lot of part~clesit would result in slow calculat~ontimes

.-- . .,. :,rnn+U..L-yr, r.t.ccr.---~- . ,.,.Can;'-- Gu


.'..' Add a Material Static operator and a Scale
- operator t o the event. Set the Type t o Relative
First, and the Animation Offset Keying t o Particle Age.
T :
.
*-
.7 3
Go t o frame 20 and enable Auto Key. Set the Scale
Factor t o 200 for all axes. Go t o frame 200, set the Scale
Factor t o 300 for all axes and turn off Auto Key. Go
back t o frame 0 and add a Spawn test t o the event. Set
its Spawn Rate And Amount t o Per Second and set the
Rate t o 0.5, lnherited Speed t o 150 with a Variation o f
a t . I . . . ,--.
.....
---.---- . ,
.. ..
...-
.......
. .
...I .. - 3.-...
, .. 10 and Divergence o f 30.
...........
' -. .-. The Material Static operator has been

added so that we can add an Ash material to the particle system, which we will design later on. The I
Scale operator has been added to give an initial sudden burst of scaling, so that the particles
suddenly double their size and then continue to grow over the next 180 frames, relative to their
I
birth. The Spawn test has been added to create additional detail to the cloud, so we have got some
particles which expand outwards from the main body of the cloud due to the increased Inherited
Speed, but the Drag Space Warp slows them down again before they can break away completely
and become visible as individual particles. Again, there has been some randomness added to the
scale to break up the cloud a little more. The screenshot shows the particle system using the
Blobmesh as the Display operator has been set to display geometry. Be aware that the Spawn test
produces multiple duplicate particles for each individual particle, therefore greatly increasing the
particle count and therefore the geometry count. If your machine is of low spec, increase the
coarseness in the Blobmesh or reduce the Spawn's Rate, or turn the test off completely if
all else fails.
-" Copy the root node o f the particle system and
*"
>I:?,:-----
paste it t o create a new empty particle system.
Rename it t o Fragments. Add a Birth operator t o the
. .. . ll_: - .--.-
canvas t o create a new event and wire this t o the i\;l
I

?'--- - 7

output o f the Fragments system. Set its Birth --


, ---- - . .--:

.c.*.:

operator's Emit Stop t o 0 and Amount t o 1000. Copy - -,--. ..--,


-..."~~
the Position Icon from the other system's event and + .-.
.. .-..-.
--
Paste Instanced i t into this event. Add a Speed - -
-..-.
,.-~~ ---:~,
operator and set the Speed t o 400, Variation t o 250,
enable Reverse and set the Divergence t o 25. Add a :. . - . . . - ".-...-
- . -"--
.. - , - ,..' . .I, . . .... . . .~ ..,.;.
--U-i

__....~~ ~ -~
- ,>.,..
-- : -
- I-

~~

Shape Instance operator, add the Fragments01


geometry as its Particle Geometry Object, enable Separate Particles for Object And Children
and set the Scale t o 20 w i t h 100 Variation.
. -.. We have copled the extstlng system's root node as this node contains the Icon
_ %

position information and all other basic parameters, such as its Upper Limit. As we want this system
to emit in exactly the same place, we can save time by not having to create and position a new
system by borrowing from the existing one. As the Fragments01 geometry has several child objects
linked to it, we can use it to randomly distribute the linked objects throughout the system.

.' Add a Rotation operator and a Spin operator --.';'7~-~,~;tZ%;.'~7~....--


. - -.
., . -..;-:
t o the event. Set the Spin Rate t o 200 w i t h 50 ~c <,-- -
--
Variation. Add a Material Static and a Force operator. ,c .;;;-I ,- - 7

Add the Gravity Space Warp t o the Force operator's ;7~. -::--;- : ;z.x:,
;, ,*.I-. I...-
2
,
:
I
,:.
.
-.-.
'
,
' I.- , 1 :..-z::-.
,

-
+--.-I ~=:,-=T

--..---
/
--
--^ -,^-I
---.
Force Space Warps list and set the Influence t o 50. ,--.-,-
: -.-.- .
Add a Spawn test, set i t t o By Travel Distance and set
- -.-, .~-

... ..
the Step Size t o 4. Set the Inherited Speed t o 20 w i t h - ,

5 Variation. Add a Collision Spawn test t o the event,


.-, .. ...
- - -, -. 2i.7.: - - - .: --
,.. _
.-A>
add the UDeflector t o its Deflectors list, set the , -- ; ZSZG-
rn

-.
I
1

Offspring t o 2, lnherited Speed t o 75 w i t h 25 I


n , " . --LU . * . . . - ... . .
. -...--- - ..r.
.
._-_ -
<
.w_ ~

.,. = ,
. --. .::. .,:,- . - - - - >.".. : .--
Variation and a Divergence o f 45. Set the Scale Factor
t o 75 w i t h 25 Variation. Drag out a Shape Facing operator t o the canvas t o create a new
event and wire the input of this event t o the output of the Fragment system's Spawn test.
Set the scene's Camera as the Shape Facing's Look A t object and set the Size t o 10 w i t h the
Orientation t o Allow Spinning.
.._,- -.-,-.a
.-.,-: Adding the Rotation and Spin operators sets a random initial orientation and a fast
spin, so that the fragments travel and spin with some vigor. The Force operator's Influence has been
reduced so that it affects the particles subtly, therefore giving the scene and fragments a sense of
scale by not sending them crashing back down. The Spawn test has been added to spawn trailing
particles, which have been passed to the next event where their characteristicswill be set up, and
the Collision Spawn test added to break up the fragments and create a few more due to some of
the volcano's surface being smashed a little on impact.
---------------..
- - , *. . ~ r c , , + c , . . - . - . .,as.q.. .
.-, r,-ssG.: .." .= "-Add a Rotation operator t o the t o p of the
- event (above the Shape Facing operator). Add
#

- -
a Scale operator t o this new event and set its Type t o
r
.,
--
Relative First, Scale Variation t o 25 and Animation
,-.. :: 8.e >
--ma
.- . Offset Keying t o Event Duration. Go t o Frame 10,
enable Auto Key and set the Scale Factor t o 300. Turn
o f f Auto Key and g o back t o frame 0. Add a Material
Dynamic and a Force operator and add the Wind
Space Warp t o i t s Force Space Warps list. Add a Delete
-;.;. ~

__
. . . .. ,*._~,..
---
..-. .. ,- .. .. ._ . - r:.I, I .--..-..,,,.
- -. .r- >.'.
-m
operator and set i t t o By Particle Age w i t h a Life Span
of 20 and leave the Variation set t o 10.
s n x r l - - . ~ , ? *We
: ~ rhave
: had to drop the Rotation operator above the Shape Facing operator else
the initial born particle w ~ lnot
l align itself with the camera properly. The scale has been animated as
before, but this time only over a short duration, which matches the Delete operator's setting. This
ensures that the fragments spawn short trails which spread out (scale) due to wind dissipation.
These particles are then deleted, which tells any Particle Age maps which we will introduce later on
how to distribute its colors across the particle system.

"
Copy the Fragments root system and paste i t t o
,-
create a new system. Label this new system
Debris. Copy and Paste Instanced the Fragment
system's first event and wire i t t o the Output o f the
new Debris system. Make the new event's Birth, Speed,
Spin and Force operators and the Collision test unique
and delete the Spawn test. Set this new event's Birth
Amount t o 5000, the Speed operator's Speed t o 300
and Divergence t o 35. Replace the Shape Instance
operator w i t h a Shape operator w i t h its Shape set t o
Cube and a Size of 2. Add a Scale operator and set the
Scale Variation t o 100 for all axes, set the Spin operator's Spin Rate t o 300, the Force
operator's Influence t o 20 and set the Collision Spawn's Offspring t o 5 with 100 Variation.
I

Z.-F -...---. As we have got the main legwork done in setting up the basic structure of the
A:,-

Debr~ssystem, all we need to do is to amend some of the settings to make the system unique.
However, we have shared a lot of the settings between more than one system because they do share
the same properties, such as being emitted from the same point and (will) have the same mater~al
assigned. We have added a little variation from one system to the next so that it appears as if the
ash cloud has blasted the smaller particles and the shards outwards. These smaller particles travel
further and are therefore less heavy so their speed and gravity influences have been amended
accordingly, plus the spin has become faster due to its size and shape. Upon hitting the surface of
the volcano, they will break up more on impact, hence the higher spawning amount.
-, -,- -
Finally w e will create a n d assign t h e materials f o r t h e particle systems.

--Hide the Fragment01 geometry, its siblings (not .---


?-='--------

r'II.+v,-

. m
-
- -,.-<-s,';-
C C.'*<@.
* .SOT
the particle system), the Blobmesh, its Template - - -.- -7

1% -- 2: II
:-.: 1
.
9
J
1
'

geometry and the Volcano Deflector object. Un-hide


-LA
%?< :, =L: - 1\ _-
the original Volcano object if it was hidden. Open the
Material editor and label a new material Debris and . ---
instance it t o the slot in one of the Material Static
- ,
+". -
--z I _ --
I-

operators in either the Fragment or Debris systems.


Label a new material Trails, enable Face Map and set ---.--.- ' -- - ---
its Diffuse color t o RGB 247,243,227. Add a Mask map
t o its Opacity slot and add a Gradient Map t o the Map e2. . - . --
- . -.I-- . ,-. _- -_----
. ----
.- - -
.. i-
T - -- --..-
.,.. -/ I

slot. Set its Gradient Type t o Radial and set the Noise
Amount t o 0.3, Size t o 7.7 and enable Turbulence. Add a Particle Age map t o the Mask
map's Mask slot. Set Color 1 t o RGB 20,20,20, Color 2 t o RGB 10,10,10 and Color 3 t o black.
Instance this material into the Material Dynamic operator in the Fragments particle system.

As the objects are moving qulte fast, we only need to assign a generic color to
them, and the standard default material color (RGB 150,150,150) does the job perfectly If we
amended the lighting and the contrast in the scene, we would more than l~kelyhave to amend it
somewhat andlor assign a more complex material as the same color would be more visible The Trails
system is very transparent due to the sheer number of particles being spawned and because we
want a wlspy dust trail emanating from the ejected fragments, which d~spersesand fades thanks to
the Parttcle Age map

Label a new material Eruption Cloud. Set the


Shader t o Oren-Nayar-Blinn, the Specular color
t o RGB 225,216,190, and enable Self-Illumination. Add
a Falloff map t o the Diffuse Slot, label it Eruption Ash
Color Falloff and set i t s Front slot t o RGB 233,232,228
and Side slot t o RGB 203,202,196. Back at the t o p of
the material, set the Self Illumination slot's setting t o
30 and add a Falloff map t o the slot. Label this _ LC
L.L. ' -
Eruption Ash Shadow Illumination. Set the Falloff
-- ---
m . " .. .
...-
Type t o ShadowILight and the Shaded color t o RGB .-- --
. I I
. * I
. ---
.

- S ?
*
,

133,125,119. Add a Falloff map t o its Lit slot and label


it Eruption Ash Rim Intensify. Set the Front color t o RGB 133,125.1 19 and the Side color t o
RGB 203,202,196.
, . .. -
The Falloff maps are used to create a color tint on the perpendicular (like the ash in
the reference material) which is emphasized by adding a map to the Self-Illumination slot to intensify it
around the areas of direct illumination. These colors were derived from observing and point-
sampling the colors in the reference material. The initial Falloff map in the Self-Illumination slot is
designed to slightly tint the shaded areas while the illuminated surfaces utilize an additional Falloff
map to produce a feathered color effect, suggesting that the ash cloud is less dense around the sides
as this rim effect simulates a basic diffused scattering effect.

- '- " A t the t o p of the material, set the Bump


amount t o -50 and add a Smoke map t o the
Bump slot. Label i t Eruption Ash Bump Large. Set the
Source Coordinates t o Explicit Map Channel, the Size
t o 0.2, lterations t o 3 and Exponent t o 0.7. Copy this
Smoke map t o the Color 2 slot and label it Ash Bump
Small. Set the Size t o 0.002, lterations t o 20, Exponent
t o 1, the Color 1 slot t o RGB 185,185,185 and Color 2
t o white. Instance this material t o the Material Static
operator in the Eruption system.
-
-.-
Here we have a comblnatlon of two smoke
maps whlch are of different slzes The slzes are set so that as the Instanced geometry IS scaled up In
the partlcle system, the smaller Smoke bump map will become more prominent so there will be no
overall loss of texture detall or increased texture scallng

-- *.
--*---r-?.mzu
%
::- .- - u Back in Particle Flow, select the Fragments
3-( *-- .- - -
--
-
system, right click its root node and select
Properties. Turn o f f Cast Shadows and Receive
i s Shadows. Select its first event, view its properties and
, .LzlxJ
. -?=Y 1-= .- .- ... enable Image Motion Blur. Turn off Cast and Receive
--=
-.- .==?- Shadows and enable lmage Motion Blur for the
*----z
.----
d:=: - . ==- % =a
- ---- ---
+- .. - =-- "- Debris system. In the Eruption system simply enable
lmage Motion Blur and render off the scene via Video

I.=-. ... . .--. --.. z = - -


3:--- l z - :-: $:T*r- t=--
. . . . . . . . . . " . . . ...
n * . , w - Post as in the original Volcano tutorial.
I

.--- . .-
-.*-.-- Y r- r- -. _=---
--- --.--.*t>-
.) , *- . - -. Due to the amount of llghts ~nthe scene
and because of the sheer number of tiny partlcles flylng
around, hav~ngthese partlcles cast shadows IS llke havlng a fly cast a shadow onto the earth from
outer space Therefore havlng these enabled IS just a waste of CPU power, so we can just turn them
off However they should be left on for the main eruptlon stack Flnally, lmage Motion Blur should
be enabled to all of the particles apart from the tralls, as they are transparent, any lmage Motion
Blur applled to them will reveal the shape of the faclng particle and result In a smear across the
lmage Note You may need to reload the Images in Vldeo Post to point the events (lncludlng the I
compos~tor'smaps) to the correct Image locat~ons I
Even though we have reduced the shadow detail to speed up the render times, you may feel that the
scene is still talring too long to render. To rectify this, you could either reduce the number of lights (and
increase the n~ultipliersettings of the remaining lights to achieve the same illumination). or turn off
shadows for every other light so that the overall number of shadows affecting the ash cloud is
reduced. Alternatively. for drastic measures, try turning off the Shadow options in this Ash Cloud
system's properties so the light preparation stage takes a fraction of the time.
You may also want to speed up the render by reducing the amount of spawned/collision spawned
particles in the three systems. which will reduce the time it takes to calculate the scene before actual
rendering.
Should you wish to progress further with this scene. in the next tutorial we are going to generate
a Pyroclastic Flow which will be emitted from the top of our Volcano. creating a plume of ash before
it falls and results in a fast moving debris cloud racing down the side of the Volcano. As the scene scale
is identical to this we will utilize the original Volcano scene. You could take the scene you have just
constructed in this tutorial and add the Pyroclastic cloud without much hassle. In fact. you could skip
the construction of its Ash puff geometry as we have already created one for this tutorial. and also use
the existing ash material instead, as the next tutorial's ash material utilizes translucency due to the
scene's lighting and background ini:~gebeing amended. One suggestion though. instead of firing off
the Pyroclastic system at frame 0 as suggested in the next tutorial. extend the length of this scene's
animation and introduce the Pyroclastic system at, say, frame 200 which gives us ample time for the
initial eruption ash stack to grow to a decent height. Rear in mind though that we are adding a lot
more geometry to the scene which will result in longer render times, mainly due to the light prepara-
tion tinles and not the actual rendering process.
Try adding erupting lava to the scene: this will not happen at the initial eruption, but shortly
afterwards with an additional eruption plume (not as dense). resulting in a constant shower of glow-
ing molten rock which will I~ardenslightly in mid-air and will shatter in a shower of sparks when it
hits the sides of the volcano. Because of the need of thousands of particles interacting with the
Ll1)eflector in the scene. it is advisable that you only attempt this if your system is quite powerful since
the geometry preparation times will be painful.
The velocity of the erupting particles are not constant in real life once the volcano has been active
for a time; the actual ejected clouds of ash seem to pulse frequently as the lava cap or the volcano
hartlens then disintegrates over and over again. To simulate this effect, try animating the Speed opera-
tor's Speed setting manually by setting keyframes, or navigate to its Speed controller in the Curve
Editor and replace it with a subtle Noise controller to generate the gentle pulsing effect.
28 Pyroclastic flow

Information
We are going to take the work that we did in the tutorial and adapt it to add a large ash cloud
erupting and flowing down a side of the Volcano. After replacing the background image,
repositioning the scene's camera so that it faces up the side of the volcano for dramatic effect,
amending the lighting accordingly to match the change of background and adding any desired
volumetric effects to suggest altitude, we will design and distribute a particle system around a
specific area and get it to eject at a high velocity, decelerate, collapse and roll down the side of
the volcano. We will create the 'puffs' of ash as geometry using a low polygon template to drive
3ds max 64 new Blobmesh object to create a solid puff of smoke. After which we will design and
assign a detailed, yet quite simple smoke map to the particle system. It should be noted that there
are similarities to the construction of this scene to that in the previous Eruption tutorial in both
the settings and the information contained in the text; this is intentional as both scenes contain
an ash cloud which is created using the same techniques but with different behavioral properties.
These scenes have also been designed so that merging the two effects together is a relatively
simple procedure.
PYROCLASTIC FLOW 327

Analysis of effect
(a) Firstly we will cover the science bit. Pyroclastic flows are gener-
ated in one of three ways. Firstly, after a volcanic eruption, a huge
vertical column of ash can form which can reach high altitudes and
should this get too heavy in places, collapses and runs down the side
of the volcano at breakneck speeds. Another way is during the fall of
fresh lava and rock debris, which can cause numerous flows at the
same time. The other way is by part of the volcano collapsing, gener-
ating a large plume of ash which then (again) gets too heavy and
runs down the side of the volcano. (b) Due to the amount of debris
kicked up by this collapse, there is a large distribution of coarse frag-
ments that travel at high speeds down the side of the volcano result-
ing in a turbulent cloud of deposited ash that grows and rises (and
also follows somewhat). This underlying basal flow (debris) is barely
visible when compared to the size of the ash cloud, which is excep-
tionally impressive and detailed. Aesthetically, the resulting ash
cloud is a thick medium-grey substance that appears to be virtually
solid and self-shadowing with slight light distribution within the
cloud. (c) Continuously billowing and growing, the cloud tends to
catch the light (when in direct illumination) somewhat with a
slightly brown hue on the perpendicular, depending on the time of
day and weather conditions. (d) The flow grows exceptionally
quickly as it is churned up by its interaction with the sides of the vol-
cano and can quickly envelop the entire side, leading to a n impres-
sive yet deadly display. It should be noted that the color of the flow
depends on the color of the volcano and how it was formed. For more
information on this and to utilize it in our own system, please view
the Taking it further section.
As we have got the majority of the legwork done for us in the form
of the construction of the volcano, all we need to do is to generate the
particle system and materials assigned to them. Firstly, we need to
replace the background and change the lighting in the scene so that it
corresponds with this new background. The main reason that we will
change the background is so that we can see the falling ash that we are
trying to create more clearly. With a lighting situation like this, extra
detail can be picked out which is ideal, especially for the highly detailed
ash cloud that we need to introduce. This ash effect will be generated
by a combination of procedural bump maps that are used in a mater-
ial that handles the change in color depending on the camera angle
to the smoke puff as described in the initial analysis. This material
will be assigned to a particle system that will be emitted from a posi-
tioned Particle Flow icon at the top of the Volcano object. This mesh
will also act as a deflector for the particles to interact with, so to
keep calculation times down we will create a low polygon version Image courtesy of Un~tedStates Geologtcal Survey
(which won't be rendered) for them to interact with. The emitted particle is ejected at a high vclocity and
gradually slows down due to air resistance, upon which an additional particle is spawned which falls
from the ash stack and slides down the slope, billowing out as it travels thanks to an animated Scale
operator. Multiply this process with a few thousand particles and we will have created a systcln which
(aesthetically) mimics the collapse of an ash stack.

" r . r~ First we will load in the scene we have previously created, amend the
lrvE:
background, add some volumetric effects and change the lighting t o match.

---------------
I-.* rc-7trrjn+0.1'--?~, + ~ p Ia- -
---EICT
r., ~=US=-2, + Open the final scene you have previously created
"

--.- for the volcano (tutorial # I @ or load in the

.'- . --r z
* Earth118Volcanic~TerrainlSourcel18~volcano~
.i

.
- ..-
-
.-
_-
2
--"'
-
l
finished.max file from the DVD-ROM. Re-save the

,
-:- ..-- _ . --
- - - --_
---.-----."----
-
*.
u
l
,__

3
6
e

I
- - scene as 28~yroclastic-flow.max. Press H t o open up
Select By Name, select all of the lights in the scene
and delete them. Open up Video Post and click on the
, --- I
New Sequence button t o clear it out. Open up the
r 2--
Materials Editor and select the Background Bitmap
.
- . - .- --
.. ... - ::
-.
-. - - . map (the sunset) Replace this map with the
Airl28-Pyroclastic-FIo w/Sourcelpyro~cloud~bg.jpg
file on the DVD-ROM.

* . r 6 0 r ~ ? t i o .A
a :large step to start off with, but quite easy. All we are doing here is loading in an
existing asset and removing items that we do not require. As we are changing the background, we
need to replace the lighting in the scene. We have cleared out the Video Post queue as we no longer
need it; just a quick bit of housecleaning.

---------------
C - . 1-t S O L ~+ O + = ~ P + ~ * d + J-
d - are -mu~~-- - Select the camera and reposition it so that, in the
Top Viewport, it is t o the left of the volcano,
looking up its side, as illustrated. In the Top Viewport,
.
create a Sphere Gizmo Atmospheric Helper with a
- radius of about 540 and scale it down vertically in the
GL Left Viewport so that it is about 40% of i t s original
-
height. Position this helper at the top of the volcano
along the side which the camera faces. Clone this
helper another four times, and position another
.- -. .. .- - - . --... -.......,. around the top of the volcano and the rest around
-- --- -- - , ___ "
I
"
n r

the bottom, amending the scaling (but keeping the


scaling uniform) so we have some larger helpers around the base as illustrated.
.,. '.-...-....
,: ,.,-:A lot of clips of Pyroclastic flows that we see in documentaries and other footage
are shot from the ground, so we reposition our camera to create a similar dramatic shot. The
addition of the atmospheric helpers are used to position areas of Volumetric Fog to simulate cloud.
These helpers are positioned to create the impression of two layers of cloud -one formation at the
top of the volcano, and the other around the base, so it appears as if the top of the volcano is
exceptionally high up.

-- -.
Open u p the Environment panel and add a Volume 7--,-?";7=5Z3a7TT*v~ie*IIrmtli'=-~D
C
i-
* .w,
Fog t o the Atmosphere rollout's Effects list. Label
it Cloud. In t h e resulting Volume Fog Parameters
rollout, click o n t h e Pick Gizmo button. Press H t o -
enter Select By Name and add all o f the Sphere
Gizmos. Set Soften Gizmo Edges t o 1, enable
-
---
-7
,

Exponential and set t h e Max Steps t o 50. Change t h e


Noise Type t o Fractal, set the Levels t o 6, Size t o 1000
-
and Uniformity t o -0.25.
,
,-. _ -- .--?. - -:--;--
-
-,.. . . --.-
"-.
..-
.,
. . . - . . A
I 7
- . '*
We Increase the Soften Glzmo Edges
p*-: . " I

so that the shape of the glzmo IS not apparent - the


boundaries of the glzmo are 'blurred' somewhat (or 'feathered') Exponent~alwas used to Increase
denslty depending on distance, so the further away we get Into the cloud, the more dense ~tappears,
otherw~sethe effect would appear too Ilnear. Max Steps was reduced to decrease the rendering tlme
at the expense of a llttle qual~ty,but thls IS negllglble Unlformlty was reduced to create more dlstlnct
puffs of cloud and the Slze Increased to make these puffs a lot larger. Coupled wlth the softened
glzmo edges, thls works effectively The result, when we come to render the scene, will be of the
pyroclastlc cloud flowlng down the slde of the volcano and passing through the cloud.

In the Top Viewport, create a Target Direct Light


t o the side of the volcano and position its target at
the center o f the volcano. Label this light Sun and
reposition i t as illustrated t o match the main key light
position o f the background plate. Enable Shadows
and set the light's color t o RGB 255,233,211. Enable
Overshoot and set the FalloffIField t o about 1500 t o
encompass the volcano. Set the Shadow Map Param's
Bias t o 0.01 and Size t o 1024.
--
- .__. - _ ._- ---..-..
. .
. --
. . ..:: . -.. _"-.-
.
'-'--.-- ' -..- We have created, positioned and slightly
r"- ~

....-. ----.
-
.. I '
-I--. ., ~ ..I

tinted a Direct light to simulate the main key light (the sun)
in the scene. Overshoot was used so that areas outside the FalloffIField would be illuminated (should
any be introduced). FallofflField was increased as shadows are confined within this boundary. The
Shadow Map's Bias was reduced to limit any detachment of shadows from the objects/faces that
cast them, and the Size increased to result in a nice crisp shadow.
--..-----------..
--. *r-,r o D + u - - - r . earotr--*r -
- - ,rr-maa.;-*,
.OT
FC.--
Enable Grid Snap (if not already enabled) and in
the Top Viewport, create a Target Direct Light t o
...--.-
-I
*r.

- the left-hand side of the volcano and drag i t s target


-"-
I . .- t o the center of the volcano. Enable Shadows, set the
-.
.-
- Multiplier t o 0.03 and color t o RGB 144,167,181.
------ Enable Overshoot and set the FalloffIField t o 1055.
.+<."
Turn off Specular, set the Shadow Map Bias t o 0.01,
.--.--
" --
.- " - Size t o 64 and Sample Range t o 4. Still in the Top
Viewport, Instance the light so that it is the same
r ---
..-.-.. - - . . .. * - -
._. .. , .
1
distance from the volcano at the top side, so that i t is
at right angles t o the original. Reproduce this so you
have four lights all at right angles t o one another.

r-"owm~.Li-.We have used low Intensity l~ghtsdue to the flnal amount that we w~llbe uslng In
the scene If the llght Intensity was too hlgh, the entlre scene would be washed out The Ilght's color
was taken by polnt-sampl~ng a color from the background Image rlght out of the materials edltor
and then entering the settlngs Into the llght We do not need specular h~ghl~ghts from each llght In
our array so thls option 1s turned off The Shadow Map Slze was reduced to keep rendering tlmes
down and the Sample Range Increased to blur thls map a little more It should be noted that even
though thls Shadow Map Slze 1s low, ~tmay not be low enough, as there w~llbe an exceptional
amount of geometry In the scene once the part~clesystem has been developed, result~ngIn the
shadow preparation tlme taklng longer than the render Itself Therefore you may wlsh to lower the
size even more Perform a test render at the end of the tutor~aland judge for yourself

x.Enable Angle Snap and set the angle snap setting


t o 2.5 degrees. Select all of the instanced lights
and rotate clone them three times by 22.5 degrees
t o form a complete ring of lights. Select all of these
lights (not their targets) and in the Left Viewport
move them up slightly. Shift-move them t o clone a
new ring so the new ring is positioned above the
volcano. Perform this task again t o create another
ring above these lights and another one beneath
the volcano, pointing upwards. Remove the
Brightness and Contrast render effect, open the
Render Panel and go t o the Renderer tab. Change the Filter t o Catmull-Rom and perform
a test render.
q,...r.qv-~J-:P.ya~ . A lot of lights have been introduced to create a global illumination lighting effect
with multiple lights emitting multiple shadows. Because of the number of shadows in the scene
coming from all directions, the collation of shadows around tight areas will ensure that these areas
become slightly darker as there will be less light illuminating them. This array of lights is similar to
what a Skylight light can produce, but at a fraction of the rendering times. Perform a quick render to
check rendering times - should you feel that it is taking too long, reduce the size of one of the
instanced lights Shadow Map Size by half (and therefore the rest of the array's settings). Don't forget
that the use of the volume fogging will also increase rendering times a little. Catmull-Rom filtering
was used as it produces a nice sharp render which is suited for this type of scene.

Next we will set up the elements in the scene that will affect our particle
system.

-- Hide all of the lights for the time being t o ---------------


I + + . vc.7ilnr,+U,S3p, r.C.,d5m1:r ,I.*.IBZ7p

unclutter the scene. In the Top Viewport, create a


Gravity Space Warp. In the Front Viewport, create a
Wind Space Warp. With this Space Warp still selected,
rotate it 15 degrees anti-clockwise i n the Left
Viewport. Set its Strength t o 0.01, Turbulence t o 0.1
and Frequency t o 2. In the Top Viewport again, create
a UDeflector Space Warp. Set the Bounce t o 0.25,
Variation t o 25 and Chaos t o 50. In the Top Viewport,
create a large Deflector Space Warp at the base o f the p :
,.
. ...,... - .--.
, - ,~ ...
. .. ." ..I ..._-7_"
. ". . - .
Volcano.

.' - *-- :':---: The Gravity Space Warp will force the particles (the cloud emitters - rocks and
debris) to fall downwards while the UDeflector, which generates a slight variance in motion, prevents
them from passing through the sides of the volcano as they fall. The Wind Space Warp is to add a
small amount of motion turbulence to the ash cloud to break it up a little. The Deflector Space Warp
is added as a simple collision detection object to keep particle counts down. As this is situated
off-camera, we can set the particle system to delete any particles which collide with it, as they are no
longer required (unless we start animating the camera position that is).

".-,Copy (not instance) the Volcano and label it ,. ,


ry=~L..~.~
bml
. .. . .
Volcano Deflector. A t the bottom o f its modifier .-
. .
,, ..
..
-.

stack, set the Length and Width Segs t o 100. Select


.-
the UDeflector, click on the Pick Object button and ..
-..--~
-- ,

-.
-- :

select the new Volcano Deflector object. Create a .. -


----.
.-.
,
Drag Space Warp and set the Time Off t o 400. Set the
Linear Damping for all axes t o 2.
h .-.--> .,.* - -. - .-. Using the existing high polygon volcano
would be instant death for our computer, so we are using . . . ---
. . .
particle deflection on a lower polygon version to help
E..z. ,.

m7
~ ~

,,:
.
....- -.-......
" " - .. .-, "
- . . - ..
"
._.- -.m.-,
-I - " .* _ ,,,?
speed up render times a little, as there will be fewer calculations to make. The Drag Space Warp is
used to dampen the motion of the ejected ash cloud so these particles are emitted at a high velocity,
but decelerate due to air resistance and then billow out. After our particles fall from the ash plume
they hit the UDeflector which has slight bounce but no friction so the particles would be traveling
too fast; their acceleration is reduced by the use of the Drag Space Warp else they would just
constantly accelerate and the animation would be over too soon.

- .- F 7..c-KT. . Next w e will create o u r Pyroclastic f l o w and Debris systems using t h e


l o w polygon volcano's sub-object selection as an emitter.

" Right-click the Play Animation button and set the


- Animation Length t o 400. In the Top Viewport,
create a new Particle Flow system and label i t
Pyroclastic Flow. Set the Icon Type t o Circle with a
Diameter of 50. Set the Viewport Quantity Multiplier
t o 10, expand the System Management rollout and
set the Upper Limit t o 10000000. Reposition the
particle system's icon using the Normal Align tool t o
place i t at the top of the Volcano, as illustrated.
,r= - -
1%.
---
.----. -
" , A
r-"i"- - . - - --
- " - " . . . .. ,--We have set the Upper Limit so that there is
no clipping on the amount of particles we can have in the
scene (else particles will just stop being born once the given amount has been born) As we are using
geometry as a deflector, we may get some particle leakage through the mesh, so reduce the Integration
Step to check for collisions at a lower interval, therefore reducing the chance of the odd particle slipplng
through Note that I have amended the color of the Volcano Deflector mesh to differentlate it from the I

original Volcano mesh in the scene (this step shows the original Volcano mesh h~ddenfor illustrative
purposes) We have set the Animation Length to 400 to showcase the effect as the particles wrll not
begin to fall for a time after initial ejection If you have a slower machine, you may not want to render
off all 400 frames as this would take quite a while I

Rename the Event 01 event t o Ash Plume. Set


the Birth operator's Emit Stop t o 400 and
Amount t o 7000. In the Speed operator, set the
Variation t o 200 (Speed is the default 300), check on
Reverse and set the Divergence t o 25. Overwrite the
existing Shape operator with a Shape Instance
operator and set i t s Scale t o 30 with 25 Variation (we
will add the geometry t o this operator later on). Add
a Force operator and add the Gravity Space Warp t o
the Force operator's Force Space Warps list. Set the
Influence t o 10%. Add a Spin operator t o the event
and set the Spin Rate and Variation t o 25.
~ - . The Force's influence has been reduced from 1000 to 10% (1000% is the same as
100% influence on a legacy particle system) so the particles are dissipated a little and give the
impression that they have some mass. The low Spin Rate ensures that these particles tumble slowly
as there will be numerous intersecting particles spinning; if they spin too fast the end result would
look chaotic.

Add a Scale operator and set the Type t o


---...-----------
*.. r .
. .r-"i,Ol)*(.,mP
. r.&C.,g--F,.. ,I..m .rC-7,

Relative First and the Animation Offset Keying


Sync By t o Particle Age. Turn o f f the entire particle
system for the moment (to prevent particle update
lags), go t o frame 20 and enable Auto Key. Set the
Scale Factor t o 250 for all axes. Go t o frame 400 and
set the Scale Factor t o 600 for all axes. Turn o f f Auto 1
Key, go back t o frame 0 and re-enable the particle
system. Add a Force operator, add the Drag Space
Warp t o it and set the Influence t o 2200. Add another n-..--... - . . r 7 ..: .-- .-- . - .* -:;..:.-- ., -.- -.
. ".. - --.-,
.,-7T
-em--,
I "

Force operator and add the Wind t o it.


. . .,As we want our ash cloud to grow substantially as soon as it is emitted, we add a
Scale operator which has its animated Scale Factor offset by the particle's age, so as soon as the
particle is born it is immediately scaled up creating a billowing effect, and continues to grow until
the end of the animation. The Drag Space Warp's Force operator has had its Influence increased so it
affects the particles motion more; we will use its original settings later on in another operator in
another event so it is handy to be able to amend the Influence and not the Space Warp itself. The
Space Warps have been split into separate Force operators so we can use copies andlor instances of
them later on in other events; grouping them together in one operator would result in an amended
influence affecting all of them in that operator which is not what we want.

" ---------------
. .
-
-
I' Add a Material Static operator t o the event. =. *-, r.e.CI(o-
rgCL+ l-->.r r

Add a Speed test t o the event and set the Test


True If Particle Value t o Is Less Than Test Value and set 1
the Test Value and Variation t o 20. Select the Scale, all
three Force operators and the Material Static
operator, copy and Paste Instanced them onto t h e
canvas t o create a new event. Label this event Slow
Ash Plume. Wire the output of the Speed test t o t h e
input of this event. Add a Spawn test t o the t o p o f
.
. - . .-.--
this new event, set the Offspring t o 2, Inherited Speed ,- - ,-
----
m-
--
--.- - -. -.-
m
:-.-;. ".
t o 25 w i t h 50 Variation and 45 Divergence.
.. -...-_ - - . The Speed test checks the velocity of the particles, and if they are below the given
.I

threshold passes them to the next event where they are duplicated and given differing velocities,
ready to be passed on to another event which we will create next. This Slow Ash Plume event has
been introduced purely to keep the same number of particles in the plume with the same
characteristics (hence the instancing of the operators from the initial event), but to spawn additional
particles which will be set to fall back to earth.

fl Copy the Rotation, Gravity Force, Drag Force


and Material Static operators from the Ash
Plume event and Paste Instanced them onto t h e
canvas t o create a new event. Label this event Flow.
Make the new Force operators unique and set the
Influence of the one containing the Gravity t o 75 and
the one containing the Drag's Influence back t o 1000.
Add a Scale operator and set its Scale Factor t o 75
w i t h 10 Variation for all axes. Add another Scale
operator and set its Type t o Relative First, the Scale
Variation t o 25 for all axes and the Animation Offset
Keying t o Event Duration. Turn o f f the particle system again, enable Auto Key and go t o
frame 400. Set the Scale Factor t o 300 f o r all axes, turn o f f Auto Key and go back t o frame
0.Re-enable the particle system. Add a Collision test and add the Deflector t o its Deflectors
list. Drag out a Delete operator t o the canvas t o create a new event and label i t Clean Up.
Wire the output o f the Collision test t o the input o f the Clean Up event. Add another
Collision test t o the Flow event beneath the existing Collision test and add the UDeflector I
t o its Deflectors list. Wire the output o f the Slow Ash Plume event's Spawn test t o the input
o f the Flow event.
..-.'- .. . I, ' .
/ _ .
. Here we
have sent all of the particles from the Spawn test to an event which makes
them fall back down to earth and interact with the UDeflector. However, we have had to set the t

particle scale to 75%, else the particles will inherit the scale of their parent; as we want the particles
to be spawned from inside their parent and not suddenly appear, the first Scale operator resets them
while the second animates them, as before (without the initial burst of scale this time). The second
also has a reduction in scale due to its variation; the particles may be scaled back up and suddenly I
appear over their parents! The first Collision test uses the Deflector at the base of the Volcano which
is off camera to pass any particles that hit it to an event which deletes them; this feature is
introduced to keep geometry counts down as we no longer need to calculate these particular
particles.
. W i t h t h e particle systems designed, w e n o w need t o design t h e particle
'puff' and assign this t o t h e particles.

Temporarily hide the two volcano meshes. In


"

the Top Viewport, create a Geosphere with a


Radius of 25 and 4 segments. Create another
Geosphere with a Radius of 5 and 2 segments and
label it Ash Puff. Check on Base t o Pivot. With this
Geosphere still selected, create a Scatter Compound
Object and select the first Geosphere as the
distribution object. Set the Number of Duplicates t o
30. In the Transforms rollout, set the Rotation t o 360
for the X setting and enable Use Maximum Range,
Scaling t o 75 in the X setting and check on Lock
Aspect Ratio.
. ... ' -,-, Here we are simply creating a basic template for the shape of a single particle. Base
to Pivot is used to get the scattered spheres to sit on top of the distribution sphere, and the rotation
used to create different intersections on the main sphere so the surface will be smoothed out
differently when we apply the Blobmesh object.

the Render and Viewport Evaluation


Coarseness t o 12. Add the Ash Puff Scatter object t o
the Blob Objects list. Go t o the Hierarchy tab, click on
the Affect Pivot Only button then click on Center t o
Object. Turn off the Affect Pivot Only button. Add a
UVW Map modifier t o the Blobmesh and set its
Mapping Co-ordinates t o Shrink Wrap. In Particle
View, select the Shape Instance operator, click its
. .. . ... .. ,. . . . ..
-. . - -. . .
None button and select the Blobmesh object. =-I , . , .
:
- .- ---.
~ ~
: 1
..,- .r ..

We have used a Blobmesh object as it


conforms roughly to the shape of our scatter object, therefore creating the (rough) shape of a puff
of smoke. The detail has to be quite low due to the particle count; m~llionsof polygons could be
generated very easily which would bog down the system. However, if you feel your machine can
handle large polygon counts at render time, feel free to lower the coarseness, therefore refining the
mesh and making the cloud more detailed. We have re-aligned the pivot point of the Blobmesh
object so that it is situated in the center of the mesh. This is essential since the particle system takes
this pivot point as the particle center, which would result in wayward motion for our particles if the
center was not aligned. U W mapping has been added because we now need to add a material
which utilizes mapping to our particles.
v. - Finally, w e will create a n d assign materials to t h e particles t o m a k e
~

t h e m l o o k m o r e detailed.

--..------------
,
3-? *r7 - r-n+o,"~ r.or.s *. , -as;--" - Hide the Scatter, distribution and Blobmesh
# ew,'
--
7--

objects and unhide the original Volcano mesh.


I Open the Material Editor and label a new material
Ash Cloud. Set the Shader t o Translucent Shader and
set the Specular color t o RGB 225,216,190, the
Translucent Clr t o RGB 27,25,24 and enable Self-
Illumination. Add a Falloff map t o the Diffuse Slot,
label it Ash Color Falloff and set its Front slot t o RGB
233,232,223 and Side slot t o RGB 203,202,196.
L ,

C
-
-
.a.
- -
- -. - ._ --.--
_ "
. -
" 7
a We are using a Translucent shader
because, even though there Isn't much translucency In the
ash cloud, ~tdoes reduce any dark patches that would be present wlth the h ~ g hamount of bump
mapplng we are golng to use to generate a smoke texture The Falloff map IS used to create the
color tlnt on the perpendicular (ment~onedIn the Analys~ssect~on),whlch we will emphasize by
add~nga map to the Self-lllum~nat~on slot to lntens~fy~ta llttle

.A- -Back at the t o p o f t h e material, set the Self


Illumination slot's setting t o 30 and add a
Falloff map t o the slot. Label this Ash Shadow
Illumination. Set the Falloff Type t o ShadowILight and
set the Shaded color t o RGB 60,56,54. Add a Falloff
map t o its Lit slot and label it Ash Rim Intensify. Set
the Front color t o RGB 133.1 25.1 19 and the Side color
t o RGB 203,202,196.
.-..*-.,, ,
_..--the colors in theThese colors were derlved from observing
a.?f..,

_-_. _
r' r
;..
2 - - .-. .
r
.
. - -
. .
--. .. -.
-r -,....,.>* reference material. The initial Falloff map
is designed to slightly tint the shaded areas to complement
the translucency, while the illuminated surfaces utilize an additional Falloff map to produce a
feathered color effect, suggesting that the ash cloud is less dense around the sides as this rim effect
simulates a basic diffused scattering effect.
map t o the Bump slot. Label it Ash Bump
Large. Set the Source Coordinates t o Explicit Map
Channel, the Size t o 0.2, lterations t o 3 and Exponent
t o 0.7. Copy this Smoke map t o the Color 2 slot and
label it Ash Bump Small. Set the Size t o 0.002,
lterations t o 20, Exponent t o 1, the Color 1 slot t o RGB
185,185,185 and Color 2 t o white. Select one of the
Material Static operators in the particle system and
instance the Ash Cloud material t o the slot in this .-...,. "_. .,_...- .:-. \ ....
operator. Right-click the root node of the particle
system, select Properties and enable lmage Motion Blur. Render out the animation.
-
Here we have a combination of two Smoke maps which are of different sizes. The
sizes are set so that as the instanced geometry is scaled up in the particle system, the smaller Smoke
bump map will become more prominent so there will be no loss of texture detail. Adding lmage
Motion Blur to the particles blends them together a little and disguises any harsh edges and artifacts
that may exist in the mapping, plus it suggests that the particles are moving at a high speed.

Even though we have got a lot of particles generating the flow effect,some individual particles will be
visible as they fall from the stack. To rectify this, and this is only i f you have a decent computer.
increase either the amount o f initial ejected particles so more particles fall from the stack, or increase
the numbcr o f spawned particles and their speed divergence to fill in any gaps in the cloud.
Alternatively, i f your machine isn't all that great, replace the first Scalc operator in the Flow event
with a Shapc lnstance operator (with the same Scale settings as the rcplaced Scale operator),clone the
existing Rlobmesh object and reduce its detail by increasing the Evaluation Coarseness to. say, about
2 0 and use this in the new Shape Instance operator. Therefore,as the polygon count o f the falling ash
has bcen aln~osthalved. you can increase the amount of spawned fillling particles; adding a little vari-
ation to the way they fall will help fill in any areas. Alternatively, increase the scale of the falling par-
ticles over time lo fill in the gaps.
Because o f the amount o f particles present in our scene, and the type o f geometry used as parti-
cles to create the individual ash cloud 'puffs',render times per frame can increase the further we
progress into the animation. The geometry count is the main culprit behind this which could be
reduced (to a certain extent) depending on the render's canvas size: you could get away with a low
detailed ' p u f f 'with a small canvas, but with larger canvases you will have to set the geometry count
higher to reduce any visible linear edges in the ash cloud. Increasing the detail in the Rlob~neshobjects
will have an effecton the number o f polygons in the scene - even by increasing the detail slightly will
generate an exceptional amount o f polygons (due to the particle count).To get around this, you may
want to reduce the amount of particles in the scene by lowering the amount initially born, or pcr-
centage spawned, but bear in mind that this will result in less particles making up the flow which may
cause gaps in the falling ash cloud.
The large amount of lights will also have an effect on render times because of the sheer number
of shkrdows that will have to be calculated. so you may want to prevent them from casting shadows on
the particles. or set the particles not to receive (or cast) shadows to remove selFshadow~ing.
Currently. our scene simulates a Pyroclastic flow that has occurred due to the top of the volcano
collapsing and resulting plume falling. As mentioned in the Analysis section. another cause of this
would be because of the huge erupted ash stack collapsing and falling down the side of the volcano.
Try simulating this by using a combination of the particle system we have just created and the eruption
ash cloud system in the Eruption tutorial in this book. As both scenes are of the same scale (due to the
source scenes for both tutorial being the result of the Volcano tutorial) and use relatively similar setups
for both particle systems. you shouldn't have much trouble getting the erupted stack to collz~pse.You
can pass particles from multiple systems to the sarne events, so try having two types of Pyroclasticllow.
It might sound a little like overkill, but the resulting scene of a collapsing ash stack and collapsing vol-
cano creating huge plumes of ash and smolce is bound to be exceptionally impressive. Watch out for
particle (and therefore polygon) counts though as they are bound to be killers, especially with the
amount of lights in the scene.
Try changing the material of the volcano to give the impression that all of the snowi has melted
and formed a Lahar (mudslide). Also. add extra steam. cloud and venting ash from pockets down the
sides of the Volcano and create k~llingdebris which also kicks up ash plumes as they travel. Depending
on the position in the cloud. some trailing parts may be wispier than others, so consider incorporating
a little transparency around these areas. Re warned though that due to the amount of particles llying
around, this will crank up the render times as the renderer will have to work out a ton of opacities on
a ton of geometry. One way around this is to convert the scene to use the Mental Kay renderer as it
works nicer with multiple transparencies. or simply use a clone of the system with low opacity facing
particles to create a dust effect around each ash particle.
You may zdso want to convert the crater collapse plume into a n eruption, in which case reduce or
remove the Drag Space Warp's influence on the emitter particles so that they continue traveling
upwards. In which case you will need to reduce their velocities a little, otherwise the emitter particles
will move too fast and look unrealistic as the Space Warp is not slowing them down as muchlany more.
The initial ejected material is of a dark hue, however. after a time this material splits into two
components - a rising vertical eruption column and the falling pyroclastic flow, each of which has a
different material. The heavier material that falls back clown to earth has a visibly different color - a
slightly more brown hue to suggest dirt and debris- while the rest of the plume changes into a lighter
material of ash. smoke and steam (etc.) and continues to rise. Therefore try assigning different mate-
rials to the particle system, so we have one main material for the initial ejection which turns into the
lighter ash and steam material using a Particle Age map and a Material Dynamic operator. The heav-
ier pyroclastic llow material would also be controlled by a Particle Age map and would change color
from the darker material to a slightly lighter and browner material as the particle falls.
suo!lnlos u!-6nld

6ulpea~JayunJ pue dap wau a y l .


a~a!lu!na '3saurel -lo!nnr/ag a ! d l o sdld!olr!~,l
Jaunoa uqoj - s y ~ o r n a Blr!poldxg
~!~ Bu!yum puu 6u~puu~s.iapun :sn!ulpalo.ifid ol al7!n3 s,~t~rro!ss?jio.rd v
a p p s K ~ ase18noa- s~!riruufiaa!,$ 07 lro!l.lnpaillrI riv
f i ~ ri! as.ino3 js.i!q v
uosJalad 'v'v - s . ~ ! u i n ~ i/7!111,q
Kysolpad qdasol - s.)!uiouli(~/7!111d/f).)!sfir/dod3
adod '8 u a q d a ~-sinol,q~ ~II~[I~(/AII,L
u o s a q 3 ~I.a - s . ~ ! u i n r p!17ld
i ~ E.i~)]li,?rii~/:[
uosJapuv .a uqo(- sn!urt)ulia p!nld 1urro!ln111dliio~
ppuaruuro3aJ Klq8!y K J ~ As! put?
~JOM ueX S!~
[I?UO!~~~D 'aldmexa JOJ '.i!v 2117 l u o ~ ~ r lar/L ? ~ s,pue~l~ag-snylr\l.
n~ uue~:pa]!s!~ Jailan aileq
no6 sa3eld May ol pue suoz!~oqJnoK puedxa 03 Kldw!s 's>looqKqde~8ojoydade3spurq jo lo1 r? JI? yo01
no6 lI?r[l1sa88nsosle plnoM 1 .Bu!peaJ Bu!lsa~alu!JOJ aqeru saop J! ssapylaaAau lnq (au!ru J ~ A OKI?M s!
JO lo1 I?) peaq mod Jano ~y%!.' aq Keur J! jo aruos ' p a l u e ~ 3 xwajja IeJnleu asaql 8u!lea~3pu!qaq anua!ns
aql uo dn peaJ pue Kp!p spueq JnoK la8 noK l ~ qjsa88ns l aJojaJaq3 ppoM I Bu!pea~JaqlJnj ~ o d
'I! a l e a ~ 3 aue3
~ a~ M O pue ~ saneyaq J! ~ o 'Inajja
y aql sa11?.1aua3II?LIM
puelsJapun 01 lJels [I!M noK so!.'sua3s asaql jo [le Su!zKleue KH 'no os pue sa~nsodxaIua.rajj!p ' K I ? ~
aql jo saur!l luaJajj!p 'suo!~!puo38u!lqS!l luaJajj!p u! 11 looqs 'Kl!unl~oddoayl ant?q noK j~ ' L I I ? ~noK
leql l3ajja ur? JO Ie!Jaleru a 3 u a ~ a j ynnur
a ~ se looqs pue auo aneq noK j! e ~ a u 1 oap!il ~ 3 ~o eJarnl?nI? a>l1?,1,
.yooq s!ql a3npo~dol peq aney I aur!l pale3011e aql u! jooqs LIE:, I qmru os K~uos! aJayl lnq 'I/VOH-(IA(I
aql uo lepalew a ~ u a ~ aaulos j a ~ aney aM s a Alneaq ~ sl! [le u! p l . 1 0 ~IRJnIeu aql ailJasqo put? ]no 08
01 lnq 'syooq uo aunlJoj e puads pue Ino 08 01 IOU aq ppoM uo!lsa88ns u!ew Kru 'aJojaJaq,T, 'sloarrrala
IeJnlau aql sJanon Klalos q 3 ! q ~Kue 3,ua.w amql 'a8pal~ouyKw 01 'Inq '(jiCJ08all?3JaurJoj ayl KI! atlo
s!ql s s e p noA adoq 1) lea.18 os lou awos '1ea.18 awos :aJaql jno syooq xem spc snoJawnu aJr?aJaqL
.saKa JO las luaJajJ!p I? q8nonll p p o ayl ~ May ol l~rilsl l ! ~
nod s1aAe.u mod uo ]no a m nod uaqM leql pue lepaleul a3ua~aja-1 UMO JnoK azrCl~?u~? pur? u ~ o y1ia.q
p
01 M O pue ~ JOJ yo01 01 l e q uo ~ dse~% ~ J I eJ aneq I~!Mnod 3 ~ e d s!qj 01 la8 noA a w l arll Kq K l ~ n j a d o ~
.paa33ns I~!M nod pup aJaAasJad .sll!ys mod auoq 01 am!l sayel 'senue3 p w lu!l?d +qsnJq LI~!M
BU!~JOMay!l 'pus q l ! ~~J O Mue3 ls!l.re aql ley] uln!paru Jaqlous Kldw!s s! r ~ .unj g a m q ' I ~ I ?anoqy
iJ! YJJOM aJl?SyOOl
a 8 u e ~ l JO
s salnu!w 5 'uo Jalel Jallaq 13ajja ley] alea.13a.1noL sdlaq J! lnq l o p rrl?ay!l yo01 Aem noA %rr!
-uaddeq s! leqM lnoqe 33ajja aql jo an%ole!pBu!uunJ y~!nbI? an!% lsn! p p o 3 noK l?Jawl?3oap!n lel!%!p
~ ~ I ? U I Saneq
E noK J! 'K[a~!leu~allv ~ u ! M ~ ! AaJs noK al!qM l3ajja aql lnoqs salou aysm ue3 noh os lno
Jaded pue [!mad e aye] 'oslv .o!pnls aql 01 y 3 ~ qsazeur! aql la8 nod u a q lnajja ~ aql JO %u!puels~apun
Jallaq e aileq noK os ag u! J! aleanaa 01 q s ! ~ noK plnoqs alqlssod SI? p!.ralew a3uaJajaJ qnnru st? ayt?l
'aJojaq s v 'an![ noK aJaqM uo 8u!puadap 'azvq uo!lnllod ~o lasuns BU!ZI?UII? leqi JO aJnln!d I? aye1 uen
noK 0s noK q l ! elawe3
~ I? aye3 nod Rep [ ~ ? r u ~I?o LIO
u ]no a n noK rrayM uana lsql puau1uIona.I p1noM I
342 APPENDICES

Blaze: The Forensics of Fire - Nicholas Faith


Introlluction to Mathematical Fire modelling - Marc Janssens
Volcano (Eyewitness Guide) -Susanna Van Rose
The Enrtll jronl the Air - Y a m Arthus-Bertrand
Understanding Flying Weather - Derek Piggott
Atmosphere, Weather and Climate - Rodger Barry
Introdnctor~gOceanograph!y - Harold V Thurman and Elizabeth A. Burton
Fundamentals of Physics and Chernistry of the Atinospherr - Guido Visconti
A Short Course in Clorid Physics - R.R. Rogers and M.K. Yau
The Blue Planet - Andrew Byatt, Alastair Fothergill, Martha Holmes and Sir David Attenborough
Cloud Dynamics - Robert A. Houze
The Colour Encyclopedia of Ornan~entmlGr~zsses:Sedges, Rushes, Restios, Cat-tails nncI Selected Barnboos -
Rick Darke
Grasses, Ferns, Mosses (rnrl Lichens of Great Britain and Irelar~d- Roger Phillips and Sheila (;ran1
Grnsses (New Plant Library) - Jo Chatterton and Trevor Scott
Forrn and Foliage Guide to Trees and Shrubs - Susin Chow
The Watercolourist's A-Z of Trees and Foliage: An Illustratd Directory of Trees frwn a Waterc~olourisf's
Perspective - Adelene Fletcher
World's Top Photographers: Landscape -Terry Hope
First 1,ight: A Landscapr Photographer's Art - Joe Cornish
Lnrge Fornlat Naturc~Photography -Jack Dykinga
Even though this book is designed to get you to use your knowledge gained in the Analysis sections in
areas of 3ds mttx in a way in which you may have not done so before so that we did not have to use a
plug-in. there will come a time where you will have to either get your hands dirty and either code a
script or plug-in yourself to do the job. or purchase one of the excellent off-the-shelf plug-ins. Here I
have ~ncntionedbut a few of the plug-ins that are out there; bear in mind that due to the production
time of this book some additional plug-ins may be released and/or some withdrawn between the time
I wrote this (Xmas 2 0 0 3 ) to the time you are reading it.

Afterburn - www.afterworks.com
This plug-in needs no introduction and is one that I would turn to at a moment's notice due to the
sheer range of effects that can be created with it. I could waffle on and on about its features, but therc
is no point as you have more than likely seen it used in several feature films ranging from Arrnogoddo~~
to the iMntris series. Hats off to I<resimir for continuously developing this product while the competi-
tion has faded away.

Phoenix - www.chaosgroup.com
While Afterburn is more suited to creating volumetric cloud. smoke and explosion effects, Phoenix
deals with the other fire effects such as wood or gaseous based fires with exceptional results; but some-
thing more is stirring ...!

Real FlowIReal Wave - www.nextlimit.com


As 3ds max currently has no native fluid dynamics system, Real Flow is the logical alternative giving
us the ability to import scene data from 3ds max and apply almost any fluid-based system ranging
from pouring liquids to floods and with the i~lclusionof Realwlave we can simulate large bodies of
water and have breaking waves, splashes and the like with relativc simplicity.

Dreamscape - www.afterworks.com
Another plug-in lkom the developers of Afterburn. you can expect the same kind of exceptional qual-
ity. The sea shaders are exceptional and can simulate decp oceans, foamy peaks, large bodies of water
and sub-surface cffects quickly and easily. You can even throw objects onto the surface and have them
interact with it, or even propel them across the surf:tcc, creating wakes as they move. Not only does
Drcamscapc produce water cffects, it also has a very nice terrain designer and new materials which
allow us to crcate a variety of terrain effects. Perfect for creating ~nountai~lous terrain. The beauty of
this is that we can also render off the terrain as a voxel, which means there is virtually no geometry so
it renders an exceptionally high quality terrain in a fraction of the time it would take to render off
the ~ n c s hequivalent. We can also design a wide range of cloud effects and use Afterburn technology
to produce 31) volu~netricclouds which converts the normal 2D cloud layer and converts it into a
311 volumetric: perfect for backlit sunset effects.
4 5 Z '521 '075 'LIf 'J!l?
:slna!qo qsntuclol$[
777 $817 '5 (7 1 ')na!q() punodmo.) qsatuqolg
( ) L T '697 'Lf7 '77 '1R!Ja1l!lIl [1"131$1
65 7 ' 17 'd~?ru["131$[
5 ~ '+('+?
7 '5 ~7 'P/ 1 'dl?m dl?tu)!$[
OX1 '01 I 'LO L 'Jall?M
8 6 'OL ' 6 s 'Sf 'aJ!l
15: 'OS7 'L-Vf? 'q)Jl?a
7fT '175 '60T "I67 'J!'?
: ~ o l l ? ~ ar[].
d1o!U
(-787 'dt?~tl nS!ON S J 3 ] l ? J ~Y!g
C) 'sqpueq Ja!zag

871 'dnm dl?tul!q pun0.14qntag

8 5 [ 'Of [ 'L-97 1 '-1310M


58 '08 '5L ' 0 5 '11 '97 '5-1 7 ' X I '6 "IJ!'
0 8 7 ' 177 'LllJl?a
(5f .IT( .J!l?
:da>loln\i
(jT I 'L? 'J311O.l)UO.' )ll~LllqJ1?11\1
65 7 's~adlnq.>l.loqdso~ul\i

T L I 'r-cyl ,8171' L E I ' O C I ,621 '171 'Jail?"


LS '7Z I!=
f 8 7 'OL-697 '657 '117 'YIma
L t l 'PZI 'J!t?
:5u!ddcur d w n g
1 9 7 's 17 ' 1 f ' ) s a l p )svJ)uojpur? s s a ~ r l r l % ! ~ ~
8 1 ( '78 I 'a~!l!w!~dXOCI
L S 'aJunog
1( ) f 'q[OOA 9LIOH
OP 1 'IJqJa Japt1a.l Jnlg
P6 1 '59 1 'JalRM
L-S P '>-'!I
$ 7 7 'lZZ 'LIlJRa
346 INDEX

Cloud effect/c\~cnl.308 I<ffcctspanel. 207. 2 8 6


Cloud formation. 2 I 6 I':mit St;~rt/End.306
Coals (glowing): 1-:mitter Objects list. 107
about coals, 8 9 Enable Color Map. 267. 269
t~nalysisof effect. 9 ( b 1 Enable 1:ractal. 118
ch;~rcoi~l brick creation. 9 1-3 Environment Map. 1 79
chilrcoal brick distribution. 9 3 4 Environmcnl panel. 2 7 3 . 2 9 5
dish, distribution of coals. 9 4 Environmental panel. 2 6 0
initial scene loading. 9 1 Eruplion:
material creation. 95-7 about eruptions. 3 14
rendering. 9 9 analysis of effect. 3 1 5-1 6
rising debris creation. 97-9 eruption cloud generation. 319-22
taking it f ~ ~ r t h cIr0. 0 geometry generation. 3 1 7-1 8
walkthrough. 9 1-9 initial scene loatling. 3 16
Collision Spawn test. 70. 108. 1 1 1. 32 1 pclrticlc systems. assigning materials for. 32 3-4
Collision tcst: Space Warps for particle behavior control. 3 18-1 9
air. 307-8. 3 34 taking it f ~ ~ r t h c32
r. 5
earth. 2 2 0 walkthrough. 3 16-24
firc. 47. (12. 7 0 Event loops. 3 7
water. 108, 109. l 11. 156. 157. 159. 171. 172. 180, Explicit Map Channel:
181. 185.191. 192 air. 3 3 7
Color Density. 1 9 5 carth. 268-9. 2 7 0
Color map. 128. 224-5.2 34. 2 5 8 fire, 71. 72
Coloring, candle creation. I 1 water. 121. 126. 1 2 8 . 1 4 8
Combustion. 1 4 0
Composilc (Stratovolcano) volcanoes. 2 0 2 Face Adap. 26. 3 10
Concrctc/ccnienl matericrl. 1 7 5 Falling Snow particle system. 1SO
Cracks Mixcr map. 2.2 6 Falloff map:
Craters Noise Mixcr map. 2 8 2 air. 294. 303. 32 3. 336
Cylinder creation. 1 0 1 carth. 2 3 2 . 2 5 8 . 2 8 6
fire. L(k12.21-2.24. 54-5. 50. 5 1. 72.95-6
1)cllcctor. 6 2 . 2 1 9-20 walcr. 128-9. 138. 147. 164. 174. 183. 194, 195
1)cllcctor Space Warp: F;~llofr/Picldboundary. 1 5 I
air. 305. 307 Far attenuation. 9 2
firc.43, 57 FFD modilicr. 9 1 . 2 4 2
water, l 55. 169 Film Gram cffcct. 2 8 6
Delctc opcrator. 47. 60. 83. 2 9 7 Find k g e l test. I 0 9
Density mulliplicr, 2 6 6 Fircball Geosphcrc. 74
Density Rentlcr Multiplier. 2 i(1 l:ire~vorks:
I)iffi~secolor. 294 about fircworks. 76
1)iffuse map/slot. 224. 2 35 ;ttlding glours ~ u l dlens effects. 8 6
Ilircct light positioning: analysis of cffcct. 77-8
air. 305 basic clc~nentsset up. 78-9
e;lrth. 2 13. 227. 232. 2 8 0 blowing up ejection parliclcs. 8 1-3
lire. 4 8 particlc cvcnts sct up. 79-80
walcr. I 30. 1 5 1 . 165. 1 7 5 . 1 8 4 p:lrticlcs glowing in colo~;8 3-6
Dirt Displacc~ncntmap. 2 34 taking il further. 87-8
1)isplace motliliers: walkthrough. 78-87
earth. 203. 2 10, 242. 256. 2hh-7. 279 ]:it button. 241
water. 1 2 5 , 1 2 6 I!lamethrowcr:
1)isplacement slot. 2 8 I about llarnetl~rowcrs.54
Display operator. 48. 7 0 analysis of efkct, 55-0
Double sitled materi:il. 247-8 Il;~mcmaterial set up. 57
Drag Spi~ce\Warp: fl;~memotion. 59-63
air. 29 5-4.298. 319. 320. 331. 333 initial sccnc loadlng. 56-7
fire. 79. 8 2 lighting. 6 3 4
water. 190. 192. 1 9 3 particle system creation. 59-6 3
Drcamscrape (plug-in). 34 3 Space Warps set up. 5h-7
1)umrnp hclpcr, 1 1 9 taking it furthcr. 64-5
6-807 '~riltlul?!ssnr?:)
6-1 ' 1 ~ 8 1 1 O ~ ~ l ~ ~ l ? ~
O+ '.loq).rnj %u!yr?l
L-9s '4~r!prmu11?
alens
y-5 [ *uB!snpulnlsi~saln!l~ud
6-st '8~t!l1iq!~ls!p/uB!sapIL~B!~
!LILLIO
5-pf .u%!sapsln!~n)~?iu a~u1?11
8-L$ 'srunlsLs ameU jo uo!len!ldnp
5-1(s5~~!peol nunns n!snq
frc '"O!)""!"" '1"LlI D!svq
1-f 'Inajja jo s!si(leir~?
f,L I '333fqO alleld pLlIlOJ!) 67 'sqo~lsu8 Inoqe
Of f '997'197 '617 'dells P!J3
7 ~ '1e!.1alem
7 L~eo3a.y)
681 '[XI '6LI'I-OLI'CIS1'55L 'JalvM
ZX 'XL 'OL'95'aJ!l
7f t ' I l t '81%'6OE 'SOT
: d . ~ eanvdg
~ L~!A~J:)
6-8s[ "01v.13do anloj dl!i\~.I3
75-[p~ 'q8no-lq]y[ein
[-7s7 'JaqllIlJ 1! 8u!yel
[-I p7 '%u!pso1aon3s

:spur?plse,nuazoq
987'5LT 'trf91 '6-87I 'O7T'P '133SJa lausaJ:l
f 67 ' ( s d ~ anl?d~)
e ~ Lxronba~:[
L 11 ~ l l O ~ ~ l l?.l~l1Il?,J
?~JD 33.l;l
I L 'Isal t r ~ u sl~rnrnYlu~
d~
C)[ 1 *(, 1 1 *ln]l?M
+787 '187'(L7 '897'$f 7 '777'ST?'SO7'41-'1?3
67f '60t 'W
:as!oLl [I?l.31?1:[
()Z<'867'L67[' 6 I '0s' d . l l ? ~axads 3.7.lOd
I+)( 7 'lOaJJ3J O S!SLII?LIP C-761 '181'ZL[ 'IL 1'95I '801'Jal'?"
677' I J ! ~put? sse.18 Inoqn 78 'OX'OL'79' 19 '00'9Pa'J!l
:)l!p PUU SSl?JD *t < '7f.f'07F'6Of 'LO5'867J'!!?
191 '65T 'Of1 '671 'I 71 'JaleM :JOll?.l3dOan10.4
L6'tX'S-f.t'S7'+7'77'LI'CT-[I'Ol'aJ!l f L [ 'Sll~!ldO40:1
7L7'1L7'6-897 g(, 1 ;(l!son(l Bo:{
7 'XVZ' 5 ~'7~ 7w7 e ' 0 1 7 'soz'+oz. L I I J ~ ~
' ~ 9'797 567 'EL7'123JjJ.ls~ ! . ~ a q d s o YO:[
ru~~
f7f 'OIE'-I!" p-7~ 7 '657 ' 1 f T '9tr!BBo:1
:dem d m u ~
lua!pl?l:) +9-95 'q8n(>Jqlq[I?M
348 INDEX

Instanced lights. 2 14 1.1. Dcflrctor. 190. 194


lnvcrsc Squarc decay, with lighting. 7. 27. 92 1,ow~TurbulcnceSpace \4/arp. 9 9
I.uniinancc Center. 125. 2 10. 2 56
Kccp apart opcrator. 1 72. 19 I . I92
Keep Old Materials. 2 1 Magic Wantl tool. 209
Keyframe operation. 52 Map Sixe. 3 16
Maps rollout. 10
Lathe modifier. 6. 19. 3 1 Mask map:
I .ava: air. 309. 3 10. 32 3
about lava. 21 7 fire. 12-1 3. 5 1 . 8 4
anc~lysisof cffcct. 21 8-19 water. 121. 161
assigning material to the Grounclplane. 227-8 Masking. 52
basic sccnc crcation. 2 19 Match (striking):
blending. 225-7 about match ignition. 1 5
illumination with sunlight. 227-8 analysis of efkct. 16-1 7
initial particlc system. 2 19-21 animation of materials. 2 1-6
I;rva cffcct driving. 22 3-5 basic scene loading. 1 7
surface smoothing. 222 flame leading edgc particles. 2 1
taking it further. 228 flame shape animation, 19-20
trail creation. 2 19-2 I map for match tip. 1 7-1 9
walkthrough. 2 19-28 matchstick illuminating. 2(7-8
lava lamp: taking it further. 28
about lava lamps. 187 walkthrough. 17-28
analysis of cffcct. 188-9 Material llynamic operator:
final mesh generation. 19 3 air. 307. 3 1 1. 323
lighting. 194-6 firc. 47. i 2 . (70. 82. 98. 9 9
particle system construct. 190-3 ~ ~ i i t c1r11.
. 157. 161-2
Space Warps loatli~ig;md setting. 189-90 Material Iklitor:
taking it further. 196-7 air. 294. 309. 323. 328. 3 36
walkthrough. 189-96 carth. 203. 207.210-1 1 . 233. 236.237. 241-3. 247.
I ~ a t l i n gEdge Mix map. 22 7 262.267.269.281
Ixmoni~dc: firc. 10. 17. 34.44. 5 0 . 71. 9 5
about Icmonadc. 1 0 3 water. 105. 108. 120, 126. 137. 140. 147. 161-2.
antrlysis of effect. 104-5 173.183
bubble motion control. 106-7 Material Static operators:
bubbles from base. I 10-1 1 air. 298. 306. 309. 320. 321. 323. 333. 337
initial sccnc loading. 105-6 earth. 237
taking it further. 11 1-12 fire. 37-8. 80. 8 2 . 8 3
walkthrough. 105-1 1 water. 109. 150. 172. 181. 184
Lens Effect Flare 1:iltcr. 6 4 Materials Effects Channel. 2 3. 26. 84. X i . 9 7
I.cns Effectseffcct. 14.27. 39. 86. 99 Melting ice. 176
Tight Lister. 3 1h Mental Ray. and render effects. 75. 180
Light tracers. 2 1 9 Mesh select. 145.206. 304
1,ightsllighting: Mesh Select modifier. 3 3. 205
Advance Lighting Ovcrriclc material. 224 Mcshcr Compound Object. 1 6 6
with animation. 7. 8 Meshsmooth modifier. 33. 39. 304
brightness ant1 contrast cffcct. 1 3 1 Mixcurvc. 138. 147. 164. 173. 272
cloning. 214 Mix map:
Global Illumination. 227 earth. 204. 212. 225. 2 2 6 , 2 3 5 . 243. 257. 267.272.
Ilotspot/Beam. 2 32 281-2.284-5
instanced lights. 21 4 firc. 1 0 . 11-12. 13. 24. 25. 34.96
with Inverse Square decay. 7 Modfied Objcct controller. 32
I,~~mini~nccCcntcr. 125. 210. 256 Mountain:
Omni light. 7. 26-7. 38-9.63-4, 92-3. 121. 130. about mountains, 264
1 3'). 194 analysis of cfkct. 205-6
SI intensity, 96-7 basic Plane prhnilivc creation. 266-7
Skylight light. 1 30. 175. 184. 227. 305. 3 3 1 change terrain with material tree. 269-72
Target Oirccl light. 260. 274. 329. 3 30 cloud generation. 272-4
sccnboDircct light positioning: Self-illumination illuminating the sccnc. 274-5
OCf '6Zf 'PL Z '197 '0CJ7 'Sf Z 'loo~l".'"~\O
5 8 7 'L s 7 ' 5 7 'dr?m )ndln()
$71 ' C ) ~ T'56 ' 1 'uu!l{l--lai(e~-ua.y)
~
85 'lols L1!ned()
561 '6C I '0s 1
' 1.7 1 't-T6 'bfY '6-85 'L-92 I'! '14~!1!""10
25-( P .rl41io~qlyll?~r.
( 5 'JarllJnl )! Sn!yl?l
L-95 ' s d ~ aeo l~? d ~
q1ku Ru!uo!l!sod ~unlsdsa1~!1~ed
L C - 8 7 ~'qZnoqlyle~r.
8-L f f '.raqi.'nj I! 4u!ye1
2-1 f f 'sanunnlln! iualsi(s ap!l~l?d
5 $5 'r~R!sap,jjnd. aln!l~l!d
h - ~ r f'puno.18ynuq pilamu pun auans p1.01
~ f rf 'smalsds
~ s s!.~qapPOR i ~ ~ l l
91 f 'snln!l~I?d01 s l ~ ? ! ~ a l uR!ssl?
~ ' m pur! alealJ
1f - 6 ~ '8~!1q%!13Zireqn
~
8-LZf 'lJajJ3JO ~!Shi(?llF?
8( I ' c ) z %
~ o l ~n!lw[no~Mlnoql?
:mOlJ J ! ) S l ? [ ~ l i ( i ( d
6f.T 'LO 1 'Ja!l!P'Ju' ~IsncI
n ~ ~(xoJ,~
5-f 6 ' ~ f xanuoj
9 6 7 '147 '01 [ '(j()T '86 ' ~ o l e ~ a d~23!q0
o llO!l!SO,[
1(,I '09-65 olela la do uonl uo!~!so,~
( P C ,suo!lnlos u!-Znli(d
S-LS '311?U~3I?q&l J
h8T 'Z9l 'SPT 'YZI '911 '111 ""lcM
6 f 6 'aJ!l
hLZ '277 'ql-Il?3
7 f f 'ST: '86T 'JY
:L1~!)l?L~l!LIl?
dl?ld
1)97 'aA!l!lLl!J,[ pJl?pURlS3Llt?[c]
9f77'Tf7'h91 '191
'5 5 I '+PI '5s 1 '5 7 [ '5 [ 1'a~\!i!~u!~d aur?l,[
[ 7 ,807 'me.r4o~ddoqsoloqd
5 p$ *(u!-Znld)x!naoq,[
697 'detu qRnn)1 ~ e 3 d
697 '1OJIllOJ X!m \l[I?aa
hi)? 'aa.q d e u ~y?ad
061 '58 I ' $ 8 1 'OL 1 '791 '.'ale"
6L 'OL 'ZS '3JrJ
6P7 '9f 7 '077 'qlJea
6 l f ' L I l '71: '96Z'J!e
:Ma!A 313!]JI?d
07f ' i ~ a ! c ld~laruoa:)
~ a[xl-Ied
061 'PHI '081
' T L I 'Of 1 '6-8c) I '05 1 'Zf I 'LO 1 uale~n
8 6 '69 '65 'CJP '3J!1
h I 7 'rll-'ea
7f f 'f77C ' h l f 'LO( '90f '9-567 '7h7 'J!v
:irr~)si(s.w01:l al"ynd
LO( ' 8 'i~!irr!1 l o d d ~lunoury a[n!lJecl
I 9 1 '60 T 'Jalelu
L6 '58 'f78 '11 'LS '7-15 '05 'aJ!l
f fC 'f 75 '0If 'LOf '867 'J1e
:a%valn!)nd
350 INDEX

Iktin (Cor~lintrcil) Show Cone. 1 51


ripple generator design. 15h-7. 158-60 Show Map. 2 71
skydomc. 164-5 Shrink Wrap m;rpping. 4 6
taking it further. 166 SI intensity. 96-7
walklhrough. 155-65 Simulation (;eometry, 9 3-4
walcr spl;~shobject. 164-5 Skin modificr. 302-3
Raylracc I3asic Par:~meters. 174 Skytlome. 127. 148. 272-3
Ilaylrilce map. 147. I 9 5 Skylight light. 130. 1 75. 184. 227. 305. 3 31
Real I:low/Rcal \4/:1ve (plug-in). 34 3 Slice modifier. 19.20. 3 1, 1 0 7
Refcrcncc copies. 2 3 1 Smoke maps:
Reflective Architect~~ral materials. 105 air. 3 37
Regolith Mixer map. 284 earth. 203. 255. 2 5 7
Relax niotlificr. 2 0 6 fire. 72
Render 1)ensity multiplier. I 19 water, 121. 126. 148
Rcndcr effects window. 86. 99 Smoke Puff Template. 4 6 . 4 8
I<cntlcr Intcgr;~lionStcp to Pramc. 307 Smooth map. 2 59
Rentlcr Multiplier. 2 55. 2 56 Snow Cap Control map. 271
Rcntlcr opcrator. 1 57 Snowflake Position Generator. 1 8 2
Rcndcr ptlncl. 19h. 207. 228. 3 3 0 Snowflake Scatter Compound Object. 1 8 3
Rcntlcring consitlcralions. 75. 1 1 1 . 3 3 1 Snowflakes:
Repulsion Kccp Aptlrt opcrator. 192 about snow. 1 7 7
Ripple Agc Mask. I h l analysis of effect. 178-9
Ilipplc (;cncr;~lorlest. 1 58-9 basic particle system. 1 80-1
Risc cvcnl. 192 initial scene loading. 179-80
Risc Slow Ilown cvcnl. I 9 3 lighting. 184-5
Rock m;~tcri;~l. 272 polygon count reduction. 1 8 5
RocklRcgolith Conlrol map. 28 5 snowflake dcsignlcreation. 178. 182-3
Rotation. 3 17 Space Warps set up. 179-80
Rotation opcrator. 35-6. (30. 249-50. 30h. 321-2 taking it further. 1 8 6
walkthrough. 179-85
Sample Range. 3 16 white translucent effect. 1 8 3 4
Scale operator: Soft selection. 20. 1 17-18
air. 322. 333 Soften Diff. Edgc. 306
carth. 221. 250 SoftenGizrnoEdgcs. 273. 295. .329
fire. 47. 83. 9 8 Spacc Warps. 156. 170.219. 29 3.297. 307. 320
water. 110. 158. 160 Spawn rate. 8 0
Scalc (Space Warps). 29 3 Spawn test:
Scatter Compound Obicct. 45. 46. 182-3. 3 35 air. 296-7. 320. 3 3 3
Scene Event. 6 4 earth. 221
Scam Control map. 205 fire, 61, 81-2
Self-iJlumination: water. 108. 156. 157. 159. 171
air. 294. 32 3-4. 3 36 Speckle map. 1 7 3 . 2 1 1 . 2 6 9 . 2 8 5
earth. 258. 281 Specular lcvcl. 120. 1 9 4 . 2 8 1
fire. 13. 50. 57. 58. 71. 7 2 . 9 7 Spccd By Surlace operator. 1 0 9 . 2 9 6
water. 120. 128. 138. 148. 164. 174.195 Speed operator:
Shadow Map Size. 306 air. 307. 309. 321. 3 32
Shadow Maps. 38. 165. 194. 280 fire. 61. 70. 81. 8 3
Shadows/shadow color. 260 water. 108. 157. 159. 160. 172
Shape Facing opcrator. 62. 79. 1 5 0 . 157. Speetl lest. 192. 3 33-4
297. 306. 308 Sphere creation. 11 5. 1 2 7
Shape Instance operator: Sphcrc Gizmo Atmospheric Apparatus. 259.
air. 320-2 294. 328
earth. 2 36. 2 37. 24') Spin operator. 70. 98. 150. 307. 309. 320. 32 1
fire. 3 6 - 4 6 Splat map. 281
water. 160. 1 70. 182-3 Spline:
Shape Mark operalor. 61 Edit Spline. 5-6. 31
Shape opcrator. 108. 1 56-7. 172. 22 I . 309. 320 Spline IK. 301-2
Shape test. I 0 8 Split Amount tcst. 8 1
INDEX 351

Stormy seas: walkthrough. 68-74


bout stormy sctls. 12 3 Turbulence (Spacc Warps). 29 3
i~n;~l\rsis of crr~>ct.I 24-5
.' . gcomctry i~nimation.125-7
1,.CISIL IIDeflcctor Space Warp:
hgging. 1 3 1 air. 318. 331. 334
lighting cffects. 124-5. 1 3 0 - 1 fire. 69. 70
lightning. 130-1 ~7alcr.106. 108. 109. 179. 1 8 5 . 189. 191
sca and sky material creation. 128-30 IJnderwatcr:
skydome gcncri~tion.125-77 about underwater. 1 3 3
spray. 1 32 analysis of crrecl. 134-5
taking it further. I 32 materials setting up. 137-8
walkthrough. 125-3 1 sea creation, 1 35-7
Stralovolc;~no(composite) volcanoes. 202 sky creation. I3 5
Sublit~rncSampling. 300 sky material. 138-40
Sun Uircct 1,ight. 2(32 taking it furthcr, 140-1
Surk~ccGeometry list. 296 walklhrough, 1 3 5-40
Swell maps. 127 Ilse Existing mapping. 242
System Managcmcnl rollout, 59 IJse Transrorm Coordinatc back. 242
UVW Map:
'I'aper modifier. 302 air, 312. 317. 335
'rt~per'sCcntcr Gizmo. 30 3 earth. 203.222-3. 226.241. 256. 271-2. 279
'1';lrget Direct I.ight. 260. 274. 329. 330 fire. 6. 13. 17-19. 22-3. 32. 69
'rcntlrils event. 308 water. 116. 120. 125. 145
'Terrain Displaccmcnt bitmap map. 21 1
'I'crr;~in1)isplacement modifier. 2 10 Vertcx sub-object rnotle. 246
'krrt~innoisc map. 2 70 Vertcx Weld modifier. 206
'I'cnture O u l p ~ ~74
l. Video I'ost. 64. 86-7. 324. 328
'I'hi~iOpaquc Trail Emitter. 29 7 Viewport Backgrountl. 44
'Ihrn;~do: Viewport Coarseness. 222
about tornados. 299 Viewport lntcgration Step. 59. 190
ani~lysisof effect. 300-1 Viewport multiplier. 78. 156, I XO
animating with f u ~ ~ ngeometry.
cl 301-4 Viewport Quantity Multiplier. 35. 59. 78. 150. 190.295.
hasic sccnc loading. 30 1 307. 319. 332
debris and wispy cloud effects. 306-9 Volcanic terrain:
gcomctry matcrials sct up. 309-12 about volcanic tarrain. 201
I~ghtingfor overcast sky. 305-6 analysis of cffcct. 202-3
linking Spacc Warps to the funncl. 304-5 background. 21 3
particle systems sct up. 309-1 2 compositing thc render with the background. 215
taking it li~rthcr.313 displacement map creation. 203-7
Video L'ost lo locate tornado. 312-1 3 final tcrrain mesh generation. 21 0
u~;~Ikthrough. 301-1 3 initial plane displacement template. 203-7
Touchdown Dust/l)chris system. 308. 310. 31 1. 3 12 lighting and cameras, 2 1 3-1 5
'J'rail Bmiltcr cvcnls. 297 materials creation. 2 11-12
Translucent Color slot. 1 3. 183 Pholoshop operations. 208-9
Tr;lnslucenl shadcr. 194. 3.36 taking it further. 21 5-1 6
'I'r;~nsparcncy,4 walkthrough. 203-1 5
Tr;~nsparent'I'rail E~nilter.29 7 Volcanoes, types oL 202
'I'unncl explosion: Volume fog. 260. 273. 295. 329. 331
ahout tunnel cxplosions. 66 Voli~nleselcctmodifier. 8. 32. 33. 116. 117. 206. 302
analysis of effect. 67-8 Vortex Space Warp. 304
animation of main fireball. 73-4
t~ssigningmatcrials to objects. 71-2 Water Debris Distribution. 242
tlehris gcnefi~tioousing Particlc Flow. Wind Spacc Warp:
69-70 air, 293-4. 297. 305. 307. 318. 331
fireball animation. 69 fire. 17. 21.43.46. 56. 62. 78. 80.82.98
initial scene loading. O X water. 108. 155. 170-1. 179. 18@1. I 8 9
Mcntal Ray configuring. 74
tilking it furlhcr. 75 Xform modifier, 32-3. 1 17. 132. 146. 303. 304. 306
Master professional techniques in 3ds max with exnert
guidance from this uniqu- "--I-and DVPROM pack--'
A must-have guide for those with 3ds max experience who want to get r
more out of the base kit this versatile package provides. Save money by
finding out how to get the most realistic effects from 3ds max without

.
having to spend more on plug-ins. This book includes everything you
need to know to create realistic fire, earth, air and water effects with
Discreet's powerful 3ds max animation kit.

1
Inspirational color images cover every page as Pete shares his professional
insight, detailing the breakdown of the extensive catalog of visual
reference material supplied on the DVD-ROM to ensure your effects are
more realistic when working in 3ds max. This information is then used
within the body of the tutorials which teach not only how to create each
effect, but why we have performed that specific step so you have a
complete understanding of all the processes involved.

The free DVD-ROM contains 5 hours 45 minutes of video


tutorials in which Pete walks you through additional effects while
still maintaining the same quality and format as the tutorials in the book.

1 congratulate Pete on this &ng I am certain ~~


thsttrhaseofyouwtro~thiswillfirmlit~ib&~bott,

d mainbin our ever spwding 30 ammmity..'


JASON 'BUZZ' BUSBY ~ ~.3dbu~~.corn)

0
If you
enjoyed this
book please post
a review t o your
Focal Press
I n imprint of Elsevier
- clm
DISCREET CERTIFIED
favorite online
bookstore
today.
ww.focalpress.com LEARNING MATERIALS
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back
Back

You might also like