Destructive Layer Editing And/Or Flattening Override Layers

   2205   4   2
User Avatar
Member
2 posts
Joined: Jan. 2019
Offline
Is there a way to make edits to a USD scene in Houdini and then bake those changes into the original USD file that was referenced, rather than saving them out as a separate layer? Or if not, can layers be flattened together in a way that bakes in the changes from one layer to the other but still preserves the references beneath them?

I'm hoping to use USD as a common interchange format so I can read, edit, and write scenes to the same set of files in Maya, UE4 and Houdini. In UE4 you can load a USD scene, move objects around, and then save the USD scene and those changes will baked into the layer, so I'm hoping I can do the same thing in Houdini. I want to preserve references to USD asset files though, so right-clicking on a node and hitting Save > Flattened Stage isn't the solution I'm looking for. I am very new to USD and I am only just barely starting to wrap my head around it, so any help with this would be greatly appreciated!
Edited by JacobReuling - March 4, 2020 15:45:45
User Avatar
Member
7801 posts
Joined: Sept. 2011
Offline
I think the stage manager, load layer, and edittargetlayer can help with the kind of destructive edits that preserve reference arcs.
User Avatar
Member
8592 posts
Joined: July 2007
Offline
I'm not sure you want to do that
how would you handle animated usd files? Saving into the same file that you are streaming from? using Cache LOP maybe, but it's always risky to overwrite your source file

for static ones it may work, did you try?
USD ROP has options for Save Style to choose how to flatten the layers and whether to preserve references
Edited by tamte - March 4, 2020 19:01:16
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
2 posts
Joined: Jan. 2019
Offline
jsmack
I think the stage manager, load layer, and edittargetlayer can help with the kind of destructive edits that preserve reference arcs.
The load layer node did the trick! It brings in the .usd file without grouping it under a reference layer, so right-clicking and hitting Save > Active Layer on a node downstream will write the whole layer to disk rather than just the changes made to it as a separate one. Thank you!

tamte
I'm not sure you want to do that
how would you handle animated usd files? Saving into the same file that you are streaming from? using Cache LOP maybe, but it's always risky to overwrite your source file

for static ones it may work, did you try?
USD ROP has options for Save Style to choose how to flatten the layers and whether to preserve references

Right now, I just want to learn how to use USD for constructing a scene before I actually do anything with it like animation. I'm thinking of it like deleting Construction History in Maya; it's not always needed, especially when I'm still in the middle of modeling, and when it isn't helping it just bogs things down. I'm aiming for a workflow where I can model props and setpieces in Maya, use Houdini for set dressing with its nifty physical movement tool which I need to learn how to work, and use UE4 for realtime lookdev/lighting, every program modifying the same file or set of files until I have an environment fully fleshed out and ready to animate in. Then I will start using the layering system properly, but for now I am just one person so I don't need every tweak I make to a scene as I'm creating it to be fully procedural and sequestered into its own file.
Edited by JacobReuling - March 4, 2020 19:25:13
User Avatar
Member
8592 posts
Joined: July 2007
Offline
that makes sense, but still I'd refrain from saving to the same file, whether animated or not
since lops are procedural it doesn't make sense to overwrite your source files
the same way as you may not want to read geo in SOPs modify and output to the same file (except for specific feedback cases)

anyway, as mentioned Flattening options are there for you if you wish to “delete history” of the LOPs editing
Tomas Slancik
FX Supervisor
Method Studios, NY
  • Quick Links