Why does unloaded payload get auto loaded after reference?

   1989   4   3
User Avatar
Member
17 posts
Joined: April 2012
Offline
Hi, Why does unloaded payload get auto loaded after reference?

To demonstrate the question. I have a very simply scene.




The sublayer node load in a payload layer with unload payload option off. Which successfully unload the layer. But after reference It get loaded.

I'm aware I can use config stage node to control all the payload at once. But I'm looking a way to control individually. That's why I use sublayer here so I can choose to switch off anyone I want.

I'm not sure if the reference node create a layer which have a stronger opinion to load the payload is the reason here.

So anyone know why it behave like this?

Another question:
How can I control payload individually without using scene graph tree panel or config stage?

Thanks!
Edited by bbrcn - May 23, 2022 03:26:14

Attachments:
Snipaste_2022-05-23_14-58-06.jpg (40.7 KB)

User Avatar
Member
8045 posts
Joined: Sept. 2011
Offline
bbrcn
I'm aware I can use config stage node to control all the payload at once. But I'm looking a way to control individually. That's why I use sublayer here so I can choose to switch off anyone I want.

The root layer is the stage that determines load masks. Setting the sublayer to unload payloads configures its stage, once it's referenced, it's not its stage anymore it's part of the referencing stage. The reference node would need a configure layer placed before hand to disable loading all payloads. This mechanism can't be used to disable specific payloads. Population masks need to be used, which target specific paths.
User Avatar
Member
8834 posts
Joined: July 2007
Offline
jsmack
bbrcn
I'm aware I can use config stage node to control all the payload at once. But I'm looking a way to control individually. That's why I use sublayer here so I can choose to switch off anyone I want.

The root layer is the stage that determines load masks. Setting the sublayer to unload payloads configures its stage, once it's referenced, it's not its stage anymore it's part of the referencing stage. The reference node would need a configure layer placed before hand to disable loading all payloads. This mechanism can't be used to disable specific payloads. Population masks need to be used, which target specific paths.
while this may explain what is happening, it doesn't really justify it

since Reference LOP is a LOP node it could reconfigure the main stage metadata to preserve population masks
so the main question is what would be the most expected behavior, does not preserving population masks by default have any advantages?
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Staff
4525 posts
Joined: July 2005
Offline
Short answer: you can't.

Long answer: the payload loading decision is not part of the USD composition. It is completely separate configuration data that needs to be set on the USD stage. LOPs does preserve this load mask information, but generally only through the first input to a node. So the load mask information on the multi-input to a sublayer or reference LOP is thrown away.

In the case of a Sublayer LOP it might make sense to combine the load masks from all the inputs (something we already do in the a Merge LOP). In the case of the Reference LOP, things are more complicated because we'd have to change the paths in the load mask, since the /z on sublayer6 would need to be remapped to /a on the Reference LOP. But I agree this could be useful if you want to submit an RFE for it.
User Avatar
Member
17 posts
Joined: April 2012
Offline
Thanks guys!
  • Quick Links