On this page

Pyro instancing

  • You can use SOP pyro sources and create instances on scatter points, e.g. for large-scale explosions, dust storms, or wildfires. In contrast to pyro instancing workflows in previous versions, it’s now possible to

    • use different pyro sources simultaneously

    • control the time of ignition

    • apply transformations.

  • The new Pyro Source Pack creates a packed source set from its input volumes. A packed source set consists of a packed primitive, containing the source volumes, along with the rules on how to apply them to a pyro simulation. Several packed source sets can be merged together to form a library. In the standard workflow an Attribute from Pieces node randomly assigns different library elements to scatter points. You can, for example, create scatter points through a Scatter node or scatter sources along curve points. Please visit the Pyro instancing page for a conceptual setup with the Attribute from Pieces node.

  • Another, more flexible workflow, instances individual elements into a pyro simulation through the Pyro Spawn Sources and Pyro Source Instance operators. In this workflow it’s possible to randomize a wide variety of parameters such as speed, orientation, or time of sourcing. Additionally, you can define rule overrides to randomize attributes like temperature.

  • The new Pyro Spawn Sources SOP node creates spawn points for sourcing pyro simulations using packed source sets. These points identify the relevant packed sets and store some basic animation data, such as when the source is to engage, how quickly it should play back, and how frequently it should repeat. You can modify the spawn points through downstream nodes to adjust and randomize properties, stored on point attributes, for example orient, startframe, or sourcespeed.

  • The new The Pyro Source Instance ingests spawn points, generated by Pyro Spawn Sources and creates instance points for them when they activate. These instance points can be fed to the Pyro Solver to drive a simulation using packed sets. You can also define rules for overwriting point attributes to randomize certain properties of the source, for example a multiplier for the temperature attribute. This results in different hotter and colder sources.

GPU-accelerated noise types

Houdini pyro simulations now feature GPU-accelerated noise:

  • You can choose from three new VEX functions: gxnoise, curlgxnoise, and curlgxnoise2d.

  • The Analytic Fast Simplex Noise noise type is the OpenCL equivalent to Analytic Simplex Noise.

  • The following nodes use the new Analytic Fast Simplex Noise option by default:

Velocity Voxel Scale

This parameter is available for both DOP and SOP pyro networks and allows for separate definitions for volume and velocity voxels to accelerate pyro simulations.


Different volume and velocity scales also create different results.

  • For DOP setups, the Velocity Voxel Scale parameter is on the Smoke Object (Sparse) node under Properties.

  • For SOP setups, you can find the settings in the Pyro Solver under Setup ▸ General.

