Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width45%

The Corona Volume Grid allows you to render objects which are truly volumetric and based on a 3D grid, as opposed to meshes with the Corona Physical Material or the Corona Volume Material which always require some kind of surface consisting of polygons to display the volume.

The typical uses of the Corona Volume Grid are fire, explosions, smoke, clouds, steam, and other visual effects based on particle or fluid simulations, objects which are not possible or hard to render when using classic polygonal mesh.


Column
width5%


Column
width50%


...

Section
Column
width50%

Only the OpenVDB (.vdb) format is supported. You can learn more about it at http://www.openvdb.org/, and you can download sample .vdb files at http://www.openvdb.org/download/

The Corona Volume Grid also supports animated OpenVDB files (.vdb sequences) as well as Cinema 4D's Pyro fire and smoke simulation tool which was introduced in their 2023 release. For more information about Pyro, please see MAXON's user guide here.

Using Pyro could not be easier. Once you have run your Pyro simulation you can then link it to the Corona Volume Grid object using the eyedropper button found in the ''Objects'' "Object" tab. If the simulation has not been cached already you will receive a prompt asking how you would like to store the cache. There are two options for this.

Cache scene This will prompt Prompts you to store all Pyro output objects that are used in a scene to disk in a location chosen by the user.

Cache This option allows Allows you to cache a single Pyro output object from a scene.

UI Text Box
typenote

Exported simulations can take up a lot of HDD storage space so it is worth keeping an eye on the capacity of your HDD.

Once either method has been completed, it the cache is automatically linked to the Corona Volume Grid object and rendering can begin.

Column
width5%


Column
width45%

...

Section
Column
width50%

File field – This field displays the loaded file or a sequence of OpenVDB files from a disk. If one file is selected by the user, the sequence of files is auto-detected. If more files are selected by the user, only those files are loaded, and they are placed into the sequence by their alphabetical order.

UI Text Box
typetip

Starting from Corona 10, use the folder icon to the right in order to select an OpenVDB file or a sequence. For previous versions, use the Select files button.

Folder icon - This button allows Allows you to load pre-existing .vdb sequences from disk.

Eyedropper icon - This button is used to link Links a Pyro Output object to the Corona Volume Grid object.

Reload from disk This button reloads Reloads a previously loaded file or sequence of OpenVDB files from the disk.

Online helpThis button provides Provides additional guidance for the use of the Corona Volume Grid object.


Animation

Enable animationThis button enables Enables or disables the use of the OpenVDB file 's animation data.

UI Text Box
typenote

Animation parameters are available only if the OpenVDB files include this data. The animation data is not always included on in every single OpenVDB file, unless it was is indicated when exporting the OpenVDB file in the software used to export it. 

ModeThis parameter sets Sets how the sequence of the OpenVDB files is mapped onto the Cinema 4D timeline.

Repeat – The whole sequence is periodically repeated (the first frame appears after the last frame).
Ping Pong – Sequence is repeated in a continuous way (e.g. frames 1 to 5 are repeated as follows: 1 2 3 4 5 4 3 2 1 2...).
Freeze out of range – Frames below the range of the loaded sequence are displayed as the first frame of the sequence and frames above the range as the last frame of the sequence.
Hide out of range – Out-of-range frames are not displayed.

Frame offsetThis parameter determines Determines how much the OpenVDB sequence is offset compared to the current Cinema 4D timeline. Setting offset to 1 displays frame 1 to the OpenVDB sequence when the Cinema 4D frame number is 2 (so the OpenVDB sequence is delayed by 1 frame).

Speed multiplierThis parameter determines Determines how fast the OpenVDB sequence runs. Setting this value to 1 results in one OpenVDB frame per one Cinema 4D frame, while setting this value to 2 results in two OpenVDB frames per one Cinema 4D frame.

Load nearest if missing – When enabled, missing frames in the Open VDB sequence are replaced by the closest frame.


Viewport display

TypeThis parameter determines Determines how the current OpenVDB fame is displayed in the viewport.

Bounding box – Only the bounding box of selected OpenVDB channels is displayed.
Point cloud – The volume is displayed as a point cloud; each point position is determined by the volume density and its color by channel mapping/tint settings (requires loading of channels - slow for huge files).

QualityThis parameter determines Determines the total number of points displayed for the point cloud display mode.

Column
width5%


Column
width45%

...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid Viewport display type

Panel
titleType = Bounding Box

Panel
titleType = Point cloud

Column
width2%


Column
width48%
Image slider

Corona Volume Grid Viewport display quality

Panel
titleQuality = 5%

Panel
titleQuality = 100%

Column
width1%


...

Section
Column
width50%

Interpolation – This parameter specifies how emission/scattering/absorption values are computed from the channel.

None – No interpolation, the fastest method, but also prone to artifacts.
Linear – Linear interpolation, good quality, and reasonable speed.
Quadratic – Quadratic interpolation, the best result but the lowest speed.

Step size This parameter determines Determines ray marching step size. Increasing the value leads to faster rendering with more noise and possibly some artifacts while lowering the value leads to less noise but slower render times.

Flip frame This parameter flips Flips the frame of the OpenVDB channels (more specifically, the Y and Z axes).

Alpha mode – Specifies how the object is visible in the alpha channel. Available modes are:

Default – This is the default mode. In this mode, the object's alpha value is derived from the data in the OpenVDB file.
Always black – In this mode, the object's alpha value is black (the object shows as transparent).
Always white – In this mode, the object's alpha value is white (the object shows as opaque).

Motion blur & frame interpolation

ModeThis parameter defines Defines how motion blur and frame interpolation are computed.

Disabled – Both frame interpolation and motion blur are disabled (in both cases, we only use the frame closest to the current time).
Simple – Simple linear interpolation between two OpenVDB frames, may lead to artifacts.

VelocityThis parameter enables Enables smooth interpolation/motion blur using velocities stored in the OpenVDB file. For this mode to work properly, you must select a velocity channel.

MultiplierThis parameter specifies Specifies the strength of the motion blur effect.

UI Text Box
typeinfo

Frame interpolation is necessary when OpenVDB sequence frames are offset by a non-integer number or have a non-integer speed multiplier.

Column
width5%


Column
width45%

...

Section
Column
width1%


Column
width32%
Image slider

Corona Volume Grid:Rendering interpolation

Panel
titleInterpolation = None

Panel
titleInterpolation = Linear

Column
width1%


Column
width32%
Image slider

Corona Volume Grid:Rendering step size

Panel
titleStep Size = 0.1

Panel
titleStep Size = 10

Column
width1%


Column
width32%
Image slider

Corona Volume Grid:Rendering flip frame

Panel
titleFlip Frame = Disabled

Panel
titleFlip Frame = Enabled

Column
width1%


...

Section
Column
width50%

EnableThis checkbox enables Enables emissions in the volume.

Channel – Selects the channel that is used as a source for medium emission. Along with channels (grids) presented in the OpenVDB file, such as Temperature, Density, Velocity, etc., a special option can be selected:

Constant – Contains only the value 1, which fills the whole bounding box of the volume grid.

Enable tint – Enables modulation of the emission's final color.

TintThis parameter allows selecting Selects a solid color different than white to affect the emission's final color.

ShaderThis parameter allows loading Loads a texture map or shader to affect the emission's final color.

ModeThis parameter defines Defines the way in which data in the selected emission channel is mapped to the final emission of the volume.

Blackbody – The emission channel is treated temperature of Kelvin and converted to color according to blackbody radiation laws.
Raw data – Channel data are not mapped and are only influenced by scale and tint.
Channel mapping – The emission channel undergoes mapping to colors, which are accessible under the Channel color mapping section.

Scale – This parameter uniformly scales emission amount after mapping.

Temp. scale – If the emission mode is set to Blackbody, the selected emission channel is treated as the temperature in Kelvin degrees, and these parameters are used to linearly scale the temperature.


Channel color mapping

Channel color mapping can be used to colorize the properties of the volume grid (emission, absorption, scattering) based on a gradient. For example, a red-yellow gradient can be used to create realistic fire.

The channel mapping parameters allow for mapping floating point values stored in the channel to colors. The mapping is computed as follows:

Fancy Bullets
typecircle
  • The float value is mapped to color using the color gradient. The leftmost color of the gradient defines how the value of 0 is mapped to color, while the rightmost color defines how the value of 1 is mapped to color.

  • The color computed from the gradient is scaled by the curve. Note that the curve input is not the color from the gradient, but the input-scaled floating value from the channel (i.e. the result of operation 1).

  • The final color is computed by scaling the color back using the inverse of the Input scale value.

Input scale – The float values are scaled by this parameter so they fit into the [0,1] value range.

Auto-scale – This button allows the computation of the input scaling value automatically.

Column
width5%


Column
width45%

...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid:Emission

Panel
titleEmission = Disabled

Panel
titleEmission = Enabled

Column
width2%


Column
width48%
Image slider

Corona Volume Grid:Emission channel

Panel
titleChannel = Temperature

Panel
titleChannel = Constant

Column
width1%


...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid:Emission scale

Panel
titleScale = 1

Panel
titleScale = 0.1

Column
width2%


Column
width48%
Image slider

Corona Volume Grid:Emission tint

Panel
titleTint = White

Panel
titleTint = Blue (H=228, S=100, V=100)

Column
width1%


...

Section
Column
width50%

