Creative COW's LinkedIn GroupCreative COW's Facebook PageCreative COW on TwitterCreative COW's Google+ PageCreative COW on YouTube
LIBRARY:TutorialsVideo TutorialsReviewsInterviewsEditorialsFeaturesBusinessAuthorsRSS Feed

Flying Through Clouds in 3ds max

COW Library : Autodesk 3ds Max Tutorials : Jonas Ussing : Flying Through Clouds in 3ds max
Share on Facebook
Creating Clouds in 3ds max
CreativeCOW 3ds Max Tutorial

Jonas Ussing Jonas Ussing
Copenhagen, Denmark

Jonas Ussing and All rights are reserved.

Article Focus:
In this tutorial from Jonas Ussing, you will learn to create a fly-through of a realistic cloud tunnel that renders relatively fast, using 3D Studio Max with no plugins or 3rd party renderers.

But first, a little theory... the rest of the tut is based on this, so no fair skipping ahead!

The problem of ray-marching and volumetrics

The basic physics of light moving through a gaseous cloud has nothing to do with traditional polygon lighting, and therein lies the main challenge when rendering clouds.

We will now move on, knowing that the photorealistic look of a cloud is dependant on decaying, non-polygon lighting.

1. The cotton teapot

Before moving onto a larger cloud formation, we'll take the theory from above and apply it to a simple shape.

1.1. Create a teapot with a radius of 40 in the Perspective viewport. Right-click, choose Properties, and de-select "Renderable". Press CTRL+C to create a camera in the viewport.

1.2. Press "6" to open Particle View. Create a flow with a Birth event, Position Object, Shape Facing and Material Static.

Click image to view larger image

1.3. In the Birth Event, set Emit Stop to 0, and Amount to 1000. In Position Object, select the teapot as Emitter Object. In Shape Facing, select the camera in the scene as Lookat Object, set Size to 20 and select Random orientation. In the Display event, set Type to Geometry.

1.4. Now, in your favorite paint program, use a soft brush to make a popcorn shaped blob that looks something like this. Make sure it's white on black background.

1.5. In 3ds Max, create a material with a solid white color, that uses your popcorn image as Opacity Map. Drag this to the Material Static event in the Particle View.

1.6. In the Material Editor, make sure the popcorn map is open. Click on "Bitmap", and select Mask from the Map Browser. Choose "Keep old map as sub-map" in the "Replace Map" dialog. In the new Mask material, your popcorn map is set as Map, so drag that do the Mask slot, and choose "Swap".

1.7. Click the Map slot, and choose Gradient Ramp from the Map Browser. Set Gradient Type to Radial. Right-click the left flag, choose "Edit properties" and change the color from black to white, right-click the center flag and choose "Delete", and right-click the right flag and choose "Edit properties."

1.8. Press the None slot to open the Map Browser and choose Smoke. In the Smoke Map settings, enter Size 5, and Exponent 1.

1.9. Create a Target Direct light in the top viewport, so it lights the teapot from behind, and place the target in the center of the teapot. On the light's "Intensity..." rollout, activate Use Far Attenuation, and adjust the Near and Far values so the range covers the whole teapot and the particles. Under Directional Parameters, adjust the Hotspot/Beam so all the particles are covered. Now for the magic: in the light's Advanced Settings rollout, click "Ambient Only". This will make the light ignore the polygons' angles, which is exactly what we want.

1.10. Render that out to see the fluffiest teapot!
(hint: switch to Mental Ray to double render speed.)

What we've done here is fake ray-marching. The fake part is that we ignore how far the light has travelled inside the cloud, and instead concentrate only on how far the light travels in space. For our purposes, it's close enough.

2. Flight path

First, we'll create a camera that chases an airplane through a tunnel. Later, we'll turn that tunnel into clouds. If you think you've already spent too many hours of your life creating tunnel effects, move onto chapter 3, but skim chapter 2 to make a note of the dimensions used.

