Compositor — Output Settings — File Output
Separating Compositor from Output Settings
The compositor is currently confusing in its relation to the Output Settings. blender.community/c/rightclickselect/6YV7/ There was a suggestion here of being able to disable output「Output Properties>Output」However, I think this isn’t a complete solution. Maybe an idea is, if Compositing is checked in the post-processing then the output settings and file path should be disabled and these options should be accessed through the compositor. The reason is that the output is too unpredictable with what it does when using file output nodes or the group output in the compositor. Also, shouldn't The post-processing tab be under Output?
Compositor — Composite Group & File Output
Isn’t the composite group output a little redundant, or rather should be made redundant. I understand for simple compositing possibly it is useful to have synced options to the Output settings. But the issue is that deleting or removing all the inputs from the group output node doesn’t stop it from rendering. The group output always has to be used. So when rendering to multiple file outputs you need to use the group output as one of your outputs from the compositor, making it inconvenient and untidy. This has always been a historical issue. What the file output node lacks is placeholders and overwriting functions, which would make the File Output nodes come up to date with what the group output/Output(with no compositor) can do. And consequently clean up the compositor a lot.
Another thing missing is frame numbers and other simple code like ‘filename’ ‘imagename’ ‘####Frame’ or even ‘hostname’ to be available in the file output name. This will be useful to auto generate each file’s name.
Rendering Layers
Lastly, in View layer> the Use for Rendering & Render Single Layer, these options become redundant when using the compositor. In my view, these options should be greyed out when using the compositor. When not using the compositor, having a drop-down list to add new view layers to a render list and an isolate option for view layers would be better usability.
Discussion is welcome!
6 Comments
This is now done and will be part of 5.2, see #153668
Some variables like file name frame are already available, you could use something like
/folder/{blend_name}_####.png, see user manualYay, It's good to see there is work being done. Thanks for the info about naming too, I didn't realize. Not sure if the naming code works with each layer of a file output though. Would be nice to have control of where the file output image name gets placed.
This is pretty important. Coming from every other major 3D DCC, I have never understood why Blender forces you to render out this superfluous "other" output even when you've carefully set up very specific render layers and file output in the Compositor.
Not to mention: When you render frequently to a farm service, it's just another task that can't be turned off, adding to your costs.
I also think that the Output should have an option (tickbox) do disable it : if you are exporting everything you need from the compositor, you don't need that anymore, it is just writing useless file(s).
For your last point about the view layers, I am not sure if there is a problem here, AFAIU, the "use for rendering" and "render single layer" will dictate if the compositor will have the cached image contained in the corresponding layer nodes being updated upon render. I think we need those. We can argue that if no corresponding render layer node is present in the compositor, Blender could automatically consider that as "dont render this layer" - in other word, the "use for render" box unticked. that would make sense, I mean, there is no point rendering something that won't be used.
EDIT : for you ‘filename’ ‘imagename’ ‘####Frame’ code for the filenames, I made an addon to timestamp the filenames of the rendered files, with the choice of date only, time only, or date and time. This is a life changer in my workflow!!!
Yeah, I don't mind a checkbox for the output if people want that. I just want to be able to completely use the compositor and have no weird things happen with the group output node that uses the output settings. Essentially, I want all my output functionality in the file output node so I can just ignore the output settings and group output node.
However, the user experience would get confusing with a checkbox. For example, what if you disable Output Settings and then still use the group output node in the compositor? What then? Would it appear greyed out in compositor too? That's why I suggested to completely separate the two. If compositing=enabled, then Output Settings=disabled. It just feels like the back and forth between compositor and Output Settings isn't a nice workflow. I know it's somewhat subjective, but it would be an easier workflow to have all the settings available in the compositor.
Regarding your second point, I agree it is needed. But in the compositor you will be using scenes and layers anyway, and in a more easily viewable fashion. If the layer you want to render isn't in the compositor or is disabled/muted, it shouldn't be rendered. Basically, the compositor should be determining what is rendered or not, if it is enabled. Atm, there are too many random quirks you need to keep in mind, and UX doesn't feel great when trying to composite multiple layers and send to different file outputs and paths.
They did the checkbox on blender 5.2!