Houdini 20.0 Pyro

SOP pyro workflows: 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. SOP pyro workflows: smoke

  2. SOP pyro workflows: burning tire

  3. SOP pyro workflows: fireball

In the previous lessons you started with a dense smoke cloud and turned it into a burning tire. Now, the goal is to create a fireball, similar to those where you pour gasoline into fire. The approach is different, because the node doesn’t require a source geometry that is converted into seed points. This time, the seeds are created directly through the Pyro Burst Source node. The Pyro Burst Source is a modified Pyro Source node to create all kinds of explosion effects.

The Pyro Burst Source

  1. On obj level, press the ⇥ Tab key to invoke the TAB menu and create a Geometry OBJ node.

  2. Double click the new node to dive into it. There, add a Pyro Burst Source SOP. In the viewport you see an schematic explosion, represented through seed points.

  3. Start with the Burst Shape tab to adjust the explosion. To get more resolution, change Trailing ▸ Trailing Separation to 0.05.

  4. Set Trailing Length to 2.

  5. Open the Burst Parameters tab and set Start Frame to 10.

  6. 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. As in the previous lessons, the attributes have to be rasterized:

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

  2. Under Attributes enter density temperature burn (no commas!).

  3. In the Filter tab, set Voxel Size to 0.05. This is equivalent to the Pyro Burst Source’s Trailing Separation value.

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

The Pyro Solver

The Pyro Solver 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.

Click the icon in the playbar to start the simulation. There is no fire or flame-smoke transition, although all relevant attributes are active. The smoke cloud’s shape hardly changes anymore after around 35-40 frames.

Initializing the fields

In contrast to the smoke and burning tire scenes, 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 and 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 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 and connect it to the Pyro Burst Source node’s input.

  2. From the Orientation dropdown menu, choose ZX Plane.

  3. Increase Uniform Scale to 1.5.

  4. Set Divisions to 20 to get more points.

The fireball looks better now, but doesn’t show the typical curling behavior. To add a “swirl” to the simulation, place a Volume Velocity 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 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 structures 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

Pyro instancing

Legacy Pyro