Houdini 21.0 Pyro

Pyro Configure Dry Ice

On this page

Overview

There are several Pyro Configure examples available through the tab menu. These are similar to shelf tools that put down networks of nodes for learning purposes. The Pyro Configure Dry Ice example illustrates a falling dry ice effect. It demonstrates setting up colliders in Pyro, and shows how to send more than one thing into the passthrough port by using cables. It also shows how to limit the rasterizing of smoke to a depth map.

Important nodes

SOURCE

Wire a Mono layer into this node to adjust where the smoke emits from. This node controls the thickness of the fire emission. A value of 0 will have no fire and 1 will have the full thickness. Note that the input is animated to create a pulse of explosion for a few frames.

COLLIDER

This forms the collision object. It is a SOP Geometry COP that imports the pig head into COPs. To use different geometry, the file1 node should be changed to point to the correct texture maps to texture the new geometry properly.

sopinvoke1

Converts the collision geometry into an SDF VDB for colliding.

cablepack1, cableunpack1

Both the source layer and collision VDB need to be added to the simulation through the passthrough port. Since there is one port, the two things are packed into a single cable with cablepack1 and unpacked with cableunpack1.

pyro_configure1

Adjust the resolution of the dry ice. This is the number of voxels across the default imaging window. Higher resolutions will take considerably more time and memory.

layertovdbleafpoints5, pyro_sourcefromlayer9

The VDB has to be activated you can source into it. Layer to VDB Leaf Points handles the activation from the SOURCE layer, while the Pyro Source from Layer handles the actual sourcing. The thickness and inputs for the two should match.

pyro_block_begin5

The start of the simulation loop. All nodes inside the convex hull (highlighted area) will run every simulation step. The simulation is clipped from -1 to 1 by default, and can be controlled by modifying the Clip X/Y/Z parameters.

rasterizegeo1

The collision geometry is rasterized to provide a backplate to render the dry ice over. The depth of the geometry is output to clip the rendering of the fog; and uvs are rendered that are then textured using the Texture Sample COP.

pyro_lightambient5

Computes lighting for the fire’s smoke using an ambient light source. Increasing smoke density (with the Density Scale parameter) increases the contrast of self-shadows.

rasterizevolume5

Renders the dry ice into a layer. The camera_ref can use an imported camera from the Camera Import COP to change the view or resolution of the render.

The maxdepth input is used to only render dry ice in front of the pig head. Note that this requires both the pig head and the dry ice to be rendered with the same camera. If a camera_ref is used for rasterizevolume5, the same should be used for rasterizegeo1.

Learning from this example

To...Do this

Change the buoyancy force

The falling dry ice effect is done by using a negative buoyancy. pyro_buoyancy5 has a scale of -1 to cause the “hot” areas to fall rather than rise.

Increase the effectiveness of collisions

Increase Iterations on the Pressure Projection tab of pyro_block_end5. This will slow down the simulation. Proper moving colliders will require a collision velocity VDB in addition to an SDF. The VDB Collider SOP can be used to produce on in the Animated (Deforming) mode.

Pyro

Sparse Pyro

Pyro instancing

Legacy Pyro

COP Pyro