Houdini 20.5 Nodes Geometry nodes

Pyro Bake Volume geometry node

Helps develop the volume look both for viewport display and rendering after the pyro solve.

On this page
Since 18.5

Overview

Pyro Bake Volume provides controls to enhance the look of a pyro solve in the viewport. It also handles automatic material assignment to best match the rendering results to the viewport display, and is designed to provide a similar interface to the Pyro Shader. When scattering is turned on, it bakes out a scatter volume that is used by the Pyro Shader to approximate the look of light scattering inside the explosions.

Note

Pyro Post-Process serves a similar purpose and is designed to work with Pyro Shader - Classic. You can use those operators if you don’t need the extra emissive elements of the Pyro Shader.

Using Pyro Bake Volume with the Pyro Shader

The Pyro Bake Volume node contains a Pyro Shader, which is automatically assigned to the processed volumes. The embedded shader references parameters on Pyro Bake Volume to ensure that the render matches the viewport. Therefore, you can create copies of the Pyro Bake Volume node and render different variants without adjusting material assignments at the object level.

Tip

You can dive inside the Pyro Bake Volume node to access the Pyro Shader and its controls.

Although most of the Pyro Shader’s features are available on the Pyro Bake Volume node, there are a few extra parameters on the shader that are not available in the viewport. To see the effect of these parameters, you need to render the volumes.

The following are additional things you can control with the Pyro Shader.

  • Clamp or remap the smoke density, or scale it by another volume (such as temperature) with the Use Control Volume parameter.

  • Set the Smoke Brightness.

  • Change the color of the smoke using absorption with the Absorption Color parameter.

  • Change the color of the shadows with the Shadow Color parameter.

  • Set the Scattering Phase.

Note

When Auto Update is enabled on the Render View, the render update can be slower with heavier volumes, since the underlying geometry has to recook on every parameter change to update viewport visualization attributes.

When you break material references using the Quick Setups menu, the assigned material becomes independent of the Pyro Bake Volume’s parameters. This lets you adjust material parameters without recooking the SOP geometry, speeding up renders. However, render and viewport looks will be different, since shader parameter changes aren’t propagated to the Pyro Bake Volume node.

Note

Certain combinations of settings (for example, multiple emissive elements) cannot be directly visualized in the viewport given the functionality of Volume Visualization. In these cases, a combined Emission Volume (Ce by default) is created internally to help with visualization. When this happens, the node will display a message that a different output is visualized, and displaying the geometry downstream will produce a different look in the viewport.

Scatter

When Enable Scatter is on, Pyro Bake Volume will generate a special scatter volume for the shader. The scatter volume aims to imitate internal scattering of emitted light. You can use the parameters on the Scatter tab to control the primary emission and scattering. To compute the scatter field, the Source Volume is first converted to emission colors; this intermediate field is then blurred to spread out the emission.

Warning

Since scatter has to be calculated before rendering, its color (set by parameters in the Color section) and softness (set by settings in the Blur section) are controlled from this node and not from the Pyro Shader.

Setting up scattering

  1. Turn on Enable Scatter on the Scatter tab.

  2. Turn off Enable Mask to visualize the full extent of the scatter without masking.

  3. Know your maximum temperature values on the frames you are testing, and adjust Source Range accordingly.

    • By increasing the minimum value of Source Range, you will cut off the low temperature values so they will not contribute to the scattered emission.

    • First set the maximum value of the Source Range. To find an appropriate setting, you can begin by calculating the maximum temperature value over a few sample frames. The average of these values can serve as a starting value, and you can tweak it further to fine-tune the look.

  4. Adjust Scale and Hot Core Scale for the intensity of the scatter.

  5. Change the amount of blurring based on the size of your simulation. Turn on Use Blur Steps to further smooth out the scatter area.

  6. Examine frames from the beginning, middle, and end of your simulation while refining the aforementioned parameters.

  7. Turn on Enable Mask and find values for Mask Center and Mask Width that produce the desired results in the viewport. Alternatively, you can break the material reference and examine renders as you tweak parameters on the assigned shader.

Tip

All range settings should consider the range of values in their respective bound volumes. The Pyro Solver will write the minimum and maximum values for each exported volumes into primitive attributes when Compute Min/Max Values is enabled on the Export tab.

Parameters

General

Quick Setups

This menu lets you run some simple scripted setups to help with the most common tasks.

Create Material

Creates a Pyro Shader material at the selected location with parameters referencing this node. This will update the Assign Material field with the newly created shader.

Break Material References

Breaks all references to this node on the material set by Assign Material.

Create Lights

Creates an Environment and a Directional Light at the object-level with a selected preset. This is useful to quickly create lights to improve the look of the pyro simulation in the viewport.

Create Lights/Cameras

