Houdini 20.5 Shelf tools

Sparse Fireball shelf tool

Creates a large rising and expanding explosion.

On this page
Pyro simulation in the viewport. Colorspace: ACES, Voxels Size: 0.05.
Pyro simulation rendered with Karma. Colorspace: ACES, Voxels Size: 0.05.


This shelf tool sets up a sparse pyro simulation of a medium-size explosion. The explosion consists of an initial blast, followed by a rising fireball. As long as there are sufficient reactants (corresponding to the emissive flame field), the fireball will continuously emit soot and heat and continue to expand. These various outputs, as well as the time it takes the fireball to burn up, are controlled through parameters on the Flames tab of the Pyro Solver.

Understanding Sparse Fireball

The shelf tool creates a node network consisting of the following three components.

  1. fireball/pyroburstsource chain sets up density, temperature, burn, and velocity sources. Burn gets merged with the pyro flame field (to refresh the available reactants) and the divergence field (causing the initial outward explosion).

    To...Do this

    Animate rates of the sourced values

    Turn on the Scale Over Duration checkbox on the Burst Components tab of the the Pyro Burst Source node.

    This will reveal the Duration Ramp that controls a global multiplier for source values over the duration of the burst.

    Set the size of the initial blast

    Change the Initial Size or Outward Expansion parameters on the Pyro Burst Source node.

    Initial Size controls the starting scale of the explosion, whereas Outward Expansion affects its inflation over the duration of expansion.

    Change the shape of the initial blast

    Modify Shape Offset on the Burst Shape tab of the Pyro Burst Source node.

    This parameter acts as a seed for the random shape. To more drastically modify the shape, you can adjust the values of the other parameters on the Burst Shape tab, such as Spread Angle, Roundness, and Number of Trailings.

  2. fireball_simulation contains the simulation network that consumes the sources and carries out the fluid simulation. The parameters on the Sparse Pyro Solver have the greatest influence on the motion and emergent shape of the fireball and its smoke.

    To...Do this

    Set the expansion rate of the rising fireball

    Adjust the Expansion Rate and its corresponding Flame Range on the Pyro Solver.

    These parameters are located on the solver’s Flames tab, in the Expansion collapsible menu. If the rate is increased, you might need to also increase minimum value of the Flame Range parameter to avoid undesirably high expansion.

    Change how fast the fireball fades out

    Modify the Flame Lifespan parameter.

    The flame field will be reduced more slowly when value of this parameter is larger, resulting in a longer-lasting fireball.

    Modify the overall rising rate

    Experiment with Buoyancy Scale values.

    Boosting its value will increase the rising rate and vice versa.

    Control how the fireball rises

    How the fireball will rise is determined by the temperature field, whose evolution depends on the Cooling Rate and the parameters found in the Temperature collapsible menu on the Flames tab. A higher Cooling Rate will result in more rapid temperature loss, making the simulation more reliant on the temperature output from the flame field to drive the upward motion.

    Specify how the smoke is emitted

    Modify the Flame Range and Flame Ramp parameters in the Smoke collapsible menu on the Flames tab.

    Control how fast the smoke disappears

    Adjust the Dissipation parameter.

    Higher values will make the smoke rapidly disappear and smaller values will force the smoke to stick around for longer.

  3. fireball/object_merge chain extracts results of the simulation back into a SOP geometry. A Pyro Bake Volume node sets the proper viewport visualization settings and creates a matching render material. If you dive inside this node, you modify some of the parameters on the Pyro Shader to do the following.

    To...Do this

    Change the color of the smoke based on density

    1. Change the menu next to Smoke Color from Constant to Use Ramp.

    2. Set the Density Range parameter to control the color of the smoke at given density values.

    3. Set the Smoke Color Ramp to change the color of the smoke based on Density Range.

    Change the color of the smoke based on how light scatters through the volume

    Change the Absorption Color. The value of 0.425 (red),0.36(green), 0.3(blue) could be a good starting point for more realistic looking smoke.

    Scale smoke density using an other volume

    1. Turn on the Use Control Volume checkbox.

    2. Set Density Control Volume on the Bindings tabs to the field that you want to use to affect the density. Usually temperature or flame are good choices for this purpose.


  • For more accurate color display, use the Academy Color Encoding System (ACES). See Shading and rendering in the Pyro chapter for information on how to set this up.

  • Add a Spot Light for better visualization in the viewport and an Environment Light with custom hdri map for rendering.

  • Add a small amount of sharpening on the density field to bring out a bit more detail, using the Sharpen Volume option in the Pyro Bake Volume's Quick Setups dropdown menu.

  • Choose the Create Lights/Cameras option from the Pyro Bake Volume’s Quick Setups dropdown menu to quickly setup the volume for rendering with lights and cameras.


You can download a fully configured, production ready version of this shelf tool from the SideFX Content Library.

Shelf tools

Using the shelf

  • Customize the shelf

    How to change the look of the shelf, change and rearrange its contents, and create your own shelf tools.