This page provides information on the Smoke opacity rollout in the Rendering Volumetric Options dialog.

Overview


This dialog controls the Opacity component of the Volumetric Shader.

In the volume shader, there are two types of content diffuse and emissive. For simplicity's sake, we call the diffuse content Smoke and the emissive content Fire.

Diffuse (Smoke) needs external light in order to become visible, and also casts shadows. On the other hand, emissive (Fire) is visible even without being lit by lights. It also ignores their illumination, and does not cast shadows on itself.

Phoenix has different tools that help you to control how the emissive fire illuminates the smoke and the scene - see the Create Fire Lights section in the Render Fire rollout for more details.

Fire and smoke also have their own Color and Alpha. Alpha is a synonym for opacity, and transparency is the opposite of opacity. The Smoke Opacity, Smoke Color, as well as the Fire's Color and Opacity, can be mapped to a physical Grid Channel from the simulation, using the Based on parameter.

The Based on parameter specifies the source channel that will be rendered, and is set independently for the Fire, Smoke Color, and Smoke Opacity respectively. This makes shading very flexible, so that you can even render a simulation's fire as smoke, and smoke as fire, depending on the channel you set the Based on parameter to for each.

Fire, Smoke Color, and Smoke Opacity, can also be mapped to a texture, or to a Grid Channel multiplied by a texture, to achieve a wide variety of different results.

Textures have infinite resolution, and so they can increase the detail above the resolution of the grid, meaning that even with a low resolution simulation, you can get a detailed result when using a texture.

By default, textures are static in space. However, if you export the Grid Texture UVW Channel and use the TexUVW feature, textures can move together with the fluid to create even more possibilities, such as melting textured icing on a cake.

The Smoke Opacity settings below will affect the rendering of Fire if the Fire Opacity Mode in the Render Fire settings is set to Use Smoke Opacity.

Parameters


When there is both Smoke and Fire (diffuse and emissive) in the same voxel, you can use the Fire Opacity Mode option in the Render Fire rollout, to determine the resulting color and alpha.

If the Fire Opacity Mode is set to Use Smoke Opacity, then the Smoke Opacity settings below will affect the rendering of Fire.

Otherwise, you can separate their opacities for additional control, using either the Fully Visible or Use Own Opacity modes in the Render Fire rollout.

Using the Based on parameter below, you can achieve a wide variety of results when shading Fire Smoke.

For example, the Fire (emissive content) is by default based on the Temperature Grid Channel. If instead it were based on Smoke Grid Channel data, then voxels containing Smoke values would be shaded as emissive (Fire). In other words, the Smoke would be rendered as Fire.

On the other hand, if the Smoke Color (diffuse) & Smoke Opacity were based on Temperature, then voxels with Temperature values would be shaded as diffuse volumetrics (Smoke Color & Opacity). In other words, the Fire would be rendered as Smoke.

Based on | targ – Allows you to select how the smoke opacity is computed. By default, this is set to the Simple Smoke option. It could also be based on a texture map, or read from the cache files - in that case, the corresponding grid channel must be enabled from the Output rollout before the simulation is run.

  • Simple Smoke – Use directly the Smoke channel as opacity, without remapping it through the Opacity Curve. The opacity is controlled only by the Simple Smoke Opacity. If you want to get similar results to Simple Smoke mode using the Opacity Curve in Smoke mode, create a straight line in the Opacity Curve from coordinates [0; 0] to [1; Simple Smoke Opacity], and then bend the middle of the curve upwards. As Simple Smoke Opacity increases, the curve needs to be bent more strongly.
  • Temperature – Use the temperature channel and remap it through the Opacity Curve to get the rendered opacity. Can be used to produce smoke without needing the smoke channel in the simulation.
  • Smoke – Use the smoke channel and remap it through the Opacity Curve to get the rendered opacity.
  • Speed – Use the magnitude of the velocity channel and remap it through the Opacity Curve to get the rendered opacity.
  • Texture – Use a texture map plugged in the Texture slot as opacity, without remapping it through the Opacity Curve.
  • Fuel – Use the fuel channel and remap it through the Opacity Curve to get the rendered opacity.

