Skip to content
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

Add stagingDir to usdrender product #162

Closed

Conversation

MustafaJafar
Copy link
Contributor

@MustafaJafar MustafaJafar commented Nov 5, 2024

Changelog Description

needed for ExtractSkeletonPinningJSON to work as it expects usdrender instances to have stagingDir, check it here.

Additional Info

This PR is exactly the same as #157 excluding the style changes.

Testing notes:

  1. Checkout this PR and removed normal usd publishes from having to publish pinning files ayon-usd#76
  2. publishing usdrender should be okay.

@MustafaJafar MustafaJafar added the type: enhancement Improvement of existing functionality or minor addition label Nov 5, 2024
@MustafaJafar MustafaJafar self-assigned this Nov 5, 2024
@MustafaJafar MustafaJafar marked this pull request as draft November 5, 2024 16:59
@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented Nov 5, 2024

@BigRoy @Lypsolon

I checked the discussion on #157 about the value of stagingDir.
The bottom line of the discussion is: should the pinning file live next to the scenes' USD file or next to the render?

stagingDir in this this PR is the render directory.
Therefore, I marked this PR as draft.

As far as I know, the USD file location is specified in the usdrender's USD Output Directory parameter.
So, we may want to us this location instead of the stagingDir. (which requires to do some changes in both ayon-houdini (to collect that value) and ayon-usd (to use the new key instead of stagingDir) repos. )
image

About render meta data

It's not relevant to this discussion. But, I checked them to find out if it depends on the stagingDir key or not. it doesn't.

Also, for reference, here's what I found out about computing the render meta data path:
it depends on the outputDir

and, regards Houdini it's set to instance.data["files"][0] check it here and here.
which is roughly the render directory (stagingDir)

@BigRoy
Copy link
Contributor

BigRoy commented Nov 5, 2024

I'd say this is not the correct fix.

  1. @Lypsolon actually created the exact same fix before here add staging dir to render pub #157 but was also closed because not the correct fix.
  2. The pinning files is not required to live next to the USD file - we just need to know where the USD file is and where the pinning file will be.
  3. I had a meeting with Ondrej and Lyon today actually - out of that we concluded that there wasn't necessarily a reason to only allow the pinning file generation on an existing USD file on disk so instead we now considered instead doing it on the in-memory stage (from the ROP) in Houdini and write that out locally before submitting to the farm. It'd allow a working scenario for all the different render cases + fix some other issues too. So @Lypsolon will be giving that a go.

Also good to note - this staging dir is the staging dir for the output render products and NOT for the USD file - so it would be wrong to begin with if we were looking for the USD file. ;)

As far as I know, the USD file location is specified in the usdrender's USD Output Directory parameter.

The tricky thing is there that it defaults to include $RENDERID which I believe always returns a unique id at render time. Or doesn't it?

@BigRoy BigRoy closed this Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement Improvement of existing functionality or minor addition
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants