Is there a quick way to assign an AOV to an Arnold Sky object so I get a matte for that upon render?
I have a scene of a port with a ton of objects. I'd like to have a matte for the Arnold Sky object for possible compositing effects, but assigning an Object Mask to that Sky object does not generate a matte for me. Activating the background AOV doesn't work, either.
The only way I'm seeing to isolate that sky would be to add Object Masks to the scores of other objects in the scene. This doesn't strike me as a very efficient workflow.
Any thoughts? Thanks!
Shawn Marshall
I've always had the same problem and I haven't found any other solution than to put an Object Mask on the rest of the objects.
It would be nice to find a simpler solution,
Thanks,
Diego
Thanks for the replies. A Custom AOV doesn't appear to work with an Arnold Sky object. No matte is produced, just a black frame.
I guess you either apply Object Masks to every object in the scene or make the sky invisible to the camera and composite it in later using Trapcode Mir or something like that.
Cheers.
Shawn
Object mask tag works only on surface type objects, not on the sky unfortunately. The sky is available in the emission AOV by default or in the background AOV if you turn on the Indirect AOV flag on the sky.
I'm not sure if there's an easy way to get a mask, but I know a techy one. There's a variable which tells you the shading context, 2 means background. You can read this via the state_int shader and write it to a custom AOV, like this:
Add this material to the AOV shaders in the render settings (Main > Advanced).
I'll take a look if it could be made user-friendly somehow.
Yes, a more user-friendly approach would be appreciated. I would think many users would appreciated such functionality.
Thanks!
Hello Peter, I've tried the AOV setup you proposed and I only get a black window in the IPR and final render.
I have put the material in AOV shaders in the render settings (Main > Advanced). and then I added the custom AOV but I only get black frame.
I'm on Mac v 2.5.1 can it be that the version is too old for this?
Thanks
I've tested with 2.5.1 on mac and seems to work fine. Attached is a very basic scene.
Maybe your use case is more complex and this solution does not work there?
Hello Peter, Thank you very much for the attached file.
Your example is exactly the same as what I had done from your instructions but since I tested it directly on a project I am working on and it doesn't work. Then after a lot of activating and deactivating things I have seen that if are using the fog for some reason I don't know this way doesn't work.
I'm sure there's an explanation for why it doesn't work if you use fog or atmospherics
I also wanted to ask if there is any way to get this mask but with fine antialias.
Thanks
Diego
Right, that's a limitation of this technique, I'm afraid. Fog and atmosphere changes the shading context from background to volume. I can not think of any workaround for that.
Antialias depends on the filter. Select the AOV object and change the filter mode to custom to override the filter for this AOV specifically.
Thanks for the explanation, also in the AOV filters.
Maybe later on will find a way to create a mask of the sky object, no doubt it will be something very practical.
Kind regards
Diego
I'm planning to add this solution to the next release with the current limitations. Hopefully we can solve them later.
Thanks again for looking into this.
Can you suggest a workflow to add aerial perspective (haze that increases with distance) in a compositing app like After Effects? I can anticipate situations where I don't want to be rendering fog within Arnold but add it in compositing so I can dial it in later. Using the z-depth AOV in some manner?
Can you render the fog (Y-axis) separately and composite that?
You can add the object mask tag to an Arnold Sky or Background in C4DtoA 3.0.3. Note that there are some limitations, the background mask does not work if fog or atmosphere volume is used in the scene or with transmission.