AOVs - Arnold User Guide
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
beauty | direct | indirect | diffuse | specular | specular indirect | coat |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
transmission | emission | albedo | specular albedo | transmission albedo | ID | Z |
AOVs (Arbitrary Output Variables) provide a way to render any arbitrary shading network component into different images. For example, an artist might find it convenient to separate direct and indirect lighting contributions and later recombine them during compositing. Arnold provides built-in AOVs for outputting depth, position, and motion vectors.
Arnold provides the following 'built-in' system AOVs. These AOVs are always available, no matter what shader(s) you are using.
- A: Alpha.
- AA_inv_density: Visualizes the sample density with Adaptive Sampling. Use it with a Heatmap Filter.
- ID: Random number value derived from the name of the shape. You can also add specific ID numbers via the user options string field for an object. ie 'id 1'.
- N: Smooth normal at the shading point (in world space).
- N_denoise: Smooth normal at the shading point attenuated by volume opacity (in world space).
- P: Position of the shading point (in world space).
- Pref: Reference position of the shading point.
- RGBA: Beauty AOV, containing the full rendered image.
- Z: Depth of the shading points as seen from the camera.
- albedo: Reflectivity, the surface or volume color without lighting or shadowing.
- background: Emission from the background and skydome lights visible to the camera.
- coat: Coat reflection.
- coat_albedo: Coat color without lighting or shadowing.
- coat_direct: Coat direct lighting.
- coat_indirect: Coat indirect lighting.
- cputime: This layer contains the CPU time (measured in "ticks") to evaluate the samples in the pixel.
- diffuse: Diffuse reflection.
- diffuse_albedo: Diffuse color without lighting or shadowing.
- diffuse_direct: Diffuse direct lighting.
- diffuse_indirect: Diffuse indirect light.
- direct: D irect lighting from all surfaces and volumes.
- emission: Lights and emissive objects directly visible from the camera.
- indirect: Indirect light from all surfaces and volumes.
- motionvector: 2D vector representing the motion in screen space of the shading point during the given time interval. If output to an RGB format, the vector is contained in the R and G channels.
You must set an instantaneous shutter for the camera. The reason being is that we don't want motion blur in the render, but we still want the motion velocity information in our motion vector AOV. This can be found under Motion Blur-> Instantaneous Shutter. - opacity: RGB AOV with full three-channel opacity (as opposed to single channel alpha).
- raycount: Total number of rays traced for samples in the pixel.
- shadow_matte: Shadows in the scene, computed as the ratio of occluded direct lighting over unoccluded direct lighting.
- sheen: Sheen weight.
- sheen_albedo: Sheen color without lighting or shadowing.
- sheen_direct: Sheen direct lighting.
- sheen_indirect: Sheen indirect lighting.
- specular: Specular reflection.
- specular_albedo: Specular color without lighting or shadowing.
- specular_direct: Diffuse direct lighting.
- specular_indirect: Diffuse indirect lighting.
- sss: Subsurface scattering and diffuse transmission.
- sss_albedo: SSS and diffuse transmission color without lighting or shadowing.
- sss_direct: SSS and diffuse transmission direct lighting.
- sss_indirect: SSS and diffuse transmission indirect lighting.
- transmission: Specular transmission (refraction).
- transmission_albedo: Specular transmission color without lighting or shadowing.
- transmission_direct: Specular transmission direct lighting.
- transmission_indirect: Specular transmission of indirect lighting.
- volume: Volume scattering.
- volume_z: The Z depth for the first volume contribution is output in a flat AOV.
- volume_albedo: Volume color without lighting or shadowing.
- volume direct: Volume scatter direct lighting.
- volume indirect: Volume scattering indirect lighting.
- volume opacity: RGB AOV with the full three-channel opacity for volumes only.
Some shaders provide their own AOVs. For example, shadow_matte provides:
- shadow: Direct light shadow.
- shadow diff: A difference AOV which can be used to eliminate the shadow from the direct component.
- shadow mask: This AOV can be used in comp to localize and tweak the shadow.
Other shaders used in your scene will support various other AOVs. Multiple shaders can contribute to the same AOV (for example a Standard Surface and a Lambert shader both write to the Diffuse Direct AOV).
Composing the Beauty AOV
The RGBA beauty AOV can be split into smaller AOVs where each contains part of the lighting. In compositing, these AOVs can then be individually modified and added together to get the full beauty AOV.
More AOVs give more control in compositing, but also extra work to handle, and they take up more memory and disk space, especially combined with light groups.
Some example sets of additive AOVs for the full beauty AOV are:
- direct, indirect, emission, background.
- diffuse, specular, coat, transmission, sss, volume, emission, background.
- diffuse_direct, diffuse_indirect, specular_direct, specular_indirect, coat, transmission, sss, volume, emission, background.
Simply adding together such AOVs is all that is needed for the beauty AOV. The albedo AOVs are not needed to reconstruct the beauty AOV but may be used for example to get just the lighting without the surface texture, by dividing diffuse by diffuse_albedo, or for denoising just the lighting while keeping the texture detail intact.