xpOpenVDBMesher generates sparse volumetric data which is used to create dynamic meshes or fog volumes from particles and scene objects.


The mesher is supplied with three items of data for each particle (or vertex, if the source object is a polygon object or spline).

These are the particle position, its radius and its velocity.

For polygon or spline objects, the radius is arbitrarily set to 1 and the velocity to zero, but for particles, the actual values from the particle are used.

With this data, xpOpenVDBMesher constructs a three-dimensional grid to enclose all the points; each cell in this grid is a voxel.

Voxel size can be changed with Voxel Size setting.

Each voxel can be outside the surface to be generated, or inside it, or actually on or near the surface itself.

The band of voxels, which are the 'active' voxels, are at a narrow surface; its width can be altered by changing the Half Width setting.

All other voxels are considered 'inactive' and play no part in forming the surface.

The mesher then constructs a virtual sphere around each particle.

The size of this sphere is the particle radius (or 1 if the object is not an emitter).

If the spheres overlap they will be unioned, much as two sphere objects might be joined by a Cinema 4D Boolean object.

If the sphere is smaller than the Min Radius setting or larger than the Max Radius setting, it will not be included in the mesh.

Finally, if there are voxels within this sphere that are part of the narrow band, the sphere will be meshed, and the size of the generated polygons will depend on the voxel size.


General tab