– Opens the help documents.

Texture | ttxt – If the Based on parameter is set to Texture, or if Modulate is enabled, this slot specifies the texture to be used. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Modulate | mod_t – When enabled and Based on is not set to Texture, the Based on channel is multiplied by the texture in the Texture slot.

Reset to Defaults  – Resets the settings to their default values.

Absorption  – Controls the color of the volumetric shadows and the tint for the objects seen through the volume. Brighter colors make the volume more transparent, while darker colors make it more opaque (denser).

  • Constant Color | absorption_color  Specifies the color that will be used for the absorption effect.
  • Texture | absorption_tex – When a texture is connected in the slot the absorption constant color will be ignored and the texture color will be used instead. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

For more information, see the Absorption Constant Color examples below.

Simple Smoke Opacity | smoketransp – When the Based on parameter is set to Simple smoke, this value is used as opacity multiplier.

Scale Opacity by Scene Units | alphaunitscale – When enabled, the opacity per unit length will remain constant when changing the Grid resolution. Therefore, the larger the unit scale is, the denser the smoke will appear in renders and vice versa. This option is Off for imported Field3D and OpenVDB cache files. Note that this option also affects Fire in Use Own Opacity mode. It does not take effect if there is no loaded cache file.

When Scale Opacity by Scene Units is disabled, Phoenix caches simulated at higher grid resolution will appear more opaque than the same simulation at a lower resolution.

Minimum Visible Opacity | skiptransp – If the opacity of a voxel is below this specified value, the voxel will not be shaded at all. Increase this value to speed up rendering. Decrease it if parts of the smoke are too transparent and start disappearing in the render.

Optimize Big Volumetric Grids | optvolpass – Helps render scenes with caches above 15 Million cells faster. This option requires additional grid memory during rendering, so you could disable it if you don't have enough RAM. If using Progressive rendering or there are a lot of Phoenix Simulators in the scene, and you want your render to start without a pre-pass, you might want to disable this option.

This option is ignored when rendering with V-Ray GPU.

Opacity Curve | transp_t, transp_s, transp_v, transp_f – When the Based on option is set to a grid channel, this curve remaps grid simulation data to smoke opacity. The sim data channel is laid out horizontally along the X axis in the opacity curve. The opacity is mapped vertically on the Y axis.

The channel data range is highlighted in the curve with a light-blue range. You can find out more about Phoenix Grid Channel Ranges here.

You can use the following controls in the Opacity Curve:

Double click – Creates a new point or changes an existing one.
Left button drag over a point
– Moves the point. If several points were selected beforehand, they will move the same amount.
Left button drag over several points
– Selects several points.
Middle button drag over the background
– Drags the visible area. If the Shift key is pressed, scales the curve in the corresponding direction.
Mouse wheel
– Zooms in/out.
Mouse wheel near the borders of the control – Zooms in/out only along X or only along Y.
Right click
– Displays a drop-down menu where you can add a point, edit or delete a selected point, and fit the entire curve into the view. If multiple points are selected, they can be edited simultaneously. Multiple selected points can also be scaled and flipped with the Scale Selection option as seen below.
Backspace – Deletes the selected points.

 

 

 

 

Example: Absorption Constant Color


To make the Absorption Constant Color more pronounced when combined with a grey Smoke Color, you’ll generally need to introduce saturation for the absorption, and increase its color HSV brightness value a bit.

The Absorption color can affect the opacity of the smoke as well, depending on how bright or dark its color is. Brighter colors make the volume more transparent, while darker colors make it more opaque (denser).

Using bright and highly saturated absorption can produce very prominent colors. Introducing color into the Smoke Color can create even more striking results.

Here are some examples showing different Absorption Constant Color and Smoke Color combinations.

 

Original Render

Example #1

Example #2

Example #3

Example #4

Example #5

Example #6

Example #7

 

 

 

Table of Contents