Deconstructing The Elements With 3ds Max - Second Edition
Deconstructing The Elements With 3ds Max - Second Edition
Deconstructing The Elements With 3ds Max - Second Edition
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.
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.
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.
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.
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.
Add an Edit Spline modifier t o the stack and move the --.-
-.---.
----
- 7
-
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
*,
___ -
. ..
_. __ --.--
.., , . ..*.
Information: Lathe problems are common; it all depends
_;
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.
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.
.
-"------&----,--.,
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
PART THREE: With the animation set up, we will now concentrate on creating the
flame's material.
-.
/ i
--. - ~-
., .
-.- ,-.
~ ~
. .- 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
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.
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.
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
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.
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.
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
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.
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.
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
.
. 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.
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.
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.
::
- -
.-9.-
-.-.
.-..
-.
:
.....-.- .
0 -
.--.-
of the Slice modifier's gizmo from the right-hand side ,-. ,
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.
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
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.
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.
, , .. -
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
---- ..-
Additive Transparency. ------
--
--
Information: We are using a 2-sided material with --.-
.-- ,
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.
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.
-. ...." -
--
Opacity Control. Instance the Blue Tint Mix Control map .--
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
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
~ .;
__:
--
. . ..--
....
.- -
,-
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
.
~
.
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
..;: 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-
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.
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
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.
. -. .-
---..------------ . - , . e. Select both flames and add a Volume Select
4
"- -7- rnn A
,
. , .*A,.,,
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.
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.
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).
-- --. $
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.
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.
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-
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).
.-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.
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
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.
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
;r: more or less in the direction of travel (again to add a little random-
-..-----
... * -,*-------
+* . >,------: . . , , - e r r p c T , In the Top Viewport, create a Camera along the
4
i r3, ,--iY ,.nC,,
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.
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.
- ---- -
-'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
enable Auto Key and set the Scale Factor t o 380 for all "- '- " --7 -.
T-
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.
-- - . ;
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
- . . %
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
. - - .- - --. - --
.. ._ ..
-
-
.~
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.
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.
_ -_ -.
~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'.
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.
I
.- ---
-- -
- ----
Information: The comb~nat~on of these two Falloff maps
enables us to create a sl~ghtnm glow wh~chmakes the b' -. -- 7
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.
<-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
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,
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
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.
- - ..-.-,-
, . _ _ _. ,-.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
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.
. -..,
--m--.
-8
,.,-
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.
PART THREE: We will now create and set up the particle system which will drive the
motion of the flames.
----------------
,--. :.---~-... *
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
~
., ..
>
--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--.-
~~
. .-.- ., ..- - --
:._,-..~~.
-La---.
.
.,-... -. - --.
" :
:.--:
C~~
. -_.__
. --..
" - --.--.
. -.;---
- 1 . > -
,**
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
, - .~-
-" - 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.- ., ... .
.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 Deflectors list.
--
. -m . .. . .
---. ---- - < .
" ,.
--- -- -.4,-.--
.
.
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
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.
-
-:!
- . - 7
- . r . w
.-...-
- a--.
I .---'-
, r
-.. - . -. ._ .
0.01. Create a new material and label it Scorch Mark.
-. -
- 2 - - - " rzr: -... . p :--
- - ?
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
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.
- 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
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.
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
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
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.
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
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.
.,-
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
-
v a + c s p _ - -
?
-
- - . - - , I
-I I ,
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
.
white and swap the colors. Copy this smoke map t o
- '
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
........
Open the Function Curve Editor. Click on the
12
ri<-:\\
1 r*..:.:
=":- * % C
. .. --., ..
bF.1 e*.a.r=--=-
--,-.......
-- . .-.- -.
.-.-
-.
,--
:..: 'I:..,=- /
.r -
"
<:--
*--
-
,-
*-.-- - .+5--;
..- __,,.. -_,-....--
- Animated Tracks. Expand the Fireball material's Maps
YE-,-,
:..: . - .I. :.... ....7 .: :.:..:-
I
.. --. .. .-
..F 3-
the Texture Output of the Initial Intensity Control.
-t=--. -- 1 ; .:=
. -. . .,-. ..._. .....-.:-.-.. . ..-
..--- -. .. .:
, -
. - --
:
---,-, . Select each of the highlighted entries individually and
-
0-
-
',.. --
8
- 2 .
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
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 -
...
-*-------------
^'< 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
PART TWO: NOWwe have the basic scene constructed, we can go into our particle
system and set up the particle events.
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 . .--
-
--.- /
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?!
- ,-.--
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.
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.
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.
!-. i;
-.a+-.
-I;-
*-.-. 1
,
- -.
"
=
- - t--
.--.
2--
; I - 7
--- - ---
-7
=.--
Viewport. .--.a
- - .--- .-
u
.-
*
a
-.
---
- =-
--
-.r -
--F
=-@?-~ :"/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.
-.-. -
-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
~"--.-~~~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-
.
;:
:=- - - -
.
" ' 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.
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.
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.
--. - .- -/
- ,-*
I
a,
later on rf so deslred
---------------
,
: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
---. -.. - -
.
--- , - ~. - ,--
- -
- .--- .
. -.
~ - -
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.
-- . -- - . ----- "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
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.
----------------
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.
. ?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
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.
----------------
'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
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
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.
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
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.
---------------
..- , "'.-'-,
2 Clone this material a couple of times and label
r rJ3 *"-?=?.m , :<,.,,?. r--7;w. e , "W a ;c--3-
. . . . .. . . . . . . . .
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.,.
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.
.:
-
. ,. . . . ,- -. . . . :.,:..:.-. --*-- ., <.
..,
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.
. ..
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
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
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
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
-
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
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.
., -,;-
.*...,
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.
.
- ---- 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
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.
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.
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-
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.
..
'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.
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.
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-
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.
.
I
-
-..mT
.
. -.,
Luminance Center. Set the U, V and W Tiling t o 5. --
Copy this modifier and paste it back onto the modifier --~
--
-..-. .
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
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.
=-=!-----I---
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.-
.- .
.. . - ,"
--
-
-'
-
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.
- .
Exponential and set the Far% setting t o 75.
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
:%::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~
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
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
!
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.
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
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.
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
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.
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
~
/ Auto Key. Enter this modifier's Gizmo Sub-object
mode and move it 3000 units t o the right. Right-click
..-,
-- .,-
..-:.
."--.
--- --
-
,. ....
-.
.-
.
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
.--------------
.
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
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.
.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: 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
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 ,.,.. :?.
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.
- -- - 8
#
/ 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.
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.
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).
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.
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.
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.
----------'"-----
10
z.
'=3=-!
-
r----I r - O T
-1 i
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
... ~~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
-. .- ~
. -...- .-
---- -. .. .. operator, overwriting the existing one. Set the Type t o
" '
,
. . . 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.
--------------..
. - ..
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
#
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
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
z
'OE o$ ~ 0 1 0430 uo!$!sod ay$JaS y e l q o$ E ~ 0 1 0 3 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
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
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.
---
-
*--
.. ---- 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
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.
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
? >
.--------------
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
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.
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.
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.
- ,...
..
.>. 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...
. . : .- e::
.. .. ?L
.z
.-
operator, click on the Particle Geometry Object ..
-. .~
A-
.,
-....-- -
.". - - . . . . . --.,.*
section's None button and select the Geosphere we - L ~ . ,--- '
.,...- -.--.- ..-.. *;,:- ;-,-
,7-.
. r . . ..
.-.m
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.
-.-..
,..-
n
..:=- . : . ~ , ~ : ~ ~
: Y
- '..- 1::
.-
u.-.
.. . ::
.I
8
. ... . ._"._ ... " ,
.. __.__..
. . .
-.~- *
Information:The Collision test checks to see if a particle . ..... ...... --
I---
. >
.- --
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-
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=-
- 2---:2 -6-- . :-:- t h e event. In the Left Viewport, instance the existing
- Deflector and label the new one Deflector Chips.
e --
..-
Y
..--
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.
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
-- ---
*--.
-
- ___ -
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
-
.
.- ...
.
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.
-
? r ~ r , - s n z ~ ~
#?*WT
-
-7
. --- .-
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
-----.---.-
,
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
--. --
.--------------
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
. --- .. ,.- .
- --. -
- "
- -. _ _
. -
-..._,
- .-- *
.-_
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.
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.
section, click on the None button and select the " -4..
,f.. :- .. . _ I -- --
: ; 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 .
.d
r-- - -
.. ---.
r . . -.
-. --
c ..-.
6,
,* .- -
S ~
..
q
i
,Z -
7-c~:,.
--
--
- 1 7u
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.
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 .
--- 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
." - -
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
* .
.
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
.-
-
.
. ......
..
--
-
.
on the Space Warp's Pick Object button and select the .---
- .7-
-.
LL Deflector object i n the scene.
.
. " --;.-, ;.-"--"-
,.-. , , "
. .',
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
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
,- .__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 ,
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-*
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-
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.
-I -.-., v
*
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.
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.
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.
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
&*
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
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.
--
..........
. .
7 - . ... .
R
'(,%~!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
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.
.- - ---- .- -
=.r- . I
- - - - - - :-m-;
r
- .".. .:;
I
.,.er
..d
, . -- - -.
.---
=.z-.,
,.'P...., P----.
1
. ,_
a_ ._ . __
.-:-*..,
;-
.--.--,..-
...... - =
..I
,,
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
_
?
._...,.- ._..._
*,*,
-, , ..,.
...,...<...
. ...
>,
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-
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.
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
-- 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
.- -- - - - - - -
.- ..... . 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
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
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).
--- - -.,--..
~
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.
.
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
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.
,.... ,.....,
a , . . , . . ,
'... , ~~-
. .,*
go t o Views>Create Camera From View. Set the .- ...,, ..l.l arc-.,
2 .
. a,..--
,.. ._
, - - - - ~,n.-
.*.I._.
_ (
a,
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.
-
..-BYi~-7u
---
.
.-.-
I.-.
...
-
-
--
...:
7~
..
.c-.
- ..,...~..
the Target situated in the center of the volcano, move - _-_.-~.-.--
-
.
.
- , ..=.-.L
the light outwards in the Top Viewport. Go t o the .-r--
.- . .-.., - -
-. ~
- 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
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.
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
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.
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
:;-.--;+
:?
::.:
..... --
?,+* 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
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
'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
.--- -- -
"
- .. -,..,
~ . .
~ . .-.::...-
--.
. . . .-...-,,
.
.. *
_
to 1 as we only need one flow of lava in the scene. The
I I
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
.-.,;
. -.---
r-
pass the information on to the Blobmesh object, therefore -(-
' 7
.-
--------------- .
-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
--
-- ---
"
- Render Coarseness setting. In the Left Viewport, scale
the Blobmesh object down vertically t o about 25%
-- *-
&
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. _ . - - . ._--.-:,;
.....- - - - , ,,.. .,-
.--.-- <
'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.
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
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
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.
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.
- .
..
.
,
- - - - --
,
-. 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-..
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
. ~ 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.
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
--
-*----------
-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 +
.-
- --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.
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.
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.
.
,.nc*;-?r + .,-ar;-,
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.
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
~
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.
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.
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
-,-..
< .-
. -..--
.,
..,I.. 1.
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
-------....--------
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
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
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
--
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
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.
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
-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 . . .
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
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 %
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
and label it Range Breakup Big and set the Size t o 0.8 --
.-- ! .-----
--
--- ...*..-, --.&
. L---
.- . ::. -*- . - - .",.
--.--a.
-< .
t
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.
---------------
++. 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
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.
--- -----
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
"*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
-- -
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
-
..-.=;:-z: -7:
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.
___ _ _..--
,
.---------------
,. .- .=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
- 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
-, ,
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.
- -- . - .-"- - _ --.--
_ .- ,? *
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
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.
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.
T2%$ --
-
---- I-.--. - - - .
--m--
.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.
'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
-- --
:::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
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.
., -.
,
.-.* .7.. -,:-
..*
. < . "
., ..-*--
.7 -,
.a
,.,
texture in an additional material. As this material will be
,
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.
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.
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.
"7
*--,rD,* .:,;,J---4".>,-ms~---~~
8 :
Edges t o 1, enable Exponential and set the Max Steps t o 7 - --.--...--.----. :-.=.-.
__.
.-=-.-I--
.-
I.
-...-
,,, .
-1 -I
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.
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.
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
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!
. 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
----------------
T . - e m + - - A A -
-
/
7
*
---
-:--:-
-...--
.. -
3 In the Top Viewport, create a Direct light a fair
..T'
=
-)distance
I~
-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.
-
-.. I
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.
..
.
s a ~ = - ~ ~
~ ~
Expand the Map's rollout and set the Displacement ..- ,.,,.
,
. .. % . " -.. .,___
,..- . -
. -.. -
amount t o 50. Add a Mix map t o the Displacement -.-. ..*
.-,
. ~. >-. /-.
..- --
..----
?~-.
.--
.-
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
-:--.,-
,.,
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
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
.-----------
--- .-
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
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
..,--- \ . -. .-
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.
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.
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
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 -,,
---------------
-
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
~ ., ;
- -
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.
- - .-
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.
-
$,
-
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
-.
"
OI 8-r Turn off the particle system. Add a Speed By
"-
--
I .OT
...
2.
.- -
.,-
* . , ,
- -.- -
. --.
-
-.-.%-+!-
-.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.
---------------
.. 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).
-
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
~
-.
.-- 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.
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.
-.- 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
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
-
r~----.
...
I - e W T
."
..-.. .
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
-- --
.-
- ,
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.
-' - - ---
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.
--z-
--. - --. - .
- -----.-
- - I -
-
---------------
-
..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.
"
-
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
,>
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.
- ..-
.-
---.- 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
-
~:
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
.-..
. _.
, ^_?
. ~ i,i
- ----- ~.
i --7:
~,.i ;x. -
- _ ~ -
..,
. . . . . --
1 ,
. ., . . . . ...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
,"
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,
-. ,
, .-
>...
-- ~ ~
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.
.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.
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.
.
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&-
-
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
Warp is used to add a small amount of motion turbulence to the ash cloud to break it up a little. I
--
? - -
With all of the scene elements now created we will create the particle
systems which will generate the eruption cloud and fragments.
-
- 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
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
.c.*.:
__....~~ ~ -~
- ,>.,..
-- : -
- I-
~~
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 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 - ,
-.
I
1
.,. = ,
. --. .::. .,:,- . - - - - >.".. : .--
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.
r'II.+v,-
. m
-
- -,.-<-s,';-
C C.'*<@.
* .SOT
the particle system), the Blobmesh, its Template - - -.- -7
1% -- 2: II
:-.: 1
.
9
J
1
'
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
- S ?
*
,
-- *.
--*---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
.--- . .-
-.*-.-- 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
"
.'- . --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
-- -.
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
,
....-. ----.
-
.. 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.
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
Next we will set up the elements in the scene that will affect our particle
system.
.' - *-- :':---: 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).
-.
-- :
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.
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
" ---------------
. .
-
-
I' Add a Material Static operator t o the event. =. *-, r.e.CI(o-
rgCL+ l-->.r r
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.
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.
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--
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
_-_. _
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
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 ...!
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
: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
.
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.
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