next_inactive up previous


Different ways of smoke and explosion simulation

1 Abstract

On this website, it presents different ways of smoke and explosion simulation in computer graphic, such as particle or fluid. Also we are going to look at some example, and then disscuss what their are advantage and disadvantage. Particle and fluid effect both are using physics dynamic to simulate natural forces in 3D package. Particle are points that display as dots, streaks, spheres, blobby surfaces, or other items, we animate its display and movement, it does not use solver to calculate its motion. Fluid effect is divided as dynamic fluid effect and non-dynamic fluid effect. Dynamic fluid effect uses mathematicla equations as a solver to calculate its values at each time step, we can animate its attribute or apply forces on it, let the fluid solvers calculate its motion. Non-dynamic fluid effect do not use fluid slovers to calculate its motion, for non-dynamic fluid, we create a texture of its looking, and animate it as fluid motion.

2 Using particle sprites

Image material/spriteSmoke.jpg spriteSmoke.avi

In this example, we use particle sprites to simulate smoke. A sprite appears as a small retangle that always face to the camera directly regardless its position and orientation. We apply a texture map on each sprite, then create three expression to control the size and the twist of each sprite. Showed as below.

particleShape1.spriteTwistDirectionPP = rand(-1,1);

particleShape1.spriteScaleXPP = age*8;

partilceShape1.spriteScaleYPP = age*8;

particleShape1.spriteTwistPP = age*200*particleShape1.spriteTwistDirectionPP;

Also, we can edite its color and opacity, give it more change. Here, we use ramp maps to edits its color and opacity. showed as below.

Image material/spritSmokeRamp.jpg

We can animate the rate and the speed of the particle emitter to simulate its motion, or we can add some fields on it. Using sprite to simulate smoke is easy to control and saving render time. But sprites are only rendered in maya hardware, maybe you need to spend more time to composite it with you scene.

3 Using particle cloud

Image material/cloulSmoke.jpg cloudSmoke.avi

This example, we use particle cloud to simulate smoke. Cloud can be rendered in maya software, if you do not know much about compositing, using cloud may be you best choose. Using cloud is similar to using sprite, cloud appears as many small circle pieces which always face to the camera. Compare with using sprite, we can not apply texture on each circle piece directly, but we can modify its shade. In this example, we use 3D particle cloud shade as cloud shade, and we added a ramp map in its color and transparency, also we added cloud and crater as texture in the ramp map. The particle cloud shade node connection graphic showed as below.

Image material/cloudSmokeShade.jpg

Like using sprite, we use expression to control the size of each circle piece. In this example, we used this expression.

particleShape1.radiusPP = age*8;

Using cloud and sprite can get the similar result, both of them are easy to control and render quickly, but they can not give you more control on the their motion, and the smoke is not looked meticulous enough.

4 Using particle multipoint

Image material/multipointSmoke.jpg smoke.mp2

In this example, we use particle multipoint to simulate very thin smoke, it is the same as sprite, multipoint is only rendered in maya hardware. Here, we added two dynamic fields to simulate its motion. One is air field, it force the smoke moving up, another is turbulence field, it give it more change in the motion, make it more realistic. To simulate the smae result, we also use 2D fluid effect, you can get the example in maya get fluid example menu.

5 Using particle to simulate explosion

Image material/particleExplosionS.jpg explosion.avi

In this example, we used three particle to simulate explosion. The first particle used particle tube, and it simulated the spark of the explosion. The second particle used particle cloud, it simulated the fire burn, it was added uniform, turbulence and drag fields to simulate its motion. The third particle used particle cloud too, it simulated the smoke after the explosion, it also used uniform, turbulence and drag fields to simulate its motion. Each particle had different particle cloud shades. Showed as below.

Image material/particleExplosionShade.jpg

6 Using dynamic fluid effect to simulate explosion

Image material/fluidExplosion.jpg fluidExplosion.avi

This example, we used dynamic fluid effect to simulate explosion. Dynamic fluid effect use mathematic equation as solver to calculate the values of the fluid components at each time step, because this, its behavior should be more realistic. Using fluid effect, it give you more control in the attribute editor, but on other hand, it is more complex and difficlute control. In this example, we did not use the turbulence and twist setting in the fluid effect attribute, instead of them, we do the similar as the last example, we added volume and turbulence fields to control the fluid motion. Volume field push the density aways from the center, and the turbulence feild give it more change.

Compare the rendered images with the last example, we can see the smoke and the fire are very different. The smoke and fire that created by particle looked coarser, and the motion of them are montone. The fire and the smoke in this fluid example are looked more realistic, but it took longer to render.

About this document ...

Different ways of smoke and explosion simulation

This document was generated using the LaTeX2HTML translator Version 2002 (1.62)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir28610uGIrEx/lyx_tmpbuf0/newfile1.tex

The translation was initiated by Zhuo Yao Lu #c1130739 on 2005-05-18


next_inactive up previous
Zhuo Yao Lu #c1130739 2005-05-18