Publish USD should support the file remapping the ROP's output processor performs #137
Open
2 tasks done
Labels
type: bug
Something isn't working
Is there an existing issue for this?
Current Behavior:
We currently are using a Collector to collect the current scene's USD stage and its layers - and from that detect e.g. Explicit Layer Save Paths. However, a USD ROP may be doing a lot of that on export to adjust the resulting USD file using the Output Processors you can configure on a USD ROP.
Some exports, like e.g. a Component Builder, also have default output processors applied to make the results relative to an output directory.
Expected Behavior:
We will likely need to be able to detect the processing a USD ROP performs and remap our paths/expectations accordingly so we know where the source files will actually live that it exports.
We likely can not just consume the written USD file of the ROP itself - since not all asset paths in that file may be related to the current USD ROP export actually generating those files. It may have references to files that already existed. And the relevant save layer path metadata is stripped by the USD ROP (by default) so we don't know which were relevant. Even if we were to enable it on the ROP we could technically parse that after and then remove the metadata ourselves after - however that would not work if a USD ROP was ever 'inside another HDA' (like the component builder) because it'd be "non-editable" when include - hence we can't change those toggles nor can we put in a custom processor of our own that just collects the paths.
Most likely we'll need to first detect all asset paths in a layer from the current stage and for each of those and their prim paths in the
Sdf.Layer
, go over the exported USD file, compare the same attributes with their value and assume if the value differs that it got remapped - and then after Extraction detect the remapped values, etc. 🤯Similarly - if the ROP node would make "relative paths" of references (including to "referenced" files that are not created from the current exported position) we should actually remap them to be relative from the file's published destination path.
Version
1.0.0
What platform you are running on?
Windows
Steps To Reproduce:
Are there any labels you wish to add?
Relevant log output:
Additional context:
The text was updated successfully, but these errors were encountered: