ynput / ayon-houdini

Houdini addon for AYON
Apache License 2.0
11 stars 9 forks source link

USD ROP allow remapping explicit layer save paths to be remapped to AYON Entity URI #80

Closed BigRoy closed 2 months ago

BigRoy commented 3 months ago

Changelog Description

Allow remapping to AYON Entity URI instead of resolved publish filepath for layer save paths directly written out from the USD ROP that also turn into their own publishable instance.

Additional info

Testing notes:

Enable Extract USD attribute use_ayon_entity_uri in settings.

  1. Create a Solaris stage that generates an additional layer save path (explicit layer save path)
  2. This layer save path will introduce an additional publish instance.
  3. With the setting enabled that instance should be remapped to an AYON Entity URI
  4. With the setting disabled that instance should be remapped to the resolved publish path (same as before this PR)

*When using Merge LOP to merge multiple explicit layer save paths (e.g. separate SOP imports with explicit layer save paths) keep in mind that Merge LOP default merge mode "Simple merge" will discard them. More details, see here

BigRoy commented 3 months ago

im not sure what is happening but it dose not create the output i would have expected.

i belive its only extracting 1 of the explicit save paths

here is an image to what i see not sure how i would test or debug things here. Screenshot from 2024-08-29 14-40-50

What a test! :) Can you share a scene file?

Lypsolon commented 3 months ago

im not sure what is happening but it dose not create the output i would have expected. i belive its only extracting 1 of the explicit save paths here is an image to what i see not sure how i would test or debug things here. Screenshot from 2024-08-29 14-40-50

What a test! :) Can you share a scene file?

here is the scene used for testing.

but i will also say i dont think this is part of the current USD epic so im gonna postpone further testing for the next epic.

UB_ep2_layout_v002.zip

BigRoy commented 2 months ago

@MustafaJafar your specific test run confirms the loading, but not this PRs saving of explicit layer save paths and embedding that in the published USD file.


@Lypsolon I've checked your scene files just now - and your scene actually behaves correctly. It saves only one explicit layer save path. This is due to the MERGE node.

See here: image

At the merge, there's only one layer still in my Scene Graph Layers. This is due to the default being a "Simple merge". When I change the merge style:

image

Then I get this: image

That's when the publisher should pick that up. image

So I'd say - please test again with that knowledge.

Lypsolon commented 2 months ago

ahh sorry rucky mistake i will test again. the merge node is getting me every now and then.

Lypsolon commented 2 months ago

One small note. something is printing the following

>>> We have preset for LOPLoadAssetLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for LOPLoadShotLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for USDSublayerLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for USDReferenceLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for SopUsdImportLoader
  - setting `use_ayon_entity_uri`: `True`
BigRoy commented 2 months ago

One small note. something is printing the following

>>> We have preset for LOPLoadAssetLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for LOPLoadShotLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for USDSublayerLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for USDReferenceLoader
  - setting `use_ayon_entity_uri`: `True`
>>> We have preset for SopUsdImportLoader
  - setting `use_ayon_entity_uri`: `True`

Correct - this is the discovery of the plugins in the Create Context and how it applies the project settings. It's verbose yes - but shouldn't be an issue for now.