This is a child page. You can use Parent in the quick nav bar at the top or the bottom of the page to navigate directly back to the parent of this page. Some child pages are more than one level deep, and in that case will require more than one Parent click to reach the outermost document level.

16.94.6 - Fireworks Particle System Example

Particle Definition

This system is 250 particles. The general idea is to have them all bunched up initially (inside the imaginary fireworks rocket), "launch" them that way, with color set to white so they look like a hot rocket exhaust, then "blow up" the firework when it reaches altitude. The Y center of 1 initially displaces the particle system to the bottom of the image. The system is a 3D system with a minimum radius enforced, so that particles are distributed in a shell rather than a solid sphere. The palette advance allows particles to vary in color no more than 10% of the current position in the palette. Clip at edges is set so that particle that go off the edges stay gone (don't wrap) and Additive Placement is selected so that particles that are superimposed will be twice as bright, just as they would be in a real explosion. The initial width of the system is 0, 0, 0 so the particles are all bunched together.
Force 1

This is the "launch" force. It causes the particles to accellerate from the ground for time 0 to time .5. A small amount of turbulence is applied, as these rockets don't generally have good enough propulsion and guidance systems to fly up in a perfectly straight path. This force also factors the particle size by .125 to make them 1/8th what the main dialog indicates. Since the main dialog specifies from 5 to 10, this means that this force holds them to a minimum of .625 and a maximum of 1.25, or just slightly larger than one pixel. Small!

At this point, this question comes up: How can you have a particle smaller than one pixel? The answer is that a particle that is .5 of a pixel in size is reduced to 1/2 it's brightness (or transparency, if that is in effect.) That is a very effective way of making it look smaller, because it has a correspondingly lesser effect on the image. We use the same technique to create particles that are any non-integer pixel size.
Force 2

This force is the "blow it up" force. It exists for only a small fraction of time (.5 to .51), and in that time it imparts the maximum velocity specified. It has a decay time of .5, so that by the end of the system lifespan at 1.0, the explosive velocity has almost entirely dissipated. That's because the particles in a real fireworks explosion are hot pieces of ash, they are very light and quite broad, so that air resistance slows them down a great deal. You'll note that the velocity applied in the explosion is small; that's because when you completely apply a velocity in a short amount of time, you're accellerating quite hard. That's what wrecks hard drives when you drop them, in fact — sudden accelleration.
Force 3

Once the explosion has happened, this force fires as well. It applies a constant downard accelleration, just as gravity would, and you can see the particles fall as a result. In fact, if you set this example up and turn on Accululate Changes in the Timeline menu, you cannot only see this effect very clearly, you get a different kind of firework!

The palette is set up so that the first 50% is white. This is the color applied during the liftoff and travel phase. Then, at .5, we set up colors that we want the firework to be. We chose red, but there are green fireworks, etc. Then, we threw some purple and blue flashes in there and finally faded the sparks to black. The single bright white color cell provides the terminal "booms" that some fireworks emit, bang-effects to "punctuate" the display. Fun!
Keyboard Navigation
, Previous Page . Next Page t TOC i Index o Operators g Glossary
WinImages F/x, Morph and all associated documentation
Copyright © 1992-2007 Black Belt Systems ALL RIGHTS RESERVED Under the Pan-American Conventions
WinImages F/x Manual Version 7, Revision 6, Level A

Valid HTML 4.01 Loose

This manual was generated with wtfm
wtfm uses aa_macro and SqLite
aa_macro uses python 2.7
Page 252