-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AY-7132_Refactor render workflow to manage render compositor network outputs instead of forced render structure #67
base: develop
Are you sure you want to change the base?
Conversation
…collects/defines the render outputs
I will give it a shot and see how it performs.... But just by briefly seeing this PR I have to note that the main labour which need to be taken care of is the creation of that
Our legacy blender integration did that automatically for the user even tho been sort of rigid and blender-addon config driven (which is not desirable now and reasoning behind refactoring) |
So here are my findings so far:
|
I want to remark that we should really try and get as much of that out of the AYON settings - and instead allow someone to build that almost like a template inside Blender or alike and then e.g. allow using that as an actual loadable product or as workfile templates, or something along those lines. We should really allow anyone to create any custom node graph - no matter how complex - without us enforcing some structure from our AYON settings. Of course a simple "creation system" like we have we could preserve, but I think the actual usefulness is so much less than just using actual Blender node content somehow the user can actually author in a blender file itself. The admin of settings may also not be the artist who knows blender - as such, configuring this "template" in settings is too far off from the artist who just knows blender. Anyway, thanks for the quick test run on the draft PR. Some of the issues you mentioned I know why they happen and what would be the next step - but it's perfect having them clearly laid out and mentioned here, so thanks for that! ❤️ |
…enhancement/less_destructive_render
…ards compatibility, simplify legacy logic where we can
…com/BigRoy/ayon-blender into enhancement/less_destructive_render
Here is a small breakdown what we need to achieve... when creating
Also worth mentioning that any user output can originate from any node graph location/AOV so it makes sense to just detect the file output node And last but not least, there can be situation where user having already a lot of inputs in
|
@BigRoy @moonyuet I still think there is quite a value in current implementation and maybe just briefly checking whats the issue with the additional render layer(s) (which are broken atm) but the rest is functional could be good idea too.... as if just minor issue tweaking might lead to fully functional rendering from blender before we introduce this refactoring above. I can imagine that been caused just by some API change within new Blender release (as the rendering features were introduced when blender 3.6 been released and got broken with blender 4.x) |
@LiborBatek thanks for the breakdown, I'm currently working towards (not fully functional yet):
In short, if there's NO render comp setup yet - it behaves like before, creating from settings a render setup. If there is, then it just uses what your scene has set up as what you want to publish and now will NOT break your existing configurations. The end goal here is that, over time, we remove the "setup from settings" logic or change it around in such a way that one could e.g. publish and load rendersetups - or start from workfile templates, that each could act as the "render setup" replacement on first creation - but with way more studio control, then they can actually configure ALL of what Blender has to offer and we do not need to care about maintaining each render pass of Blender in our settings manually. Thoughts @LiborBatek ?
What's tricky about it? The user has technically full control to configure their scene - all we need to do is correctly parse the File Output Node and its values, which I believe I am doing now ;) (e.g. collecting their colorspaces, etc.; although we do not actually care about bit depth in the publishing)
Could you point me to the "Additional Layers" bug or create an issue for it if there isn't yet? I can look into that along the road to fix if it's just a minor point. |
Blender is allowed to have multiple File Output Nodes for render output. Moreover, we can make it more artist-friendly, like creating some templates settings which can be driven in ayon settings, so that artists can just choose whether they want to do multipart or not etc. |
I have made some tests and it seems that it doesnt fail on multiple |
@BigRoy thx for your breakdown! it all sounds thrilling and awesome! love it already :) does that sound still easy? if yes then perfect!! I mean similar formatting like we already have once hitting create |
…enhancement/less_destructive_render
…enhancement/less_destructive_render
Changelog Description
Allow the Compositor's Node Output File to be the ground truth about the "output" of your render.
It should not matter whether it's the direct 3D render or whether you are doing slap-comp compisiting in-between. The idea here is that there just happens to be a node, with some input layers defined, which then end up defining the actual render products you want to publish.
Additional review information
Currently the so called "aov" suffix to the product is defined by the filename of the layer in the compositor node output file - but we could look into other options, like using custom attributes on the node or another explicit naming option for those. The logic is currently in the
get_aov_identifier
function.Testing notes:
AY-7132