-
Notifications
You must be signed in to change notification settings - Fork 11
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
130 ay 6965 default output paths and support custom staging directories. #200
base: develop
Are you sure you want to change the base?
Conversation
I tested with publishing the model product. the staging directory set correctly Please fix in the separated PR as they are not related to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the comment above
Nice work!
Also wanted to mention that there is quite some overlap between this feature and the Custom Staging Dir feature which would define where published work renders should go to. As such, even though I like this implementation it may very well happen down the line that this should get superseded by using the custom staging dir setings (which I think are in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main concerns are mentioned here - other than that I think the implementation is very clean and nice.
However, I do think the:
`chs('AYON_productName')`
part should be part of the setting, not hardcoded in the setting of the path.
As such, the default would be this instead:
staging_dir = "$HIP/ayon/`chs('AYON_productName')`"
I also wonder whether making the new default render/
instead of ayon/
would make way more sense. It'd at least align more with other host integrations like Maya.
@antirotor thoughts?
…t-path-update-pyblish-to-something-less-legacy
This won't work with HDAs, as its file name is not saved in a string parameter.
I wonder if Houdini artists might find it confusing because it doesn't align with Houdini defaults where geo files will be saved in |
Regarding point 1 and 3 about being more granular about file names and not using hardcoded subdirectories. |
I see, thanks for clarifying that. Still - it feels odd to still have that part of the path be hardcoded for all the others. Not sure what the best middle ground is - but in a way, it's still not really customizable. Also, similar to "custom staging dir" - a studio may want their renders in a different folder than their geo caches. Which also hints at needing settings PER creator instead of a single global one. Yet I do agree - it'd be a lot of settings to maintain. It could be profile based - where the HDA creator just happens to have a different default profile. Tagging @dee-ynput @antirotor for their thoughts.
Valid point - potentially even more reason to 'remain at the defaults' as per my point 2) above. Side note: I'm personally also NOT a fan of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the meeting we had with @antirotor and @MustafaJafar this became the changes:
- Add settings toggle to enable/disable path control completely (to allow a studio to completely manage it themselves)
- If enabled, we use the default path as you have it set up ✅
- However, if matching custom staging dir profile is specified in
ayon-core
settings then we use that custom staging dir directory instead. (This also only applies if "directory management" is enabled" as per my first point).
…pyblish-to-something-less-legacy' of https://github.com/ynput/ayon-houdini into enhancement/130-ay-6965_rop-default-output-path-update-pyblish-to-something-less-legacy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are some note.
… if it's a forward slash
…t-path-update-pyblish-to-something-less-legacy
This should be working now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this works great - however, I still think we should make the expanding of $HIP
optional (even if another validator is currently in the way of making that super useful.)
What I'd like to do is:
- Move the
hou.text.expandString(staging_dir)
call intoHoudiniCreator.get_custom_staging_dir
instead of per creator - Add an additional setting in settings that enables/disables that
if expand_vars: ...
if managing the paths is enabled.
I also think we should update ROP Output Directory
label to Set ROP Output Directory on Create
or something so it's explicit when it triggers from the label, instead of needing to look at the tooltips. What do you think?
Then, after this PR is merged - we should maybe create an issue to look into ways how we should potentially update the render paths after e.g. context switching if needed so that we avoid re-using a scene using the old render paths accidentally. Whether that's a validator, or the creator handling that out of the box is something we can discuss and decide then.
Other than that, great work - very clean!
Changelog Description
This PR adds a main setting for configuring output directory for created ROP nodes via AYON creator plugins.
{default_path}/`chs('AYON_productName')`/hardcoded_filename
{default_path}/`chs('AYON_productName')`/hardcoded_foldername/hardcoded_filename
ayon-core
settings then we use that custom staging dir directory instead. (This also only applies if "directory management" is enabled" as per the first point).resolve #130 and resolve #21
Demo
houdini_cache
templatehoudini_Render
templateTesting notes: