by date
AFX and Bottle Rocket Science
AFX and Bottle Rocket Science
| Name: | Jeff Faust | ![]() |
|---|---|---|
| Date Posted: | Jul 04, 2007 | |
| Rating: | 4.9 out of 5 | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Jeff Faust |
Blog post

Today is the 4th of July, Independence Day here in the United States, where a big part of the celebration is fireworks. A few weeks ago, with the 4th holiday approaching, Matthew Durante and I decided to see what kind of fireworks effects we could come up with using AFX. Here are the results in movie form and some images:
Fireworks Movie (AVI) <4mb> -- silent
Fireworks Movie (QuickTime) <3.75mb> -- silent
At first we attempted to pull this off in stock AFX 1.0.2. I got some good results attaching particle emitters to multiple debris effects, and Matt made some nice bursts using particles on paths, but we quickly realized that we lacked a good flexible way of moving effects in a ballistic fashion.
Instead of creating a monolithic fireworks effect, we wanted to find a way to harness the kind of physical forces at work in real fireworks and apply them to the movement of any AFX component effect. To do this, Matt had a clever idea for something we call ForceSets. In much the same way that AFX assembles multiple component effects into a bigger compound effect, it also groups individual forces into one or more ForceSets. From there, you can link other AFX effects to specific ForceSets which will then influence their motion in a physical way. You can think of each ForceSet as a separate little universe of forces which can fade in and out over time. Assigning an effect to a ForceSet causes its movement to be steered by the collection of forces in the ForceSet. (We are just using simple linear forces, nothing rotational, and no collision response, but this is enough for decent fireworks.)

With a prototype implementation of ForceSets in place, Matt went off and researched fireworks and designed the fireworks display captured in the movie. What you see here is mostly achieved using stock AFX 1.0.2 with the addition of ForceSets, however, the results are still highly experimental. As a whole the complexity of the fireworks display seriously pushes the software to the limits and beyond.
From here, we'll use what we've learned from this experiment to implement production-ready ForceSets to be included in a future update of AFX. We think the ForceSets will turn out to be very useful in a wide variety of effects beyond fireworks.
Happy 4th of July!

Recent Blog Posts
| List: | 04/17/08 - AFX 1.1.2 for TGEA 1.7.0 Open Beta 12/13/07 - Preview Pics from AFX for TGEA 07/04/07 - AFX and Bottle Rocket Science 12/18/06 - AFX: Off to a Great Start 10/23/06 - AFX Presents: A Little Night Magic... 07/28/06 - AFX Selectrons and Other Goodies 02/20/06 - Arcane-FX: spellcasting effects for TGE (Update) 11/08/05 - Plan for Jeff Faust |
|---|
Submit your own resources!| Johnny Hill (Jul 04, 2007 at 19:20 GMT) |
| David Higgins (Jul 04, 2007 at 19:21 GMT) |

| BigPapa (Jul 04, 2007 at 19:35 GMT) |
| Matthew Durante (Jul 04, 2007 at 19:51 GMT) |
Incidentally if there are any professional pyrotechnicians here who know a definitive (and thorough) refererence for classifications of professional fireworks, I'd appreciate the link...
| Clint Herron (Jul 04, 2007 at 20:00 GMT) |
| Joshua Dallman (Jul 04, 2007 at 20:04 GMT) |
| Todd Pickens (Jul 04, 2007 at 20:13 GMT) |
| Timothy Aste (Jul 04, 2007 at 20:14 GMT) |
| Chip Lambert (Jul 04, 2007 at 20:17 GMT) |
Great work, looks awesome. I agree with Josh :)
| Barry Gallagher (Jul 04, 2007 at 20:49 GMT) |
| Jermaine Morgan (Jul 04, 2007 at 20:55 GMT) Resource Rating: 5 |
| Josh Williams (Jul 04, 2007 at 21:10 GMT) |
| Justin DuJardin (Jul 04, 2007 at 21:39 GMT) Resource Rating: 5 |
Jaw-Dropping as always :)
| Dave Young (Jul 04, 2007 at 23:13 GMT) |
Here is a very good classification listing for US fireworks:
en.wikipedia.org/wiki/Firework
| Michael Perry (Jul 04, 2007 at 23:21 GMT) |
| Kenneth Holst (Jul 04, 2007 at 23:41 GMT) |
you should find a way to put the spinners in there too.. the ones that shoot off of the big explosion in a wiggly fashion
too cool Jeff.. !
| Alienforce (Jul 05, 2007 at 01:30 GMT) |
Happy 4th of july
| Edward (Jul 05, 2007 at 03:32 GMT) |
Im geared to see the next big pack and the work you guys have been up too.
| Nicholas Bogart (Jul 05, 2007 at 03:38 GMT) |
| Christian S (Jul 05, 2007 at 07:20 GMT) |
Really nice :)
| Chris *Quessir* Sibilski (Jul 05, 2007 at 08:32 GMT) |
| Leslie Young (Jul 05, 2007 at 09:18 GMT) |
| Tom Eastman (Eastbeast314) (Jul 05, 2007 at 13:33 GMT) |
Especially the ones involving explosions and fire!
| Anthony Rosenbaum (Jul 05, 2007 at 15:00 GMT) |
| Jeff Faust (Jul 05, 2007 at 17:13 GMT) Resource Rating: 4 |
@ Clint Herron -- I uploaded the video to YouTube and the results were so awful that I immediately deleted it. It wasn't just bad, it looked like this video was a worst-case for YouTube's compression technology. It really could not handle it.
@ Dave Young -- Nice link, but I'm pretty sure that was already Matt's primary source. I think he's mined it for everything valuable and he's looking for something that goes even deeper.
@ Michael Perry -- I hope Ed's not really pissed...
@ Kenneth Holst -- I don't think Matt's finished yet. I think he wants to flush out the fireworks repertoire with a few more types.
@ Edward -- Some of the tech here is brand new and still somewhat wild. The datablock resources used just to represent this short display were enormous. We actually had to devise some scripting techniques to procedurally define datablocks and assemble them into AFX effectrons. I'm pretty sure the individual effect count runs into the several thousands. To get it all under control, we will probably have to extend the datablock system to allow the creation of non-networked datablocks copied or derived from other datablocks. Hopefully the ForceSet feature will make it into the next version of AFX. If Matt continues to develop more species of fireworks, we may consider offering some kind of fireworks pack.
| Alex Swanson (Jul 05, 2007 at 17:47 GMT) Resource Rating: 5 |
| Ed Johnson (Jul 05, 2007 at 21:15 GMT) |
| Andy Hawkins (Jul 05, 2007 at 23:01 GMT) |
| T Squared (Jul 06, 2007 at 05:11 GMT) |
| Davey Jackson (Jul 06, 2007 at 06:18 GMT) |
| Leroy Frederick (Jul 06, 2007 at 11:45 GMT) Resource Rating: 5 |
Edited on Jul 06, 2007 11:45 GMT
You must be a member and be logged in to either append comments or rate this resource.



4.9 out of 5


