Birth VDB operator

The Birth VDB operator will initialize a new VDB.

A default VDB is just an empty container. Grids (density, SDF, uvw, etc) must be added to it with the appropriate operators, after it is initialized. Alternatively, grids can be imported from .vdb files on disk.


Birth VDB Rollout

Birth VDB

  • Grid name: the name of the SDF grid to initialize.

  • Frame: controls which frame the VDB will be initialized on.

  • Voxel size: controls the size of voxels in the VDB.

  • Visualize grid: when enabled, a colored VDB grid marker will be displayed in the view, which also displays the size of the VDB’s voxels.

SDF

  • Default narrow band: controls the default size of SDF narrow bands (the buffer of voxels around the implicit surface of an SDF).

The default size of 3 is usually best. However, some operations can benefit from a larger narrow band (example: UVW sync during advection on a grid with a tiny voxel size and large velocities. You should usually only increase this value if you see artifacts after advection when using an SDF Solver operator.

.vdb File Rollout

.vdb file

  • Filename: The filename pointing to a single .vdb file, or sequence of .vdb files.

In order for VDB sequences to load properly, the filename format should be: filename_XXXXX.vdb, where “XXXXX” represents the frame number of preceeding “0”s (ex: filename_00023.vdb).

  • Is sequence: when enabled, the operator will attempt to load the .vdb file matching the current frame number (plus offset).

  • Frame offset: the offset added to the frame value of the current simulation step, when loading sequences.

  • Voxel size from file: when enabled, the voxel size of the VDB will be initialized from the first grid found in the .vdb file, otherwise all grids will be resampled to match the value of the voxel size spinner.

  • Sampler: controls which sampling method will be used to convert the file grid size to the specified voxel size.

Transform VDB
  • Convert Y-up to Z-up: rotates the input grid so that its Y-Axis is aligned to 3ds Max’s Z-Axis.

  • Use file transforms: grid transforms will be taken from the input file.

  • Reset transform: input grids will be moved to the scene origin.

  • Transform with object: input grids will be transformed using the transform of the selected object.

Grid Extraction

  • Automatic grid extraction: when enabled, the operator will search for available grids in the loaded .vdb file and attempt to match them to appropriate grid types (density, velocity, etc) within tyFlow, using a best-guess name-based heuristic. When disabled, users can manually choose which grids found in the .vdb file will be assigned to which grid channels within tyFlow.

  • Density/SDF/UVW/Velocity: enter the name of the grid from the file in the appropriate grid channel, in order to manually assign grids to channels.

  • Velocity from float grids: when enabled, three float grid names can be specified. If found, the float grids will be merged into a single velocity (vector) grid.

Use “velocity from float grids” mode to import PhoenixFD velocity grids, which are exported separately.

  • Velocity from vector grid: when enabled, the velocity grid will be imported from a single corresponding vector grid in the .vdb file.

  • Keep origin values: when selected, no additional scaling will be applied to imported velocity values.

  • Scale values (second > frame): when selected, velocity values from the .vdb file will be converted from per-second timescale to per-frame timescale.

Some grid simulators (ex: PhoenixFD) work in a per-second timescale, whereas tyFlow works in a per-frame timescale. Use the “per-second > per-frame” option to convert input values (ex: from PhoenixFD) to tyFlow’s timescale.