[MtoA] cross-platform volume file names

The Arnold volume node uses the texture search path, so you don’t have to use an absolute path in the volume filename.


So if you need to set up a Maya scene so that the OpenVDB volumes work on any platform, you could put an environment variable in the Texture Search Path


Just note that support for volume filenames is still a little … rough. You can’t enter an absolute path in the aiVolume Filename box, then enter a texture search path, and expect MtoA to automatically export a relative path. That still needs to be implemented.

For now, here’s what to do:

  • When you first create the volume, load the vdb file and leave the full absolute path in the aiVolume Filename box.
  • Select the grids and set the other volume parameters.
  • Then set the texture search path and strip off the path from the volume file name (leaving just the file name).
  • Now the environment variable will control where Arnold looks for the vdb file.

The Arnold volume node also support environment variables, so you could do this:


But again, once you put the environment variable into the Filename, the path won’t be resolved inside Maya (but it will work when you render).

[HtoA] [Tip] Speeding up motion blur on VDB volumes

Merging your velocity vel.x, vel.y, and vel.z grids into a single vector grid using a Vdb Vector Merge node can speed up your renders.


You can safely ignore the “component grids have different transforms” warning on the VDB Vector Merge.  The x, y, and z components of the velocity have slightly different transforms because they located on the center of the cell faces in each direction; that’s coming from the marker-and-cell (MAC) grid used in the simulation.

If you really want to be precise with the velocities, you need to resample them on the same grid, say the density grid:
Hat tips to Saber, Fred

[MtoA] Per-light AOVs for volumes


Arnold added support for per-light AOVs for volumetrics.

Here’s how to set up per-light AOVs in MtoA

  1. In the light Attribute Editor, enter a name for the light group.
  2. Create a custom AOV for the light group. Give the AOV a name that starts with “volume_”. For example, if the light group name is “red”, then the AOV name is “volume_red”.