Rendering a Z-depth AOV with Arnold

To get z-depth data out of Softimage with Arnold, you can use the built-in Softimage Depth render channel. Depth outputs a floating point image, so you need to use a format like EXR.


The Depth channel will give you non-antialised, non-normalized depth data in the alpha channel. In the DCC, it will appear solid white, but that’s because the data is non-normalized.

Non-normalized means that the Z depth values are not between 0 and 1, but between the near and far camera clipping planes, so you need to divide the Z values by the far clipping plane value to get 0..1 values. You can use a compositing package like Nuke for this. Myself, I don’t have Nuke, so I used Composite to normalize the Z depth AOV:

In Maya, you’d use the Z AOV to render out the Z-depth information. In Softimage, Depth is mapped to the Z AOV, and if you export a .ass, you’ll see the “Z” AOV listed in the options node.

 outputs 2 1 STRING 
  "RGBA RGBA sitoa_output_filter Passes.Default_Pass.Main" 
  "Z FLOAT sitoa_closest_filter Passes.Default_Pass.Depth"