2.1. Delete the teapot and the light from before, but keep the camera, particle system and the material.

2.2. Create an s-shaped spline like this, using four bezier points. Note the shape in the Top and Left viewports. Be careful with the bezier handles – no sharp corners! And since we don't want any jittering in the camera, increase the interpolation to 20, and de-check Optimize. (actually, we do want jittering, but not this kind... more on this later!)

2.3. The first point in my curve is at 0,0,0, and the last is at 50,400,-100. This isn't crucial, but the closer your scale is to this, the easier it will be to match the sizes of particles and procedural maps later in the tutorial.

2.4. Select the camera, and add a Path Constraint by going to the Motion rollout, expand the Assign Controller rollout, click Position, click Assign controller and doubleclick Path Constraint.

2.5. In the Path Parameters rollout, click Add Path and click the spline in a viewport. Now the camera follows the length of the path during the whole length of the animation, but we want it to have a distance to the camera target, so go to the final frame, activate Auto Key, set the Default Tangent to linear, and type in 90% in the %Along Path field.

2.6. Create a dummy, and add a Path Constraint to make it follow the same spline, but now (with Auto Key on) go to frame 0 and type in 10% in the %Along Path field. Turn off Auto Key.

2.7. Align the camera target to the dummy, and then link the camera target to the dummy. Play the animation, and double check that you now have a nice animation of a camera following the camera target at a constant distance.

2.8. Why use the dummy and not apply the Path Constraint directly to the camera target? Remember that jittering we were talking about? Select the camera target, and assign the Noise Position controller to it, instead of the Path Constraint. In the Noise Controller dialog, de-select Fractal Noise, enter 0,2 as Frequency, and 2,0 as X, Y and Z Strength. This gives a nice turbulent bounce to the camera.

2.9. Create a cylinder with Radius 45, Height 440, Height Segments 40, Sides 15, and align it to the path (position and rotation) using the Align tool. Right-click the cylinder, go to Properties and de-select Renderable. Also, make sure the cylinder's Backface Cull is turned off.

2.10. In the Modify panel, open the Modifier rollout, and select PathDeform (WSM). It's very important that you choose the World-Space Modifier version (WSM), and not just the normal PathDeform. Select the path.

2.11. Now you can see the cylinder stretching along the path. If your path coordinates deviated radically from the ones I described earlier, you will need to adjust your cylinder's Length, Radius etc. Play the animation in the camera viewport, and it should look something like a tunnel effect from an Amiga demo, but without the plasma!

2.12. For an extra touch, add a banking effect to the camera: set Default Tangents to auto, activate Auto Key, select the camera, and press F12. Go to frame 25, and set Roll to -25. Go to frame 75 and set Roll to 25. Go to frame 100 and set Roll to 0.

set Default Tangents to auto

2.13. If you want, now is the time to merge your favourite aircraft model into the scene, and add the same Path Constraint once more. Again, go to frame 0 and set the "%Along Path" to 10. Activate Follow and Bank, set the Bank Amount to 2, and the Smoothness to 1.

2.14. Also, load in a standard environment map, for instance, CHROMBLU.JPG from the Max library (not that we'll be seeing a lot of background, but it's better than black)

Enough with the flying lessons! Let's make clouds!

3. Cloud tunnel

Collapse the tunnel

3.1. Collapse the tunnel (Cylinder01), add a TurboSmooth modifier, and set Iterations to 2. Then add a Noise modifier on top. Set the Noise Scale to 40, activate Fractal, set Iterations to 2, and set X, Y and Z Strength to 40.

3.2. Add a Push modifier and set it to -10 to make the walls bulge out in round shapes (if you think the polys are moving in the wrong direction when you use the Push modifier, keep in mind that we are watching the inside of a cylinder, and all the polys are backfacing). The cylinder is now a representation of where the clouds will be.

