-
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
Load Asset LOP: Easy access to set primitive path to the folder name #54
Load Asset LOP: Easy access to set primitive path to the folder name #54
Conversation
…t having to split the folder path parm, etc.
…sts to use "asset build" prim path or scene assembly prim path
@antirotor @Lypsolon @MustafaJafar could you check the "Questions" in the additional notes and maybe answer from your perspectives? |
My personal opinion is that everything important for automation should probably be hidden. My reason for this is that a user might accidentally delete something in the parm and then get confused about what is happening, and this could be a pain to debug.
That's a good question. And I kinda see two answers. [Edit]: I didn't make this a review, so I can do a PR review tomorrow. I hope that workflow fits; if not, let me know. |
…ancement/ayon_load_asset_lop_folder_name # Conflicts: # client/ayon_houdini/startup/otls/ayon_lop_import.hda/ayon_8_8Lop_1lop__import_8_81.0/DialogScript
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.
tested on Almalinux 9 Houdini 20.0.710
Works and also updates already existing asset lops (not sure if that's wanted)
It should be completely backwards compatible (it shouldn't break loaded content currently) so yes, that's the preferred behavior. Or did you encounter issues with it being updated? |
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's how it looks on my side.
As far as I'm able to tell:
- I have a terrible short term memory, and when selecting the preset, I can't find any info tells me to which preset the current value belongs (Until I read the preset selection properly and get use to it )
- Why would I want to copy the primitive root parameter ? As far as I know, the workflow (currently) expects exact hardcoded values to work properly, and copying that parameter may break something ?
- I find it confusing that primitive root uses a hidden parameter (until I get use to it and I'll be okay, it's hidden and it has the value of the last part of the folder path after the
/
).
Sorry, not sure what you're referring to? Are you referring to me asking about whether to make
I guess that answers it maybe - I may just make |
I was referring to ynput/ayon-core#295 (comment) |
If you're doing "asset" build work, like adding geometry, shaders, grooms to the USD asset then you'll want to work within the asset's structure which is the default prim Does that make more sense? If that means nothing is blocking this @MustafaJafar can you still approve? |
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.
It works as expected and it is cool!
Changelog Description
Working with the folder name as root primitive as name is crucial for asset build because we want to work within that correct default primitive (that in AYON USD contribution workflow) and hence the Asset Structure we have defined according to the USD Asset Structure guidelines must exist within the default prim
{folder_name}
.folder_name
parameter so users can easily reference it usingchs("folder_name")
.Additional info
Questions:
chs("folder_name")
instead so that it has a sensible default for ASSET BUILD instead of a sensible default for SCENE ASSEMBLY? (Especially because scene assembly may be done via stage managers or whatever in Houdini anyway?) ->primpath1
parm.This PR took me way more time than I planned. Seemed like a SIMPLE thing to implement but I faced a Houdini bug where I was incapable of setting the value on
primpath1
whenever it explicitly referenced another parm. (Even withhou.Parm.set(follow_parm_reference=False)
it didn't work, nor the recommendedParm.deleteAllKeyframes()
call would not help).Houdini Bug: 139806 can't set string parameters that are referencing another parm currently
It's reported as Houdini bug: 139806 - for what it's worth, SideFX confirmed it's a bug and the only workaround for string parms is to use
hscript
then using theopparm
command since it does NOT set it on the referenced parms.Testing notes: