top of page

Firework Simulation

Houdini

For my graduate-level graphics course CIS 5620:  Computer Animation, I worked with the Houdini FX software in order to create a node-based, procedural firework simulation from scratch.  This project served as my first time working with Houdini and VEX code. I thoroughly enjoyed experimenting with different physics, color, and particle settings in order to create the final animated product.  

These were 2 main components of the dynamic simulation: 

  • Nodes

    • Split nodes

    • Group nodes

    • Collect nodes

  • Networks 

    • Used Geometry network

    • Particle operator network

    • Shader operator network

These components were used to build a Firework Particle System which can be broken down as follows: 

  • Created a particle emitter and system for the firework projectiles 

    • Shell particles created using location node to represent pre-explosion fireworks 

    • Particle groups used to collect the "dead" shell particles post-explosion and convert them into spark particles using POP Group and POP Replicate nodes 

  • Applied physics to boost particle realism ​

    • Added air drag force to particles

    • Adjusted inherited impact velocity to spark particles mimic additive explosive force from shell particles velocities​

    • Added variance to spark particles to reflect scale of explosion via the randomness and magnitude  

  • Added trail of smoke to shell particles  ​​

  • Added POP Color node to apply color to particles 

  • Rendered final simulation video using Mantra renderer 

bottom of page