3.3. Press "6" to open the Particle View. Change the Amount to 2000, and select Cylinder01 in Position Object. Your tunnel should now be populated with billboard particles. Make a test render of that, to see how you're doing.

Not bad, but we're still using traditional lighting, based on polygon angles - that's the only reason for the grey shades you can see in the render. This isn't a liable solution, because when the billboards turn to follow the camera, their angle relative to the light source will change, and so will their brightness.

3.4. But before we begin lighting the cloud tunnel, let's work on the color. We can't apply any polygon-mapped texture, but we can make large chunks of color variation. In the cloud material, click the Diffuse Color slot, and select Noise from the Map Browser.

3.5. Choose Fractal, High=0,8 Low=0,2 Levels=10 and Size=100. Instead of black, use 60, 90, 115. Turn the cloud material's Self-illumination up to 100, and render.

What we have created is a large world-space texture variation. The reason we can't use polygon-mapped bitmap textures with billboard particles is that when they turn to follow the camera, they will intersect in and out of each other, and the textures will "pop" in and out. But with a world-space texture, two intersecting polygons are guaranteed to have the exact same color information at the intersection point, so the intersection is invisible.

(Technically, world-space textures aren't perfect either, because when the billboards turn, their surface will move through the world-space texture information, and the texture will appear to "crawl" over the surface. But with a pattern this large, it's not a problem)

3.6. In the top viewport, create a Target Direct light that lights the cloud tunnel from the side.

Create a Target Light

3.7. Right-click Top -> Views -> Direct01 to see the scene from the light source's point of view. Under Directional Parameters, adjust the Hotspot/Beam until the particles are totally visible from the light source.

3.8. Render the scene from the light's point of view. Save the image, and load it into your favourite painting program. Your particles will probably look all flat and weird because they're pointed at the camera and not the light source, but that's OK.

Paint over the particles

3.9. In the paint program, paint over the particles so they get covered with a gradient like this, and save the image. The idea is that anywhere in the cylinder, the cloud particles will have a gradient from top to bottom. We're faking ray-marching of light coming from the top. I have used 170, 220, 240 for the bright color, 50, 90,110 for the dark color, and 80, 140, 170 as the background base.

3.10. Back in 3ds Max, click the Map slot in the light's Projector Map rollout, and choose your paintover image. Remember to check "Ambient Only"!

Check ambient only

3.11. NOTE: the purpose of this light source is to illuminate this particular cloud and nothing else, so if you have an aircraft in the scene, go to the light's Include list and add your cloud Particle Event, which is probably called "PF Source 01->Event 01". Then you're going to have to add new lights to light up your aircraft, so go ahead and add the same Particle Event to those lights' Exclude list.

3.12. Now it's time to test the light. Go to the cloud material and turn the Self-illumination to 0, and turn off the Noise Map in the Diffuse Color slot. Render!

Turn on the self-illumination

(note: the first few frames might have particles right up in the camera because of the capped ends of the emitter cylinder, so delete those faces on the cylinder, or go forwards to a more interesting frame)

We're almost there! Now all we have to do is combine the world-space noise map with our light gradient.

3.13. Set Self-illumination to 50, and re-activate the Noise Map in the Diffuse Color slot. Render again! You're done!

If you will, adjust the Self-illumination and the Diffuse Map's Amount slider to blend between the Noise Map and the gradient light source.

Now render the whole animation while you make a pot of coffee...

We're almost there

4. Highlights on the sunny side

Remember that rimlight/halo look that clouds get when they're backlit? So far we've seen nothing like that in this tutorial, but there is a cheap and dirty way to fake it. Stay with me.

4.1. Copy the emitter (Cylinder01) in the Top viewport, and move the copy just a few units North.

4.2. Press "6" to open Particle View, and create a copy of Event 01.

4.3. In Event 02, change the Position Object to Cylinder02. You should see the double particles in the Top viewport like this. This should also warn you that the particle count has doubled, so prepare for slower renders...

Press M to open the Material editor

4.4. Press "M" to open the Material Editor, and create a copy of the cloud material. Name this "cloud_highlight".

Change the Self-illumination to 75, and change the Diffuse Map's Amount slider to 25. This will make the highlight material brighter and more self-illuminated than the rest of the clouds, which is exactly what we want.

You can further enhance the effect by lowering the original cloud material's Self-illumination.

4.5. Drag the "cloud_highlight" material to Event 02's Material Static slot.

Drag the cloud highlight material

4.6. Render again to see the new look. At first glance, it may seem much better, but remember the disadvantages about textures and intersecting billboards? They'll start showing, once you render the whole animation.

Render again to see the new look.

That's it, I hope it's been informative. If you found this tutorial useful, please stop by my website:
- Jonas

Discuss this technique or others in the 3ds max forum at

Please visit our forums and view other articles at if you found this page from a direct link.

  View 10 Comment(s)

  Autodesk 3ds Max Tutorials   •   Autodesk 3ds Max Forum
Reply   Like  
Share on Facebook

Re: Flying Through Clouds in 3ds max
by Ariel Núñez
I arrived to your fantastic (excuse me, there is a misspelling in that word) your FANTASTIC (that's right now) tutorial via ScriptSpot > Cloud Tunnel script. I thought nobody else (except for me :) was devoting to write tutorials for 3ds Max (or any CG software) any more. Everything you find out there are videotutorials (the free ones on Vimeo or YouTube; the expensive ones in Lynda, Digital Tutors, etc.). My native language is Spanish (that's why my poor and troglodyte English), so one day I decide to help my colleagues by subtitling a series of PHP's video tutorials. At the end of several days of work, I realized that two hours of video were reduced to barely a couple of kilobytes in plain text format. That's why I love written tutorials: a ton of information in less space and in a less expensive media. By the way, you are (or you have the soul of) a TEACHER. Your pedagogy is really very impressive. Thank you, Jonas, for this amazing piece of 3D education. I'll quote you every time I'll explain how to create clouds tunnels (that's what I call "to take the copyright-left-center into account …"). And, please, forgive all the negative commentaries from the novices: the 3ds Max's User Reference is still there, isn't it? ;)

From Cuba,
Re: Flying Through Clouds in 3ds max
by Scott Gaskill
Looking for a little assistance here. I am now up to 1.10 in this tutorial. Once I render the scene, the object is white with no defining shadows or light trying to pass through the object (clouds). Any thoughts?

- Scott
@Scott Gaskill
by Ariel Núñez
Hi, Scott!

My name is Ariel Núñez Morera –I'm Cuban, I live in Havana– and I recently posted a comment in the same page as you (CreativeCow, “Flying through clouds in 3ds max”, by Jonas Ussing). I read your post and I think you are (or were, about three month ago) in a fix. Well, here I am, ready to help you! I've been teaching 3ds Max and some other related stuff for a bunch of years. I wrote a very long list (on about two rolls of toilet paper… both sides) of those matters in which I'm really stupid, but… trust me: I am a five-star (plus) teacher! I think that's my “mission” in this world ;)

First of all, pack your frustrating Max scene in a RAR, ZIP or whatever compressed archive, and mail it to:[]. Include some comments (if you wish) in the body of the message and a couple of beers (indispensable requirement) in the attachment :))))) Let's analyze step by step what you did and what you should do. I'm very conscious of the high level of Jonas' tutorial, but (trust me again) you'll understand every detail, even the hidden ones.

Sorry for my English.(English language is heading my list in the first roll, side A…)

See you in my in-box,

PS: I know, I know… My second name is nearly unpronounceable for an English-speaker. It sounds something like "nu' njeth" (!!). Don't worry: just call me Ariel and that's it.