Creates all necessary nodes to quickly get you started with rendering in Mantra. This includes environment and volume lights, as well as a mantra render node. It also enables motion blur on the render target (Geometry Velocity Blur in the RenderSampling tab of the object-level node).

Create Render Stage

Creates all necessary nodes to quickly get you started with rendering. This includes environment and volume lights in LOPs with Karma. When looking through a camera upon selecting this entry, the selected camera will be imported to LOPs. Otherwise, a new camera will be created based on the viewer’s position.

Sharpen Volume

Creates a subnetwork that will allow you to spatially sharpen values of a volume.

Cache Simulation

Creates a File Cache node that is setup to cache a pyro simulation.

Initialize

Edge Scattering

Sets the parameters on this node with a more artistic preset by using color ramps to map temperature to emission and enable scattering.

Blackbody Flame

Creates a more traditional setup that uses blackbody curves to derive a physical emission

color from temperature.

Assign Material

The path to the shader that is assigned to the volumes. The shop_materialpath primitive attribute will point to the specified material, ensuring that it is used for renders. This will take precedence over any assigned material at the object level. Turn this off if you do not want to assign a material at the SOP level.

Max Vis Resolution

When turned on, it ensures reasonably fast shading times for lighting and avoids running into texture memory problems in the viewport. Use this for faster pre-visualization.

Smoke

Smoke

Enable Smoke

Enables the smoke aspect of the volume. Smoke absorbs and attenuates light traveling through it. Use Smoke Volume to identify the volume storing the smoke’s density.

Density Scale

Controls the overall density of the smoke. Increasing this value will give the smoke a thicker appearance. Reducing it will make the smoke less opaque.

Smoke Color

Controls the overall color of the smoke. To get more natural looking smoke, change the menu on the right side of this parameter from Constant to Use Ramp. This will allow you to vary the smoke’s color with its density.

Density Range

The minimum and maximum density values to map to the left and right endpoints of the Smoke Color Ramp.

Compute Range

Computes the minimum and maximum range values of the selected volume on the current frame. Use this to get an idea of your maximum field value.

Smoke Color Ramp

This ramp controls how the smoke’s density values are mapped to its color. The horizontal axis of the Smoke Color Ramp spans the Density Range. For example, you can use this ramp to make the smoke have a darker color where it is more dense.

Shadow Color

Controls the color of shadows cast by the smoke. The complements of these values act like additional density multipliers for light of each color (red, green, or blue).

Shadow Density

This multiplier applies on top of Density Scale when the volumes are lit. Increasing this value will result in less light penetrating the volume, without affecting the smoke’s opacity to the viewer. Decreasing this value reduces the light’s absorption, without changing how opaque the smoke appears.

Ambient Shadow Scale

Determines the intensity of self shadows from ambient light sources. The final amount of self-shadowing from these lights is controlled by the product of Density Scale, Shadow Scale, and Ambient Shadow Scale. The video demonstrates the value increasing from 0 to 1.

Note

Turning off this checkbox does not disable ambient shadowing. Instead, it keeps this property of the geometry unchanged. If no Ambient Shadow Scale is set, Ambient Occlusion on the Geometry tab of the Display Options controls the default amount of self-shadowing from ambient lights.

Note

The default headlight is treated as an ambient source by fog volumes.

Scatter

Scatter

Enable Scatter

Enables the scattered emission aspect of the volume. Use this for shading explosions. This will generate the Scatter Volume, which is also used for rendering. Use Source Volume to identify the volume that controls this emission.

Explosion viewed with and without scatter enabled (Enable Mask is turned off).

Intensity Scale

Sets the emission intensity for the scatter. Increase this value to make the scatter brighter.

Hot Core Scale

Scales the emission intensity for the scatter where the luminance of the scatter is bright. As the explosion fades off over time, you will see the effect of this parameter less and less even with very large values because over time the luminance of the scatter value is getting less and less. It is good to boost your explosion brightness at the beginning of the explosion. Increasing the value of Hot Core Scale brightens the explosions fissures.

Color Mode

Sets how the color is calculated for the scatter. Color Ramp will map the colors using Scatter Color Ramp from the given Source Range. Choose Physical Blackbody or Planck Backbody to compute color based on the temperature of an incandescent blackbody.

Note

Planck Blackbody incorporates emission power into the calculated color. The power scales rapidly at high temperatures, so you might need to reduce emission intensity to compensate. To use the pure physical blackbody color, set emission intensity to 1 and the intensity ramp to constant 1.

Source Range

The minimum and maximum source values to map to the left and right endpoints of the Scatter Color Ramp. Increase the minimum source value to prevent low-temperature areas from emitting light. Pull the maximum closer to the minimum value to make the scatter brighter.

Increasing the minimum value shrinks the emitting regions (Enable Mask is turned off).

Pulling the maximum value closer to the minimum of the range increases intensity of emission (Enable Mask is turned off).

Compute Range

Computes the minimum and maximum range values of the selected volume on the current frame. Use this to get an idea of your maximum field value.

Scatter Color Ramp

Controls how the Source Volume values are mapped to emission color. The horizontal axis of this ramp spans Source Range.

Temperature Scale

Scale applied to the Source Volume values before they are mapped to blackbody color.

Temperature at 0 (K)

The temperature corresponding to an input value of 0.0. This value is in Kelvin.

Temperature at 1 (K)

The temperature corresponding to an input value of 1.0. This value is in Kelvin.

Enable Tone Mapping

When turned on, the computed Physical Blackbody curves are remapped using the Adaptation and Burn parameters.

Adaptation

Squashes or stretches the low end of the generated intensity, similar to exposing a photograph for shadows.

Burn

Manipulates the high end of the generated intensity.

Blur

Blur Scatter

When this option is turned on, blurring is applied to the computed scatter volume. The blurring spreads out the emission and mimics internal scattering of the emitted light.

Scatter with and without blur (Enable Mask is turned off).

Use Blur Steps

When turned on, the intermediate scatter volume is blurred at several different scales, and these results are combined to obtain the final scatter field. Use a value of 2 or 3 to smooth out the scatter area further.

Scatter with blur and with additional blur stepping (Enable Mask is turned off).

Number of Blur Steps

Sets the number of individual blurs to combine together. The first blur step will use the specified Filter Radius, with each subsequent step doubling the previous filter size. A higher number of steps will produce a softer scatter volume.

Blur Step Falloff

Controls the contribution of each blur step to the final result. This value equals the ratio of weights between a subsequent step and its previous one. Higher values will increase the contribution of steps that are blurred with a larger filter radius.

Use World Space Radius Units

When turned off, Filter Voxel Radius controls the blur radius. Turn this option on to specify the radius in world units. This means the blurring results are much less dependent on resolution of the scatter volume, which is also influenced by the Downsample parameter.

Filter Voxel Radius

The number of voxels to run the smooth operation over. Higher values will produce a more blurred, softer scatter field. This is measured in voxels.

Filter Radius

Controls the number of voxels to run the smooth operation over. Higher values will produce a more blurred, softer scatter field. This is measured in world units.

Blur Iterations

Number of times to repeat the smoothing operation. Higher values will produce a more blurred, softer scatter field.

Downsample

Downsamples the Source Volume before converting it to the Scatter Field. Downsampling can speed up cook times, at the cost of losing some of the sharper details. However, this downside to downsampling is often not significant, since blurring will also dampen these sharper features.

Masking

Enable Mask

Masks the emission based on the Mask Volume using a threshold range. Mask Center and Mask Width control the masking range. By default, where the mask volume is at the minimum and maximum of this range, the additional emission multiplier is 1 and 0, respectively. Emission is reduced in areas where the mask value is larger. Masking is useful for bringing out crunchy details for an explosion.

Scatter with and without masking.

Mask Center

In conjunction with Mask Width, this parameter controls the range of values used for masking emission. The effective range of mask values is from Mask Center - Mask Width * 0.5 to Mask Center + Mask Width * 0.5. When set to a lower value, more of the emission will be masked and the explosion will glow less brightly. When set to a higher value, the volume will appear to glow internally, with this glow peeking through cracks in the smoke.

The video shows the effect of increasing this parameter while keeping Mask Width fixed.

Mask Width

Controls the range of values used for masking emission, in conjunction with Mask Center. The effective range of mask values is from Mask Center - Mask Width * 0.5 to Mask Center + Mask Width * 0.5.

Use Mask Ramp

Use a ramp to set how the emission changes between the minimum and maximum mask threshold (as set by Mask Center and Mask Width).

Masking Ramp

Sets how the emission changes between the minimum and maximum mask values (as set by Mask Center and Mask Width). White means full emission and black means no emission.

Note

The default white to black ramp will produce the exact same results as having Use Mask Ramp turned off.

When the ramp is set white to black from left to right:

When the ramp is set black to white from left to right:

Fire

Fire

Enable Fire

Enables a secondary emission component. Fire is mainly used for fire and flame type simulations.

This component is very similar to scatter. The only differences are that scatter has to use the same field for emission intensity and color, and scatter offers blurring to spread out the emission.

Fire simulation viewed with and without fire enabled (Enable Mask is turned off).

Fire simulation viewed with fire enabled and with scatter enabled on top.

Intensity Scale

Sets the emission intensity for the fire. Increase this value to make the fire brighter. Set the menu on the right side of this parameter to Use Ramp to remap the intensity.

Source Range