Enable This parameter enables Enables absorption in this volume.

Channel This parameter allows Allows selecting the channel that is used as a source for absorption. Along with channels (grids) presented in the OpenVDB file, a special option can be selected:

Constant – Contains only the value 1, which fills the whole bounding box of the volume grid.

Enable tint – Enables modulation of the absorption's final color.

TintThis parameter allows selecting Selects a solid color different than white to affect the absorption's final color.

ShaderThis parameter allows Allows loading a texture map or shader to affect the absorption's final color.

ScaleThis parameter uniformly Uniformly scales the absorption amount after mapping.

Enable channel color mappingThis checkbox enables Enables the Channel color mapping parameters, where you can choose how values from the selected channel are mapped to colors.


Channel color mapping

Channel color mapping can be used to colorize the properties of the volume grid (emission, absorption, scattering) based on a gradient. For example, a red-yellow gradient can be used to create realistic fire. The channel mapping parameters allow for mapping floating point values stored in the channel to colors. The mapping is computed as follows:

Fancy Bullets
typecircle
  • The float value is mapped to color using the color gradient. The leftmost color of the gradient defines how the value of 0 is mapped to color, while the rightmost color defines how the value of 1 is mapped to color.

  • The color computed from the gradient is scaled by the curve. Note that the curve input is not the color from the gradient, but the input-scaled floating value from the channel (i.e. the result of operation 1).

  • The final color is computed by scaling the color back using the inverse of the Input scale value.

Input scale – The float values are scaled by this parameter so they fit into the [0,1] value range.

Auto-scaleThis button allows Allows the computation of the input scaling value automatically.

Column
width5%


Column
width45%

...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid:Absorption scale

Panel
titleScale = 0.5

Panel
titleScale = 5

Column
width2%


Column
width48%
Image slider

Corona Volume Grid:Absorption tint

Panel
titleTint = White

Panel
titleTint = Blue (H=200, S=100, V=100)

Column
width1%


...

Section
Column
width50%

Enable This parameter enables Enables scattering in this volume.

Channel This parameter allows Allows selecting the channel that is used as a source for scattering albedo. Along with channels (grids) presented in the OpenVDB file, a special option can be selected:

  • Channel - Contains only the value 1, which fills the whole bounding box of the volume grid.

Enable tint – Enables modulation of the scattering's final color.

TintThis parameter allows Allows selecting a solid color different than white to affect the scattering's final color.

ShaderThis parameter allows Allows loading a texture map or shader to affect the scattering's final color.

ScaleThis parameter uniformly Uniformly scales the scattering amount after mapping.

Directionality – Directionality equals 0 produces isotropic (diffuse) scattering, positive values produce forward scattering and negative values produce backward scattering. The default value of 0 is suitable for most media, with the exception of clouds where a higher positive number produces the effect of a silver lining. Values close to - 1 or 1, increase the amount of image noise.

Single bounce only – When enabled, only a single bounce (direct lightning) is scattered in the medium. This results in a biased (darker), but faster, rendering. Useful for example for rendering god rays.

Enable channel color mapping – This checkbox enables the Channel color mapping parameters, where you can choose how values from the selected channel are mapped to colors.


Channel color mapping

Channel color mapping can be used to colorize the properties of the volume grid (emission, absorption, scattering) based on a gradient. For example, a red-yellow gradient can be used to create realistic fire. The channel mapping parameters allow for mapping floating point values stored in the channel to colors. The mapping is computed as follows:

Fancy Bullets
typecircle
  • The float value is mapped to color using the color gradient. The leftmost color of the gradient defines how the value of 0 is mapped to color, while the rightmost color defines how the value of 1 is mapped to color.

  • The color computed from the gradient is scaled by the curve. Note that the curve input is not the color from the gradient, but the input-scaled floating value from the channel (i.e. the result of operation 1).

  • The final color is computed by scaling the color back using the inverse of the Input scale value.

Input scale – The float values are scaled by this parameter so they fit into the [0,1] value range.

Auto-scale – This button allows the computation of the input scaling value automatically.

Column
width5%


Column
width45%

...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid Scattering scale

Panel
titleScale = 0.1

Panel
titleScale = 1

Column
width2%


Column
width48%
Image slider

Corona Volume Grid Scattering tint

Panel
titleTint = White

Panel
titleTint = Blue (H=200, S=70, V=100)

Column
width1%


...

Section
Column
width1%


Column
width48%
Image slider

Corona Volume Grid Scattering directionality

Panel
titleDirectionality = - 0.7

Panel
titleDirectionality = 0.7

Column
width2%


Column
width48%
Image slider

Corona Volume Grid Scattering single bounce only

Panel
titleSingle bounce only = Enabled

Panel
titleSingle bounce only = Disabled

Column
width1%