PPS: I am a man, not a little mermaid! :)))
Re: Flying Through Clouds in 3ds max
by Kenan Destanovic
I think that this is an awesome tutorial. I managed in achiving similar results. Thank you very much for this.. :)
Please make a "dummies"!
by Tord Maribu
I'm using 3Ds Max 2012 and when I get to 1.2 it all goes to shit... Please!! I need help!

Twitter - @TordEMaribu
From - Norway
Thank you very much!
by Luis Zapata
Hi, i live in Colombia, and this tutorial is excelent!. yes, It's a hard stuff, but a follow your guidance an acomplish similar results you show in the page. So, thankyou very much for your tutorial Jonas!.
Wow! Excellent tutorial!
by Sandra Ceballos
Thank you for this tutorial! I've never worked before with particle flow, but it was so easy to follow each step. I'm not an advanced 3dsmax user, and I can tell this tutorial can be made by a beginer (the images make it easier ;D)

Thank you again!

Sandra Ceballos
From Mexico! haha
Wow! Excellent tutorial!
by Sandra Ceballos
Thank you for this tutorial! I've never worked before with particle flow, but it was so easy to follow each step. I'm not an advanced 3dsmax user, and I can tell this tutorial can be made by a beginer (the images make it easier ;D)

Thank you again!

Sandra Ceballos
From Mexico! haha
It's as difficult as it is
by Jonas Ussing
Hey Mick, thanks for the kind words.

But no, the tutorial could not be easier. This is for advanced 3dsmax users, and we're taking advance of particle flow, materials, procedural maps, advanced lighting, spline paths, understanding the physics of light through gasses, all in one tutorial, and if I had to explain all those topics to beginners, I would literally have to write an entire book to spell everything out. And nobody pays me for this, remember - It's a free tut. ;)

If you think the tutorial is too complicated, you need to take some beginner's tutorials in particle flow and materials, and then come back and try again.

If you do a YouTube search for "3dsmax cloud tunnel" you'll see succesful results from many people who completed the tutorial.

Good luck! You'll get it one day.

- Jonas
It could be better if....easier !
by Mick editor

i'm french, so it's so easy to understand all the words in this tutorial and my software is in french too, but i tried, i tried...even if i'm a real beginner on 3dsmax !
But i'm really ok with the person who wrote this commentary : "The instructions are kinda vague. It makes it harder for beginners to learn this stuff. Can you elaborate for the "dummies?" How do you make a "solid white color" material and then use the image file for the opacity map?"

I stop the tutorial just at this step, and i read that some guys stopped after because of the difficulty, so i imagined it will be more and more difficult for me after...

Please, the result of your work is very powerfull, wonderfull, i love it, we love it, it's a really good job, and with all the respect i have for u and for what you've done, i think it deserves to be easier, to be more cleary. I guess you work a lot, because i visited your site and i understood immediatly you are a good worker. But just know that you will help a lot of people, everywhere in the world, with some changes in this crazy tutorial.

With admiration,

From France !

Related Articles / Tutorials:
Autodesk 3ds Max
Autodesk 2015 Product Updates Empower 3D Artists

Autodesk 2015 Product Updates Empower 3D Artists

Autodesk's new software empowers 3D artists' creativity by simplifying complex tasks and extending workflow capabilities. Enhancements to the 2015 software include new tools such as Bifrost and ShaderFX, and an updated Maya LT for indie game makers.

Editorial, Feature
Autodesk 3ds Max
The Invisible Art: Matte Painting/Set Extension Tips

The Invisible Art: Matte Painting/Set Extension Tips

Virtual matte painting and set extension doesn't just live in grand shots of big budget movies anymore. "The Invisible Art" is now affordable through software you likely already own -- but still requires careful preparation during live action shooting if it's to be believable. Here are tips from an Emmy Award-winning local spot that you can apply to your own work, whichever tools you're using.

Editorial, Feature, People / Interview
Autodesk 3ds Max
Autodesk, The New Rental Model & Flame Premium 2014

Autodesk, The New Rental Model & Flame Premium 2014