The minimum and maximum source values to map to the left and right endpoints of the Fire Intensity Ramp. Increase the minimum source value to reduce the emissive parts of the volume.

By increasing the minimum value from zero, the area of the fire will shrink (Enable Mask is turned off).

Compute Range

Computes the minimum and maximum range values of the selected volume on the current frame. Use this to get an idea of your maximum field value.

Fire Intensity Ramp

Controls how the raw Intensity Volume values are mapped to effective intensity. The horizontal axis of this ramp spans Source Range.

Color Mode

Sets how the color is calculated for the fire. Color Ramp will map the colors using Fire Color Ramp from the given Source Range. Choose Physical Blackbody or Planck Backbody to compute color based on the temperature of an incandescent blackbody.

Note

Planck Blackbody incorporates emission power into the calculated color. The power scales rapidly at high temperatures, so you might need to reduce emission intensity to compensate. To use the pure physical blackbody color, set emission intensity to constant 1.

Source Range

The minimum and maximum source values to map to the left and right endpoints of the Fire Color Ramp.

Compute Range

Computes the minimum and maximum range values of the selected volume on the current frame. Use this to get an idea of your maximum field value.

Fire Color Ramp

Controls how the Color Volume values are mapped to emission color. The horizontal axis of this ramp spans Source Range.

Temperature Scale

Scale applied to the Color Volume values before they are mapped to blackbody color.

Temperature at 0 (K)

The temperature corresponding to an input value of 0.0. This value is in Kelvin.

Temperature at 1 (K)

The temperature corresponding to an input value of 1.0. This value is in Kelvin.

Enable Tone Mapping

When turned on, the computed Physical Blackbody curves are remapped using Adaptation and Burn.

Adaptation

Squashes or stretches the low end of the generated intensity, similar to exposing a photograph for shadows.

Burn

Manipulates the high end of the generated intensity.

Masking

Enable Mask

Masks the emission based on the Mask Volume using a threshold range. Mask Center and Mask Width control the masking range. By default, where the mask volume is at the minimum and maximum of this range, the additional emission multiplier is 1 and 0, respectively. Emission is reduced in areas where mask value is larger. Masking is useful for bringing out crunchy details for an explosion.

Fire with and without masking.

Mask Center

Controls the range of values used for masking emission, in conjunction with Mask Width. The effective range of mask values is from Mask Center - Mask Width * 0.5 to Mask Center + Mask Width * 0.5. When this value is lower, more of the emission will be masked and the fire will glow less brightly.

Mask Width

Controls the range of values used for masking emission, in conjunction with Mask Center. The effective range of mask values is from Mask Center - Mask Width * 0.5 to Mask Center + Mask Width * 0.5.

Use Mask Ramp

Use a ramp to set how the emission changes between the minimum and maximum mask threshold (as set by Mask Center and Mask Width).

Masking Ramp

Sets how the emission changes between the minimum and maximum mask values (as set by Mask Center and Mask Width). White means full emission and black means no emission.

Note

The default white to black ramp will produce the exact same results as having Use Mask Ramp turned off.

Second Fire

Fire

Enable Second Fire

Enables a tertiary emission component. Second fire is useful for setting up glowing trails for explosions.

This component is conceptually very similar to primary fire. The only difference is that secondary fire does not support masking. As such, this tab is identical to Fire, aside from absence of the Masking section.

Explosion viewed with and without second fire enabled for the trails.

Bindings

Smoke

Smoke Volume

The name of the volume to be used as smoke. Usually you should leave this as density.

Diffuse Volume

The name of the volume used to color the smoke. You have to set the menu next to Smoke Color to Constant for the Diffuse Volume to be used. When this menu is set to Use Ramp instead, smoke will be colored using the Smoke Volume (density by default).

Scatter

Source Volume

The name of the volume to use to generate the scatter volume. Use temperature or flame.

Scatter Volume

The name of the generated scatter volume by this node. This volume will be used by the Pyro Shader for the scatter emission.

Mask Volume

Name of the volume to be used for masking emission for the scatter element.

Fire

Intensity Volume

The name of the volume to be used for the intensity of the fire emission.

Color Volume

The name of the volume to be used for the color of the fire emission.

Mask Volume

The name of the volume to be used for masking emission for the primary fire element.

Second Fire

Intensity Volume

The name of the volume to be used for the intensity of the second fire emission.

Color Volume

The name of the volume to be used for the color of the second fire emission.

Baked Emission

Bake Emission Volume

Bakes all emission into a single volume. This volume stores emission colors premultiplied by intensity. You can use the emission volume with Pyro Shader - Classic.

Note

You can use this volume as the Emission Color Field for rendering or viewport visualization. Since the emission intensity is already baked into this volume, you should ensure that the emission intensity is constant 1.

Emission Volume

The name of the generated baked emission volume.

See also

Geometry nodes