This error means that you are trying to render multiple AOVs into a single file, and the file format (PNG in this example) does not support that.
JPEG, PNG, and TIFF cannot have multiple AOVs in a single file. The AOVs have to be rendered in separate files.
If you get this error, check the Common tab. If you don’t see the <RenderPass> token, then you’re going to get the “more than one output statement was associated with single layer driver” error.
For JPEG, PNG, and TIFF, you need the <RenderPass> token:
Normally, MtoA will automatically add the <RenderPass> token for you. But sometimes Merge AOVs gets enabled for EXRs, and then the Image format is changed to another format, like PNG.
So just switch back to EXR and disable Merge AOVs. Then switch back to the other image format.
If you want to control object visibility with operator, or the Arnold Python API, or by editing an ASS file, you need to understand Arnold’s visibility parameter.
In the UI, the object visibility options look like a bunch of separate parameters:
but in Arnold, all those options are stored in one visibility parameter.
For example, if an object is visible to the camera (primary visibility), and to transmission (both diffuse and specular), then that’s visibility 13.
Why 13? Because 13 = 1 + 4 + 8
- camera rays = 1
- diffuse transmission rays = 4
- specular transmission rays = 8
The Arnold visibility parameter tells Arnold the rays to which the object is visible.
- visibility 0 means the object isn’t visible to any rays
- visibility 255 means the object is visible to all rays
- visibility 253 means the object isn’t visible to shadow rays (so the object does not cast shadows).
Here’s the decimal values for all the different ray types.
To figure out the visibility, just add up the values for the rays you want.
|Ray type||Decimal Value|
|Camera (Primary Visibility)||1|
|Shadow (Casts Shadows)||2|