Autodesk Industry Marketing Manager Marc Hamaker talks about Autodesk's decision to add a rental model. Rental models for Autodesk Design and Creation Suites as well as individual software packages, is available on Sept. 16. Also new is Flame Premium 2014, which integrates visual effects, editorial finishing and 3D effects creation.

Editorial, Feature, People / Interview
Autodesk 3ds Max
Particles in 3ds Max 2014: Adjusting Size

Particles in 3ds Max 2014: Adjusting Size
  Play Video
In this Autodesk 3ds Max 2014 tutorial, Creative COW leader Michael Hurwicz uses the Data operator to adjust the size of particles on the surface of a sphere, based on the separation between the particles.

Tutorial, Video Tutorial
Autodesk 3ds Max
Creating a 3D Particle Ball in Autodesk 3ds Max 2014

Creating a 3D Particle Ball in Autodesk 3ds Max 2014
  Play Video
In this Autodesk 3ds max 2014 tutorial, Creative COW leader Michael Hurwicz uses the Data Operator (available (available for the first time as a standard feature) to create a sphere of particles with random 3D motion. This is done by taking particle rotation data and using it to determine particle position.

Tutorial, Video Tutorial
Autodesk 3ds Max
3ds max 2014: Data Operator & Data Presets for Particle Flow

3ds max 2014: Data Operator & Data Presets for Particle Flow
  Play Video
In this Autodesk 3ds max 2014 tutorial, Creative COW leader Michael Hurwicz looks at two features that are now a standard part of the product: The Data Operator allows you to use math, via a graphical user interface, to manipulate particles. Presets allow you to save and load Data Operator setups previously created by you or others.

Tutorial, Video Tutorial
Autodesk 3ds Max
Creating Animation for PBS - in High School

Creating Animation for PBS - in High School

Lanier High School students work with 3D Studio Max creating a real world project thanks to a collaboration between Biscardi Creative Media Principal Walter Biscardi, Jr. and CDAT teacher Mike Reilly. Instead of just working on a class assignment, these students are creating something that will be part of a PBS documentary due to air in Fall 2013.

Editorial, Feature, People / Interview
Autodesk 3ds Max
Daniel Simon: Designing Fantasy Vehicles for the Movies

Daniel Simon: Designing Fantasy Vehicles for the Movies

Daniel Simon, a native of Germany, had an intense education in automobile design at one of a handful of universities worldwide that have that specialty. Watching Star Wars Episode 1 opened Simon's eyes up to the possibility of designing fantasy vehicles. After seven years of drawing them for his book Cosmic Motors, he was picked by director Joe Kosinski to work on the vehicles in TRON: Legacy. That single job has evolved to a career designing vehicles for several Hollywood movies.

Editorial, Feature
Autodesk 3ds Max
State Sets for 3ds max 2013, Photoshop & After Effects

State Sets for 3ds max 2013, Photoshop & After Effects
  Play Video
Creative COW leader Michael Hurwicz provides an introduction to State Sets, a new feature in Autodesk 3ds max 2013 that revolutionizes interoperability with Adobe Photoshop and Adobe After Effects, as well as opening up new possibilities for working within 3ds max itself.

Tutorial, Video Tutorial
Autodesk 3ds Max
Autodesk 3ds max & Di-O-Matic's Facial Studio

Autodesk 3ds max & Di-O-Matic's Facial Studio
  Play Video
In this tutorial, Andrew Devis shows how easy it is to create, add materials to, animate and lip-sync a head in Autodesk 3ds max using the plug-ins from Di-O-Matic called 'Facial Studio' and 'Voice-O-Matic'. Andrew goes through the basics of this plug-in just to show how easy and quick it is to use and how powerful it can be - not to mention just how much time it can save you!

Tutorial, Video Tutorial


Creative COW LinkedIn GroupCreative COW Facebook PageCreative COW on Twitter
© 2015 All rights are reserved. - Privacy Policy