Simulating Smoke with Particles

By

Pat Connelly

 

You can make a particle emitter out of various shaped objects.  Hollow objects such as a sphere do not work well as the spherical shape is pulled out and there is a large gap in the center representing the hollow inside of the sphere.  Also, it helps if your object is compressed with all the faces in a tight compact group.  It works best if there are several layers of particles/faces rather than one single dense one as a single layer does not seem to randomly spread out the particles with the particle effect but instead the stream is too solid and dense.

sphere_emit.gif (5949 bytes)How many particles and faces are enough?  My object has 396 faces which translates to the same number of particles.  I think around 400 works fine.  Much less than that seems a little sparse in making smoke.  I originally made a box (extruded plane) which also worked fine but I thought a circular emitter should be more appropriate.   This is a standard sphere with a 50 radius, 36 circle sections, and 12 vertical sections.  I cut off the top half of the sphere and then compressed the height to 5 units.

All attributes are default except fog.  It has a fog length of 500 with a falloff of 500 ( this was trial and error and will vary for different sized emitters and particles.  The falloff is planar and along the z plane.   The particle size is 30 and the particles are spheres aligned to the object.   I used inscribed but I don't think it matters.  Don't try to render the object in the Detail Editor as it will take a very long time.  The particles are huge and overlap one another.  This greatly increases the rendering time.  In the Stage editor with the particle effect, the rendering time is short.

ghost.gif (775 bytes)The emitter has two textures - ghost and fogtop.  Both fog settings are the same and listed to the left.  The noise settings for fogtop are 1 and 10, respectively.  The only peculiar thing is the axis placement for fogtop.  Fogtop is a linear fade applied to fog objects.  It is controlled by the texture z axis.  As I wanted the top of the smoke to gradually fade, I needed the axis to be placed near the top of my smoke column.  This distance was calculated in the Stage editor.  The fog falloff distance was also calculated similarly and then reapplied in the detail editor. 

fogtop_axis.gif (989 bytes)The fogtop axis placement is seen on the left.  The graph units are 50 apart.  You can't edit the textures properly from the attributes selector in the stage editor.   The object is particalized by the particle effect and looks goofy when you edit it.   When you reload it into the stage editor, all the measurements are screwed up.   I used two copies of Imagine and edited the object in the detail editor while I reloaded into the stage editor and everything worked fine.

smok_part1.gif (2578 bytes)Now we move on the stage editor.  Here is a picture of the object with the particle effect applied to the first frame.  As you see it does not look like the original object.  The settings for the particle effect are as follows:  frames 1-120, rain +, no bounce or taper, 100% emission; faces - scaling 5, delay 10; wind - off; travel - distance 400, speed 0.5, time to terminal x and z is 60, min/max z - 0 and 10, min/max x - -360 and +360, gravity - 0.  What does the above mean?  You need at least 120 frames so the smoke does move too fast.  Thirty frames looks good but the smoke is really billowing.  100% emission is a lot of particles.  Scaling means the particles get bigger as they travel up.  A slight delay is used for the scaling.   A distance of 400 gives the smoke a nice shape and size.  The min/max z gives a tight column with only a little spread of the smoke particles.  The min/max x gives a symmetrical distribution around the z-axis.  Gravity must be zero as the smoke always rises.  The time to terminal z and x is a critical value.  I want my smoke to loop nicely.  You need to set this to 1/2 the total number of frames for a nice symmetrical look which means frame 120 blends nicely into frame 1.  Playing around with these values will create any pattern of smoke you want.



Return to Main Menu or Tutorial Menu

Address comments and suggestions to Pat Connelly (fnadoc@erinet.com)