The Arnold Volume object node will translate as an Arnold volume shape and is part of the new volume API. It supports plugins for volume file formats or procedurals. A full blown OpenVDB volume plugin is shipped with HtoA and fully interfaced with the Arnold Volume.

Type

Choose between 'Custom' or 'OpenVDB'. For custom, you will need a volume plugin that will create volumes or load volumes of a specific format. In Data, you will need to assign attributes to that specific volume plugin. 

OpenVDB

The default volume plugin is OpenVDB. In addition to the ray extents acceleration, auto bounding box and auto step size of the new volume API, it brings several production features such as velocity motion blur, scaling of velocity and step size and the ability to disable ray extents acceleration.

 

Filename

The OpenVDB file name.

Grids

A space-separated list of OpenVDB grids to read and make available as channels in the volume shading context.

Velocity Grids

Either 1 vector grid (eg. v or vel) or 3 float grids (eg. vel.x, vel.y, vel.z) representing the velocity field, to be used for motion blur. No motion blur will occur if an invalid combination of grids or if no grids are specified. Note that all velocity grids declared here are also available as channels in the shading context.

Using a single vector grid for velocity instead of 3 float grids can render up to 10x faster. It is strongly advised to convert the velocity to a vector field using a VDB Vector Merge SOP.

Velocity Scale

A scale factor for the velocity field. A value of 0 disables motion blur.

Velocity Threshold

Controls filtering of noisy velocities resulting in the faster rendering of motion blur from physics simulations. The default value of 0.001 should have little to no visual impact. Setting it to zero disables filtering entirely. 

Display As

How the volume is displayed in the viewport. The default is Bounding Box, which displays the union of all selected grids bounding boxes, and a visual cue of the padding. In Volume mode, the first grid of the list is displayed in the viewport, with its bounding box and padding as well. The SOP network inside determines how the volume is displayed in the viewport. You might want to change it for you own digital assets. 

Max Vis Res

This parameter allows you to make a lower res volume for faster previsualization, or to allow the volume to render with full resolution. It is possible to exceed the default volume restriction of 128 voxels on each side.

Padding

Enlarge the volume by Padding. This is useful when displacing a volume with a noise for example. Note that this slack applies not only to the bounding box but also to the voxels used for ray extents inside the bounding box. When velocity motion blur is enabled, some extra padding is computed, based on the maximum value of the velocity field, and the maximum of the velocity padding and user padding is applied. When padding exceeds the bounding box maximum dimension, the ray extents acceleration makes little sense and is disabled, so you should set the padding as tightly as possible.

 

For best performance, this should be set as low as possible, while still covering the maximum displacement amount.

The amount of padding to add to the volume bounds for displacement

Volume Step

The default Automatic will compute the minimum voxel size and use this as the ray marching step size. It is then useful to modulate the step size with the Step Scale parameter (see below). In Custom mode, the step size is set manually with the Step Size parameter.

Step Size

The volume ray marching step size when Volume Step is Custom. When set to Automatic, although the widget is disabled, its value displays the automatic value, ie. the minimum voxel size of all grids.

Sets the size for sampling inside the volume. It should be small enough to capture the smallest feature in the volume (aka the Nyquist limit). If the size is too large, aliasing, bias or banding will appear. Smaller (and therefore more accurate) sizes will increase render times while larger sizes will render more quickly. 

More information about volume Step Size can be found here.

Step Scale

A scaling factor applied to the step size, mostly useful when the Volume Step is set to Automatic, to modulate the automatic value. For low frequency, smoke-like volumes, a value of 4 is a reasonable starting point.

Compress

Optimizes voxel storage to reduce memory usage. 

Custom

When the volume type is set to Custom, you can point the volume to an arbitrary volume plugin DSO and pass it parameters. More information on how to implement your own volume plugin can be found here:  Implementing a Volume DSO.

Please refer to the OpenVDB documentation above for the common parameters.

Custom Type

...

Data String

An arbitrary user data string available to pass information to volume plugins. Another way to pass data is to create spare parameters after the user_parms_separator, those parameters will be translated a constant user data for the plugin to fetch.

To reduce the amount of noise in a volume, you must ensure that the lights in your scene have enough 'volume samples'.

  • No labels