Volume Medium

 

The Volume medium applies AbsorptionDefines how fast light is absorbed while passing through a medium., ScatteringDefines how fast light gets scattered when traveling through the medium., and Emission textures together in one node. However, this node works with VDBDreamworks’ open-source C++ library housing the data structures and tools implementation for storing and manipulating volume data, like smoke and other amorphous materials. The purpose of OpenVDB is mostly to have an efficient way to store volumetric data in memory and on disk. It has evolved into a more general toolkit that also lets you accomplish other things, such as fracturing volumes, converting meshes to volumes and vice versa. However, it does not include a computational fluid dynamics solver, and therefore it cannot procedurally generate smoke or fire. OpenVDB is fully integrated as a library in OctaneRender. For more information about OpenVDB, please see http://www.openvdb.org/. files, which you must import into Unreal® Engine in the ORBXThe ORBX file format is the best way to transfer scene files from 3D Authoring software programs that use the Octane Plug-in such as Octane for Maya, Octane for Cinema 4D, or OctaneRender Standalone. This format is more efficient than FBX when working with Octane specific data as it provides a flexible, application independent format. ORBX is a container format that includes all animation data, models, textures etc. that is needed to transfer an Octane scene from one application to another.® format. Otherwise, it functions much like the Scattering node when you apply it to regular surfaces (figure 1).

Volume_Medium_Fig01_UE5_v2022.jpg

Figure 1: The Volume medium connected to the Specular materialUsed for transparent materials such as glass and water.'s Medium input

 

VDB files are not supported natively by the Unreal Engine, but you can import them as part of an ORBX package and the node graph for the imported VDB can be accessed by double-clicking on either the Octane ORBX asset in the Content Browser or double-clicking on the ORBX Asset icon in the Details window (figure 2).

Volume_Medium_Fig02_UE5_v2022.jpg

Figure 2: Accessing an imported ORBX VDB to assign a Volume MediumA shading system designed to render volumes such as smoke and fog. node

 

The Volume Medium node can be connected to the imported VDB via the Volume Medium pin (figure 3).

Volume_Medium_Fig03_UE5_v2022.jpg

Figure 3: Connecting the Volume Medium node to the imported ORBX VDB file

 

Volume Medium Parameters

Density - This parameter multiplies against Scattering.

Volume Step Length - Only applicable when rendering Volume mediums. This attribute may need to be adjusted depending on the surface. The default value for the step length is 4 meters. Should the volume be smaller than this, the step length will need to be decreased. Please note that decreasing this will reduce the render speed. Increasing this value will cause the ray marching algorithm to take longer steps. Should the step length far exceed the volume’s dimensions, then the ray marching algorithm will take a single step through the whole volume. Most accurate results are obtained when the step length is as small as possible.

Volume Shadow Ray Step Length - Step length that is used by the shadow ray for marching through volumes.

Use Volume Step Length for Volume Shadow Ray Step Length - Check box for using the Volume Step Length for the Volume Shadow Ray Step Length as well.

Single Scatter Amount - Determines how often direct light is calculated in the volume.

Sample Position DisplacementThe process of utilizing a 2D texture map to generate 3D surface relief. As opposed to bump and normal mapping, Displacement mapping does not only provide the illusion of depth but it effectively displaces the actual geometric position of points over the textured surface. - Allows a texture to control a volume's sample positions displacement.

Absorption - Specifies the absorption color texture.

Absorption Ramp - The Absorption color ramp that defines the color's range. The Absorption ramp takes the grid value as input. In the color gradient, the colors near 0 on the left side of the ramp are mapped to the lower values of the volume, which are areas of lower density. Colors on the right side of the gradient are mapped to higher grid values, where the volume density is greater. Emission and Scattering ramps operate in a similar way.

When using Ramps to shade an animated VDB sequence, pay attention to the Ramp's Max, which normalizes the Volume grid values by keeping them between 0 and 1 so the Ramp colors can map to the Volume grid. The grids' maximum values are sometimes very different throughout VDB sequences from one frame to the next. If you set a Max value too high or too low, you will see just a subset of the colors in the specified gradient.

Invert Absorption - Inverts the Absorption color so that the Absorption channel becomes a Transparency channel. This helps visualize the effect of the specified color since a neutral background shining through the medium appears close to that color.

Scattering - The scattering cross section. This channel defines how much light is absorbed over the color range.

Scattering Ramp - Acts similar to the Absorption ramp, but instead it maps colors to the light as it scatters within the volume.

Phase - Determines the scattering direction. Negative values mean backwards scattering, 0 means equal scattering in all directions, and positive values mean forward scattering.

Emission - This sets the Volume emission to accept volumetric emission modes. For emission, the Medium node can have either a Blackbody Emission node or a Texture Emission node.

When using the Blackbody Emission node, make sure that the emission grid data contains temperatures in Kelvin. VDBs often have unit-less temperatures with arbitrary ranges such as 0 - 1 or 0 - 45, as is the case with some sample VDBs from openvdb.org. Typical temperature values range between 0 - 6500, where lower values create longer wavelengths, and higher values create shorter wavelengths. In order to get realistic results from the Blackbody Emission for volumes, disable Normalize in the Emission node. Lower temperatures give off less light than higher temperatures, but when normalized, the radiance emitted by all temperatures is equal.

When using the Texture Emission node, the input temperature grid is interpreted as emission power, not emission temperature. This is more linear in that the higher the temperature value, the more light it gives off at that point. Once volume gradients are implemented, you can control the color more precisely.

Emission Ramp - The Emission color ramp.

 

Make sure the volume is not too dense. We recommend reducing the Volume Step Length to an acceptable performance and accuracy level, and then reduce the Volume Density. Otherwise you may risk rendering a solid object at a high step length.