SOP FLIP fluids

  • SOP-based FLIP fluids allow for fast setups without having to exchange data between SOP and DOP networks. SOP FLIP fluids also introduce new boundary conditions and simplified methods for sourcing and removing particles.

  • New handling of boundary conditions. Boundary conditions are relevant when fluids interact with the simulation domain’s limits. The reason for solving boundary conditions is that simulations have to end at some point when there is no coast or shore. An open boundary condition allows waves to pass out of the region without reflection. Open boundary conditions also apply to incoming information such as incoming water or external sources like ocean spectra. The new SOP FLIP fluids can solve for pressure or velocity boundary conditions. Pressure-based simulations tend to be more turbulent and splashy.

  • A new FLIP Container node to create a FLIP simulation domain. At the domain’s limits, boundary conditions are solved. Particles, hitting the domain’s inside will be deleted, while new particles will be sourced from the outside. The container node provides parameters for a fluid’s physical characteristics such as density, surface tension, or viscosity. Additional attributes, for example age or vorticity, can be turned on in the container as well. Custom attributes are also located in the container. In contrast to DOP FLIP fluids, the SOP FLIP domain doesn’t have to be box-shaped, but can also be a spherical or cylindrical. Even deforming or animated shapes are possible.

  • New FLIP Source and FLIP Sink nodes let you create and remove particles. Both, sources and sinks, provide pressure- and velocity-driven modes. They can be static, animated or deforming, and you can use objects and volumes. Sources provide different modes for creating particles. None and Velocity create particles with an initial speed along the source object’s normals. You can add an additional velocity to give the particles a certain initial direction. Pressure emits the particles along the object’s normals with a certain pressure. If you don’t want to fill containers, Uniform Pressure is a good choice. This parameter doesn’t depend on a water level and the particles are created along the source object’s normals. Pressure-based sourcing can be combined with additional velocities to give the particles an initial direction.

  • FLIP Source modes help to fill objects and control sourcing. The differences between the modes become more obvious when you fill a container. Imagine you want to fill a glass with water. For a correct behavior, the source object has to be placed near the glass’s bottom.

    • With None, the solver acts very similar to Houdini’s DOP-based FLIP fluids. Once the water level reaches the source object, sourcing stops.

    • With Velocity, the water can overflow the source object and still produce particles. The water also flows over the glass’s rim and doesn’t stop.

    • With Pressure, sourcing stops once the water reaches the adjusted Uniform Pressure or Water Level.

  • New, pre-configured source and sink nodes provide fast access to instant, pressure and velocity setups.

  • A new FLIP Collide node controls fluid-object interaction and collisions. The collision node accepts static, animated and deforming objects, as well as volumes. The collision object’s resolution is controlled through the FLIP Container node’s Particle Separation parameter and can not be adjusted individually or per object.

    • Collision objects can be 2D, closed and open 3D geometry. For this purpose, the node provides surface and volume collision modes. For correct results, you also have to go to the FLIP Solver node’s Collision sub-pane, and choose the appropriate mode from Particle Collision.

    • For interactions with water surfaces, the collision object has to be closed with Volume Collision (FLIP Collide) and Move Outside Collision (FLIP Solver) turned on.

  • The new FLIP Solver is the centerpiece where you define all simulation-related settings like substeps, boundary behavior (pressure-driven or velocity-driven), narrow band, or air incompressibility. The solver also provides a 4th input for external pressure or velocity sources like ocean spectra or even other SOP FLIP fluid simulations.

  • There are several pre-configured fluid setups coming with Houdini’s SOP FLIP fluids. The examples illustrate how to work with varying attributes like temperature or viscosity, set up beach waves and guided oceans, and more. You can find the tools when you press ⇥ Tab in the network editor.

    1. FLIP Configure FLIP! shows how to melt a rubber toy with varying viscosity and a custom color field to map the toy’s UVs to the particles.

    2. FLIP Configure Lava is an example for custom varying temperature. The temperature values are fed into a Gas Temperature Update node inside the solver. There, temperature is mapped to viscosity.

    3. FLIP Configure Tank adds a setup for a basic container with a waterline. This setup is a good start for interactions with ships and other moving objects.

    4. FLIP Configure Beach Tank is a typical setup for breaking shore waves. The waves are generated by an ocean spectrum. The scene uses pressure-driven boundaries for better splashes and more turbulence.

    5. FLIP Configure Ocean Layer mimicks the Guided Ocean Layer shelf tool. The mask around the fluid adjusts the depth of the water layer. For thin layers, the fluid better matches the underlying ocean spectrum. A Band parameter on the make_mask node controls the mask’s transition from 0 (surface boundary) to 1. The Depth parameter on adjust_domain controls, how good the FLIP simulation matches the ocean simulation based on the mask.

    6. FLIP Configure Wave Tank illustrates how to connect an ocean spectrum to the FLIP solver’s 4th input to create rolling and breaking ocean waves.

  • Improved handling of narrow band attribute-field pairs. When you specify attribute-field pairs in the FLIP Container, they’ll be properly maintained through the network chain. This also means that particle attributes will bleed: you can’t keep distinct colors, but will get them blend in the background grid as soon as narrow band is on, because the attributes have to live on the background grid.

What’s new in Houdini 19.5