 |
 |
|
 |
|
|
|
Introduction: In this tutorial we will attempt to turn an object into
a dusty smoke effect using particles with hypervoxels derived from a solid polygon object.
The same thing can be done to create a
object to liquid effects. So what can you do with these
effects? Well for you Buffy fans with a little work you can create the vampire to dust effects. You can create a
Terminator to liquid metal effect using this method. Anybody ever watch 'Charmed' when the characters orb
in/out, yep you
can use this technique for that. Of course there's the heavy weight champs in this class. The dust storms in
'The Mummy', Anubis's army turning to dust in "The Mummy Returns' as well as other similar scenes from these two
movies. Then there's that little guy from a movie a couple years back, something called a Balrog. Ever heard of him?
Maybe in a future tutorial I'll show you how I use this technique for a fire drake character I'm developing for a
personal project of mine, 'Twilight Warrior'. This scene took me less then a half hour to put together including
making the Smiley face from scratch.
Note: While I will be using LW8.01 for this tutorial earlier versions of LW can be used to accomplish the same
effects you will just have access a couple of the tools. |
|
|
1 – The first thing I did was create a quick little logo to use - Mr. Smiley.
He's short, sweet, simple and really lets you see what's going on quickly.
I gave the Face a surface named 'Face', the eyes a surface named 'Eyes', and the
smile a surface named 'Smile'. Then I saved him as SmileyFace.lwo.
If you want to follow along with this tutorial I have included a zipped package at the bottom that contains all the files for this tutorial.
If you followed "Dust in the Wind pFX 1" then will notice that this
is basically the same model. The face is in the first layer and named 'Face'.
The eyes and the smile are in the second layer and named 'Features'. I set
these separate layers up for hypervoxel texturing. I also made sure that I had the
'Features' layer parented to the 'Face' layer.
|
|
|
2 – Now start up Layout. The first thing you want to
do is create a parent Null to control your object with. I named mine
Null_SmileyFace_Master so I know what I'm working with later. I always parent
my objects to Null's it makes life easier in the end even on simple things
like this. Next parent the SmileyFace:Face to the new Null. You can now
use the Null to move, rotate or do whatever instead of you dealing with the original object.
|
|
|
3 – Now lets setup an extremely simple scene. First go ahead and select your Null you just created if
its not still selected and move and rotate it to these coordinates.
Position X -700mm
Y 0
Z 0
Rotate H -60
P -90
B -5
Then make sure you set a keyframe at 0.
|
|
|
4 – Its a little hard to see our object so move and rotate the light to
Position X 2m
Y 2m
Z 2m
Rotate H -10
P 30
B 0
Set a keyframe for the light at 0
|
|
|
5 – The camera is fine for this so we'll leave it alone for now.
|
|
|
6 – Since this tutorial is entitled 'Dust in the Wind' lets create some wind to drive our future particles.
Create a new wind object (Items->Add->Dynamic Obj->Wind.) Go ahead and name it wind.
|
|
|
7 – Change the Radius to 9m and leave the rest at their default settings. Why so large? Well the wind object is
basically a pseudo-sphere and not a plane or better yet a real box. Therefore we want to create a sphere of wind that will have a face flat
enough (hence larger size) to hit our SmileyFace object as if it were a box. To understand what I'm saying when we are done with creating
the scene go back and try making the radius smaller then the SmileyFace. If you make it small enough you should notice that the center
of the Face will start emitting faster then we really want it to. In fact if you do it right the back of the head will be hit by the wind
before the edges of the object get hit by the wind. Of course depending on what you are after this may just be what you are after, say
something like a Stargate like effect where the object gets sucked into an event horizon from point of contact and expanding out from that point.
|
|
|
8 – Switch to the 'Vector' tab and change the Y vector to 4m. This will give us the direction and speed for the
particles to move away from the face. But wait, you ask why am I changing the Y vector and not the Z? Well here's a little thing you need to
always keep in mind. LW calculates these vectors before the rotation translation takes place. So when the object was first loaded into Layout it
was laying face up looking up the +Y axis. That's the direction the vector is going to base from. It can get a little complicated but
after playing around with the settings abit you should get the hang of it rather quickly.
|
|
|
9 – Now all we need to do to the wind is setup its initial position and animate it. We want the wind to travel
from in front of the face after a short period of time so we can see the face before the face starts blowing away. So move it to
Position X 4.8902m
Y 0.0m
Z -2.691m
Rotate H -63
P -90
B 0
Set a new keyframe at 0. And since we want a period of time before the wind moves set a keyframe at 15 with these settings as well.
|
|
|
10 – Now we want to move the wind to travel through the face and stop just on the other side. Why Stop? Well we
need it to keep our particles moving. Since our wind object is large enough we should have enough wind to keep pushing those particles for
a decent distance without having to aid them any further. So move the wind object to
Position X -1.55m
Y 0.0m
Z 600mm
Expand your animation length out to 200 frames. Then set a new keyframe at 200. Just a quick note for later reference, we are not
going to render the animation out to 200 frames in fact it will only be 70-80 frames. But we want the wind to travel slowly through the
object so it breaks apart a little before its totally dusted. You could set the end point for faster or slower object dusting by
just adjusting this endpoint. Just be warned that depending on how slow you dust your object you will need to find appropriate ways to
dissolve the object itself. I'm personally not going to cover that to much in this tutorial other then just showing you how to make the
object fade out as the particles fade in and travel away. A better method is being held in reserve for a much more complicated production
quality tutorial I'm slowly working on
|
|
|
11 – Well that does it for the wind. Pretty simple setup so far. Now lets go build us some particles!
|
|
|
12 – Select your SmileyFace:Face object and go into the Properties panel for it. Switch to the dynamics
tab. Under the 'Add Dynamic' pulldown menu button select 'Emitter'. You should now have a new 'FX Emitter' displayed in the list
box. Go ahead and double click on it to open the properties for your new emitter.
|
|
|
13 – Change the 'Generate by' to 'Wind'. This will allow the particles to be created but not move till the wind hits them.
Make sure the 'Nozzle' is set to 'Object-Surface'. This will cause the particles to be generated by the surface of the current object.
Change the 'Particle Limit' to 2000. Its a small number but more then enough for now. One thing you want to pay attention to in this type
of setup is to make sure all your particles are being generate before the winds hits them. Later we are going to cause the face to
dissolve as the particles are blowing away. If you have particles being generated after the dissolve its going to be a 'matter from nothing'
scenario. If you find yourself in a position where you can't get all the particles generated
before the wind hits them then instead of having to lower the number of particles just click the 'Fixed' check box on and then in the
'Start Frame' box place a negative numbered start frame (such as -20). Just remember the default life of
the particles is only 60 frames so you
might need to extend this to keep your particles alive through the length of you animation.
NOTE: If you are on a slower machine just turn this down till you're ready to render, then go ahead and crank it up to the level you
really want. That will help speed up the refresh rates making life easier, and thus more fun, will tweaking things.
|
|
|
14 – Switch to the 'Particle' tab. The particles we are making in this case are going to be moved by our wind
object only. If we leave things the way they are now our particles are all going to leave the face and travel at the same rate giving us a
particle version of our face moving. Not what we really want we want that dusting effect so lets vary the weight of the particles a bit.
This will cause the heavier ones to travel slower then the lighter ones. So under 'Particle Weight' you will see another box labeled '+-'
change that setting to .125. That will give us particles that weigh from -.125 to .125 grams. This animation is short enough that our
particles will not die before the default 60 frames. If you need a longer animation then please make sure you extend the life of your
particles to fit your needs.
|
|
|
15 – That finishes the particles for the face. Now we need to do the same thing for the Features object layer.
So select the SmileyFace:Features object. Open its Properties panel if its not already open. Move to the 'Dynamics Tab'. Create a new 'Emitter'
from the 'Add Dynamics' dropdown. Double click on the new FX Emitter to open its properties.
|
|
|
16 – This is pretty much the same thing we just did but we will be changing a couple settings so pay attention here.
Change the 'Generate by' to Wind.
Set the 'Nozzle' to 'Object-Surface'.
Leave the 'Particle Limit' at 1200. Smaller objects need fewer particles.
|
|
|
17 – Switch to the 'Particle' tab. Under Particle Weights box labeled '+-' change that setting to .14. This gives some
of our 'Feature' particles less weight then the 'Face' particles therefore they will
travel a little faster then the faces. This just gives us
some additional exciting visual stimulus even if it is a little whacked in the real
physics but then hey so a floating smiley face.
|
|
|
18 – Next we need to add our hypervoxels and texture them. Like the first 'Dust on the
Wind' tutorial this is going
to be an incredibly simple (spelled remedial) hypervoxel setup. It will give you the basics of what to look for when designing your much better
animation. However we will take it one step further in this tutorial by actually making dust particles instead of whispy sprites.
|
|
|
19 – First lets create our HV's for the Face. Go to the Windows->Volumetrics and Fog Options. While on the 'Volumetrics'
tab click on the 'Add Volmetrics' dropdown button and select 'Hypervoxels'. Double clicking it will open the HyperVoxels panel up for you to
work with. I have created my own Dynamics tab for working with Dynamics and I suggest you look into doing it yourself too if you plan on doing
a lot of work with Dynamics. It just kinda makes work a little faster/easier.
|
|
|
20 – Select the SmileyFace:Face and then click on the box next to it to select and turn the hypervoxels on. Make these
setting changes;
Object Type Surface
Particle Size 40mm
Size Variation 50%
Align to Path checked
Show Particles checked
|
|
|
21 – We're not done here yet. We want the particles to fade in when we are ready for them so that they don't show when
they are created but just when we are ready for them to blow off. The first thing we'll do is set the dissolve so we can't even see them at first.
So click on the 'E' next to 'Dissolve' to bring up the Graph Editor. Set new keyframes at 0 and 22 with values of 100%. Then create a new keyframe
at 23 and set its value to 0%. Select all three keyframes and set the 'Incoming Curve' to 'Linear'. If you need to see how to do this in more detail
take a look at 'Dust in the Wind 1'. Go ahead and close the Graph Editor.
|
|
|
22 – That's the brute force approach. Now lets smooth the transition a little better by playing with the size of the particles.
There are a few ways we could do this. One would be to use the graph editor. The second and better way is to use a gradient texture. Don't freak at the
mention of gradients for those of you still new to them. Gradients are our friends not evil machinations for advanced texture artists. Granted I'm not
going to do this the best it can be done but this gives you a great clue to do it better later.
Having said all of that Click on the 'T' next to 'Particle Size' and make these settings.
Layer Type Gradient
Input Parameter Particle Speed
End 0.05
OK so the reason why I choose Particle Speed here is because the particles have no motion, hence speed, till the wind hits it. Once the wind
does hit they start to move away from our object. At that point we want to start seeing the particles. So we set a gradient where there's no
size when there's no speed (black colors). Once it starts moving we want to ramp up the size quickly where white is the full size we specified in
the Particle Size box earlier (40mm). But to help smooth things out better I have added a couple of new parameters in the gradient to control the
sizing transitioning better. So add these parameters to our gradient.
Value Parameter
0 0.0
0 0.003
85 0.027
100 0.05
Well that sets up our gradient. See painless, hope you like them we have more to add here in a couple of seconds! So go ahead and hit 'Use Texture'.
|
|
|
23 – The next thing I would suggest you to do is to move to the 'Render Tab' on your top bar Menu tab's and select Viper or simply hit
F7 (Cmd-7 I think for Mac users). With Viper up change the 'Preview Options' to select 'Particle View' This now gives us an opportunity to see what
each of our individual particles will look like as we work on them. If you don't see anything yet you might need to do a preliminary render first.
Your particle just looks like a simple gray ball but will fix that next.
|
|
|
24 – Now back in the HyperVoxel panel move to the Shading tab and make these setting changes
Diffuse 75%
Glossiness 40%
Bump 200%
Leave the rest at their defaults. Why 200% on the Bump, well I already know what I'm aiming for so I know I need to crank the bump up pretty high
to start. We might even crank it higher later.
|
|
|
25 – Lets go ahead and create that bump now. Hit the 'T' next to the Bump channel and make these setting changes.
Layer Type Procedural Texture
Procedural Type HeteroTerrain
Texture Value 100%
Increment 0.5
Lacunarity 1.75
Octaves 6.0
Offset 0.8
Noise Type Value Noise
Scale X 500mm
Y 500mm
Z 500mm
Before you leave, under the 'Copy' dropdown box select "Select Layer(s)' to copy this new texture we just created. Go ahead and hit 'Use' Texture.
|
|
|
26 – Now hit the 'T' next to Specularity and under the 'Replace' dropdown select 'Replace Selected Layer(s). Hit 'Use Texture'.
|
|
|
27 – Now hit the 'T' next to Diffuse and under the 'Replace' dropdown select 'Replace Selected Layer(s). Now check the box for
Invert Layer. Diffuse and Specularity work opposite each other so we want the negative of your diffuse settings in our specularity settings. That takes care
of that. Hit 'Use Texture'.
|
|
|
28 – The only thing we need now is a little color for our particles so select the 'T' next to Color and make these changes.
Layer Type Gradient
Input Parameter Incidence Angle
End 90
Gradient Parameters
Color Parameter
255, 200, 1 0.0
255, 245, 2 20.0
255, 251, 2 90.0
That gives us a little color to work with
|
|
|
29 – Lets do one last thing to give us a more interesting particle. Switch to the 'HyperTexture' tab. Under the 'Texture'
drop down select 'Dented' leave everything at their defaults except change 'Texture Amplitude' up to 100%.
|
|
|
30 – We need to create and texture the hypervoxels for our 'Feature' particles as well. Since I'm a little lazy today we are
going to cheat a little. OK a lot. On the far left of your HyperVoxel panel, above the Object name list box, hit 'Copy', this will copy all the
settings we just made including the textures and Graph Editor envelopes. Now click on the
SmileyFace:Features object and then click on the box to the
left to select it and activate it. Now with it selected hit 'Paste'. Voila instead
hypervoxels.
|
|
|
31 – Halt, stop, wait, we have a problem here. We have black eyes and a black mouth but our particles are still the smiley
face yellow. Well that's simple we just need to change the colors in the Color Gradient. Here's what I used.
Color Parameter
190, 190, 190 0.0
35, 35, 35 20.0
25, 25, 25 90.0
|
|
|
32 – That's all we are going to do with the HV's for this tutorial. There's so incredibly much more we could do to make this
better but that's where playing around and experimenting comes in on your part. We have our object. We are creating particles which have textured
hypervoxels attached to them. They fade and grow in as the wind hits them and they take off from the surface and then blow off the edge of the
screen. Opps, wait we forgot something here. The object will stay in view even after the particles have
blown away. So now we need a
way to fade him out. There's wrong ways and right ways to do this. The bad news is that I'm not going to show you the best ways to do this in this
tutorial. One of the best right ways would be to use animated transparency
textures, but we are not going to do that today. I'm going to do an intensely cheesy cheat and have them fade
out using Camera Dissolve. This not really a pretty of way for this effect but
it does get the job somewhat done. In a later much more comprehensive tutorial which I'm already working on I'll show you the right way to do things like
this.
|
|
|
33 – So we want to select the SmileyFace:Face object. Open its properties panel and move to the 'Edge' tab. Hit the
'E' next to' Polygon Size' to open the Graph Editor. Set Keys at 0 and 22 and give them a value of 0%. Then create a new Key at 30 and give it a
value of 100%. Then make sure all three keys have a TCB Spline Tension set to 1. Then select the 'SmileyFace:Features' Object and repeat the same
setup.
|
|
|
34 – Well that about does it for what I'm going to cover in this tutorial. All that is left to setup the render and camera options
and render it out. For the render options I turned 'Ray Traced Shadows' on. I turned 'Extra Ray Trace Optimization' off and then set Ray Recusrion level down
to 4. I set the render range to render frames 1 to 80. I rendered this with
individual BMP24 and then comped them together later. We have no need for anything else here.
For the camera properties the only special thing I did was to turn on "Particle Blur' and set the 'Blur Length'
to 100%. Then I switched the 'Antialiasing' to 'Enhanced Medium'.
|
|
|
35 – The very last thing I did was to set the back drop color (Window->Backdrop Options) to something other then black so we can see
the black 'Feature' particles when they are flying. Well its finally time to render. I have included a sample render from the setup created in this tutorial
in the zip package.
|
|
|
36 – Well as I said at the beginning and throughout this tutorial this is an extremely bare bones setup and
there's a lot of room for
improvements. My intent on writing this was just to demonstrate how to create particles being emitted from geometry which we have successfully done. But
there's still several huge steps that need to be made to move from here to next the next 'Mummy' or 'Blade' movie. But the best learning is made from playing
and experimenting. You have the basics and hints on what to do to create that next hot Hollywood scene. So go play, have fun and please feel free to contact
me if you have any questions or problems. Aloha, my ninja friends.
|
|
|
Please feel free to contact me with any questions, problems or comments: aurora@auroragrafx.com
You can also always catch me on SpinQuad
|
|
|
Project Files: The project zip file contains the
'SmileyFace.lwo', the completed LW8 scene file 'DustedSmiley2.lws',
and a render of the final project comped as a DivX file, 'DustedSmiley2.avi'.
DITW2_ProjectFiles.zip
|
|
|
--Top of Page-- |