-
Notifications
You must be signed in to change notification settings - Fork 10
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
Render layer name collector #67
Render layer name collector #67
Conversation
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.
client/ayon_houdini/plugins/publish/collect_local_render_instances.py
Outdated
Show resolved
Hide resolved
This product name template is not applicable for the houdini host only, guess we should check if there is wrong template name generally.
From your screenshot, it seems there is something wrong when creating render instances with specific name which these variants name doesn't get check which leads to the duplicates. It is supposed that it is always checking(it works at least when we create rop instance with the same names. |
…nces.py Co-authored-by: Kayla Man <[email protected]>
I've added some help in ynput/ayon-core@f752940 With product name templates (not just connected to these PRs), they need to be configured really carefuly. Any mistake can break a lot of things so it shouldn't be something artists themselves hit that often. |
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.
Firstly, I must have a template profile for render in Houdini, otherwise the publisher will complain about having multiple instances with the same name.
Farm doesn't use the correct naming but it works locally.
From Farm job json file:
{
.
.
"instances": [
{
"aov": "beauty",
"productGroup": "renderCfxMantra_ropTest",
"productName": "renderCfxMantra_ropTest_beauty",
"productType": "render",
"renderlayer": "mantra_ropTest",
.
.
},
{
"aov": "N",
"productGroup": "renderCfxMantra_ropTest",
"productName": "renderCfxMantra_ropTest_N",
"productType": "render",
"renderlayer": "mantra_ropTest",
.
.
},
{
"aov": "P",
"productGroup": "renderCfxMantra_ropTest",
"productName": "renderCfxMantra_ropTest_P",
"productType": "render",
"renderlayer": "mantra_ropTest",
.
.
}
],
.
.
}
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.
Hey, this works fine on my side.
My local render and farm render are following my render product template {product[type]}<_{Renderlayer}><_{Aov}>
For information this toggle works only for farm.
Should we port its logic to CollectLocalRenderInstances
?
ah, we definitely should... |
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.
This now is working in local and farm.
Both respect use_legacy_product_names_for_renders
logic.
Tested and it works indeed, thanks. |
Changelog Description
This PR adds collector for render layer names - so they can be used later on in anatomy templates (either for publishing or delivery).
Warning
Due to the dynamic nature of product templates it is difficult to determine good
group_name
from that. It should be basicallyproduct_name
without aov data in it, but since the product name template might look like{product[type]}<{Renderlayer}><_{Aov}>
, it is difficult to get it just from the resolved string.Additional info
Note
To make use of the collected data, you need ynput/ayon-core#841. This is continuation of ynput/ayon-core#447
Testing notes: