Houdini 19.0 Pyro

Pyro Burst Source: creating a fireball

On this page

This tutorial is the third part in a series of three lessons. Please make sure to visit the previous pages before you proceed:

  1. Creating smoke

  2. Simulating a burning tire

  3. Pyro Burst Source: creating a fireball

Smoke and fire can not only be created from objects, translated into seed points, but virtually from any point or particle source. This allows for interesting effects like burning cloth, igniting gasoline, impressive explosions, smoke-emitting wood splinters, dust from grains, and many more.

Houdini already provides a variety of pre-configured source nodes, for example the Pyro Burst Source SOP node. You can also source pyro from Vellum or RBD simulations, or use the Pyro FX Shelf Tools.

The Pyro Burst Source

The Pyro Burst Source is a modified Pyro Source SOP node to create all kinds of explosion effects. Here, the goal is to create a fireball, similar to those you can see when you pour gasoline into fire.

  • On obj level, create a Geometry SOP node, dive into it, and add a Pyro Burst Source SOP. In the viewport you see an explosion, represented through seed points.

Start with the Burst Shape tab to adjust the explosion:

  1. To get more resolution, change Trailing ▸ Trailing Separation to 0.05.

  2. Set Trailing Length to 2.

Define the time parameters under Burst Parameters:

  1. Set Start Frame to 10.

  2. Increase Frame Duration to 11 to make the explosion longer.

When you look at Burst Components ▸ Number of Sources, you can find the attribute fields you already know from the Create a burning tire lesson: density, temperature, and burn.

The attributes have to be rasterized:

  1. Add a Volume Rasterize Attributes SOP node and connect it to the the Pyro Burst Source.

  2. Under Attributes enter density temperature burn.

  3. Set Filter ▸ Voxel Size to 0.05. This is the Pyro Burst Sources Trailing Separation value.

  4. Turn on the Volume Rasterize Attributes’s Display flag to convert the points into a cloud structure.

The Pyro Solver

The Pyro Solver SOP performs the simulation.

  1. Add a Pyro Solver node and connect it to the Volume Rasterize Attributes node.

  2. Set Setup ▸ Voxel Size to 0.05.

  3. Decrease Fields ▸ Dissipation to 0.04.

Switch to the Shape tab:

  1. Change Buoyancy to 0.7.

  2. Turn on Disturbance and enter 20.

  3. Turn on Turbulence and enter 0.3.

  4. Turn on Shredding and enter 0.2.

Simulate the scene by click Play. There is no fire or flame-smoke transition, although all relevant attributes are active. Due to the low Dissipation rate and the missing velocity, the smoke cloud’s shape hardly changes anymore after around 35-40 frames.

Initializing the fields

The difference to the burning tire scene is that the points from the Pyro Burst Source don’t cast velocity. This has to be done manually:

  1. In the Volume Rasterize Attributes node’s Attributes, add v to the list.

  2. To get fire and flames, go to Coverage ▸ Coverage Attribute. There remove density. Now, all fields will be initialized and the cloud gets the missing fire look.

The video below shows the result. There is a burst now, and the flames turn into smoke, but the explosion is very short, small, and the flames disappear quickly.

Controlling explosion size and shape

The Pyro Burst Source node provides an input for points. Similar to the Pyro Source SOP node, you can connect an object to shape the smoke. Be careful with solid or high-resolution objects, because the Pyro Burst Source creates source points for every extra point of the connected geometry. So you might end up with a huge number of smoke seeds.

  1. Add a Circle SOP and connect it to the Pyro Burst Source node’s input.

  2. From the Orientation drop-down menu, choose ZX Plane.

  3. Increase Uniform Scale to 1.5.

  4. Set Divisions to 20 to get a denser point cloud.

The fireball looks better now, but doesn’t show the typical curling behavior. To add a “swirl” to the simulation, add a Volume Velocity SOP node between Volume Rasterize Attributes and Pyro Solver:

  1. Open the Curl Noise tab.

  2. Turn on Add Curl Noise.

  3. Change Scale to 1.5.

Enhancing fire and flames

In the Simulating a burning fire tutorial, an Attribute Noise SOP node helped to create more randomness. Here, the node adds creates more fire through randomizing the burn attribute.

With this node, the fireball lasts longer before it turns into smoke. Please also note the glowing strcutures towards the end of the clip. They represent the burning of the vanishing gaseous residuals.

The video below uses Particle Trailing and Voxel Size values of 0.03. Smoke color and flame intensity are also slightly adjusted to get more detail:


Sparse Pyro

Legacy Pyro