Rendering Pyro simulations

The following topics will be covered:


Overview

The Pyro settings linked in the Pyro Scene tab of the Pyro Output object provide different display modes and display qualities of the simulation already in the Viewports. To do this, you just need to use one of the shading display modes there(Gouraud Shading, Quick Shading or Constant Shading). However, in order to actually render the simulation with Redshift, and thus e.g., diffuse lighting or even generate light itself, the simulation must be available as a cache. There are several options for this:


Note on rendering a RAM cache:Note that only the Pyro properties that have also been activated in the Pyro Emitter tag or Pyro Fuel tag can be rendered. The activation with On or On Export at the Pyro Output object alone is therefore not sufficient for this. Since only the activated settings of the Pyro Emitter tags are evaluated for the display of the simulation directly in the viewports (without rendering), the selected properties on the Pyro Output object are irrelevant for this. A rendering can therefore differ greatly from the simulation displayed in the editor. So, for example, when using the Color option for Density on the Pyro Emitter Tag, note that it is always visible in the viewports, but for rendering, the Color option on the Pyro Output object must be switched to On or On Export.


Note on optimizing memory usage:When using RAM cache ( On or On Export modes on the Pyro Output object) to render the simulation in Picture Viewer or Redshift RenderView, be aware that doing so can greatly increase memory usage. The simulation is duplicated in memory for rendering, so that you can continue to work on the scene during rendering. Therefore, for optimized memory management when rendering Pyro simulations, you should first save the simulation as a .vdb sequence and then have it loaded with the Pyro Output object or, for example, the RS Volume object.
If you want to use the simulation only to render a single image, the desired state of the Pyro simulation can also be saved as a Volume Set object and used as the Initial State in the simulation. This creates a single .vdb file that takes up correspondingly less space on your storage media compared to saving the entire simulation as a .vdb sequence.
Corresponding information about the creation of a Volume Set object can be found in the explanations of the Pyro Scene settings at the Pyro Output object.


Rendering a simulation in RAM with Redshift

A prerequisite for the following steps is that you have activated Redshift as active Renderer in the Render Settings.

If the required properties of the simulation have been marked with On Export or with On at the Pyro Output object, you can e.g., generate a Volume material via the Create menu of the Material Manager under Redshift/Volume. There you would have to enter the names of the activated Pyro simulation channels (e.g., density, temperature or color).
However, it is even more convenient to use the Pyro Volume material that has already been suitably set. There, the entry of the typical simulation channels density and temperature is done automatically. In addition, the realistic Blackbody simulation for the colors of the temperature distribution is used by default.

Within the RS Volume or Pyro Volume materials, the Scatter property represents the Density of the rendered volume (VDB volume grid: density) and Emission as a light-generating property represents the Temperature of the simulation (VDB volume grid: temperature). These are already the two most important features of a Pyro simulation for rendering. The RS Volume or Pyro Volume material can then be assigned to the Pyro output object and you can render the simulation directly.


Typical density and temperature assignments of a Pyro simulation within an RS Volume Node.

The following scene contains two material variations that demonstrate the individual coloring of the temperature simulation.



Note 1:If you want to render the simulation directly in Picture Viewer or Redshift Render View without VDB file caching, you can use both On and On Export modes on the Pyro Output object. For the combination of the Pyro Output object e.g., with a Volume Builder the On mode is mandatory (if no .vdb cache is available).


Note 2:

To display motion blur in this setup, a Redshift Object tag must be assigned to the Pyro Output object. There you activate the evaluation of the Motion Vector and enter velocity as the simulation channel for the velocity vectors in the simulation at the X field. Use the Scale value to control the intensity of motion blur. Remember that Motion Blur calculation must also be enabled in the Render Settings!




Rendering VDB files with Redshift

If a simulation has been saved as a .vdb sequence, one of the things that can be used to load it is the RS Volume object, which you can find in the Volume menu if Redshift is the active renderer (see Render Settings).

At the RS Volume object you will find the option to load the .vdb files. To do this, first define the path to the first file of the sequence in the Path field and then switch to the Animation tab of the object. There you will find the Mode menu where you can select, for example, Simple Mode. This means that the saved simulation is automatically retrieved frame by frame when you render an animation. When reaching the last simulation file in the sequence, this playback ends automatically. In the other available modes, for example, the replay of the simulation can be triggered at this point. Then press the Detect Frames button to count through the sequence of files and automatically enter their number on this dialog page. Check the Frame Rate specification to make sure it matches the frame rate used in your scene. Otherwise, a loaded simulation may be displayed faster or slower than originally simulated.


After defineing the Path to a VDB sequence (left), its playback can be controlled in the Animation tab (right). In addition, the Information area shows which object properties are contained in the VDB sequence.

As can be seen in the figure above, the Channels list shows which properties are contained in the loaded files. These terms can then also be used in the RS Volume material to define the colors, density and emission of the simulation during rendering. This step does not differ from the rendering of a simulation in RAM described above. In this case, however, the Redshift Volume material or Redshift Pyro Volume material is assigned to the RS Volume object.


Note 1:

Unlike direct rendering of a simulation residing in RAM, no Redshift Object tag is required to enable Motion Blur rendering when using the Redshift Volume object. You can find corresponding Motion Blur settings directly on the RS Volume object. There, too, you simply enter velocity for the X channel, provided the loaded simulation has the 'velocity' property (see the Information area in the RS Volume object.

Note 2:

Detailed information about the Redshift Volume object and the Redshift Volume material can be found here.