Just wondering if Cycles is planning to add these features in the future below:
Per Light AOVs ( similar to VrayLightSelect, diffuse & spec in 2 separate AOVs )
Diffuse Texture ( similar to VrayDiffuse Filter )
positionWorld, positionObject
normalsWorld, normalsObject
Shadow collector per light
MotionVector / Velocity
DeepEXR
Render visibility control ( for example, to separate background, shadow collector matte, foreground character in 3 separate render passes for compositing purposes )
Thank you so much for your quick response.
Let me put together some examples and a contactsheet later on next week to explain some of my unclear questions.
Thats right, I did that quick example in Maya and Arnold.
I’m still trying to figure out the render layer system and visiblity override in Blender 2.8.
Essentially what I did there is every render layer has the exact same objects and lights, and I only did a visabiliy override on the objects on each render layer, and splitted them in bg, shadow_matte and fg 3 seperate passes with out being heldout by the fg, and every objects are getting the indirect light bouncing off each other.
Beside lightgroups / per-light AOVs, do you know if visibility override is included in Blender 2.8.
It’d be appreciated if you can provide an example blender file if these features exists in 2.8.
If not can we put in a feature request for these features please?
lightgroups / per-light AOVs
object visibility override in render layer
These features would be a good start to steer Blender towards more on VFX production pipeline in the future.
The manual for 2.8 is still being written. Mainly you’ll want to use the outliner, right click on a collection and use View Layer > Exclude to exclude its objects from one specific view layer. Besides the different naming and UI the way these features work under the hood is still the same: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Layers#View_Layers
The per-light AOVs are under development already and don’t need a feature request. I’m the person who implemented the per-light AOVs in Arnold 5 by the way, so I’m pretty familiar with the requirements for such a system, though I’m not the one implementing them in Cycles.
Thank you for these links and showing me the Collection and View Layer features.
They’re very helpful, and I’ve managed to control the visibility similar to my previous test from MtoA.
It doesn’t seem to have add new View Layer under View Layers, so instead I have added a new Scene, and I was able to override the visibility on the objects.
With this approach I’ll also be able to create AOVs for each lights, it just gonna take more time to setup.
I’m currently selecting and rendering one Scene at a time.
Is there an option somewhere to batch render all Scenes at once when I hit render animation?
For the AOVs, is there a way to rename "Combined" to "rgba", and remove the prefix in my case “View_Layers”
It’d be great to have it by default that’d be closer to most industry standard naming convention.
It’ll also be great to have the ability to customize the naming for all of the AOVs, and adding custom AOVs like Fresnel, Facing Ratio and etc…
We use P and N passes extensively for pulling matte, adding 3d noise, relighting and adding interactive lighting in compositing.
Can we put in a feature request if P world and P ref isn’t yet planned for the future build please?
I spotted an issue with the Z depth AOV, the depth data looks unpremulted which is correct, however when I compare it against the alpha, it’s actually smaller than the alpha.
The Z depth is suppose to have a few pixels coverage furthur than the alpha channel in order to work properly.
Not sure if this is a known issue or should we put in a bug report?
For rendering multiple scenes, you can set up multiple file output nodes in the compositor and then also do the renaming there. This is quite manual, and it’s really view layers that are intended for this. If you put lights in different collections it should work with view layers without needing multiple scene copies.
I’m sure Nuke has nodes for renaming things as well.
The Z depth AOV is based on just the first sample. It’s a known limitation, could be improved once to offer the option to use the max of all samples for example. There is also a Mist pass if you need some kind of antialiased depth.
the AOVs lukas made a while back let us render things but expose entirely different values in post. Like I could render a picture of a tree but then in post it shows up as a bush or something for comping tricks. Could be used as a super efficient way to make masks without re rendering twice without much of a slow down at all
This is great!
Thanks for pointing out the View Layers and Compositor, Ive finally figured out how these works, didn’t know the Compositor was intended to be used as render layers output organizer.
Do you think we can add the shadow matte feature under AOVs in the up coming build please?
I’d consider the Z depth issue is a bug rather than a limitation, it’s not yet usable for applying defocus in comp, can we also put in a bug tickets for this please
We would need an anti-aliased depth data, based on camera distance in order to apply comp defocus properly.
thanks for bringing the pWorld and pRef passes to focus for everyone
For anyone that doesn’t know, pWorld and pRef (position world and position reference) are data type passes used in ‘high end’ compositing (and mostly nuke or wherever they can be read), and can be pretty important to a pipeline. There’s a good article on the different between pWorld and pRef as well as some of their possible implementations here. Essentially a pRef pass is a position pass in object space rather than world space.
World position passes are currently able to be reproduced in cycles by plugging ‘position’ from the geometry node into an Emission shader on an object.