Layer breaks are very important to understand. They give you control over what is written to layer file on disk.
The Layer Break LOP does two things:
It starts a new active layer which will be modified by following LOP nodes.
It marks all existing sublayers as having been authored prior to a layer break.
This has no effect on the composition of the stage. In the scene viewer, you will still see the effects of the sublayers created before the break. However, the break changes the way some LOP nodes work with the layers, and how the USD render node writes them out as USD.
Essentially, when the USD render node writes layers out to layer files on disk, everything before a layer break is thrown away and not written to disk.
Why is this useful?
Imagine you are working in a lighting department. You receive a file from the set dressing department. It contains a landscape, with a scratch light called
/Lights/scratch_sun1 created by the set designers. You need to author a layer that removes the scratch light and adds production-quality lighting.
Use a Sublayer LOP to load in
Append a Layer Break LOP.
This indicates that nothing above this node should be included when the new layer is written to disk.
Select the scratch light (
/Lights/scratch_sun1) and use a Prune LOP to deactivate it.
Note that because the Layer Break doesn’t affect the composition of in-memory layers, the light is still available to select, even though it comes from above a Layer Break.
Add new production quality lights.
Add a USD render node to write out the network as a layer file called
As explained above, the USD render node won’t write anything above the layer break. The file won’t include any data from
lighting.usdlayer does contain an override saying to deactivate
/Lights/scratch_sun1(the Prune was after the Layer Break, and the attributes it authored aren’t affected).
/Lights/scratch_sun1doesn’t exist in
lighting.usd. But when we layer
landscape.usdlater, the prim path will match up and the lighting layer will deactivate the scratch light.
So, in a Solaris network, you can load data to provide context for edits, and prevent the “context data” from being written to disk by putting it before a Layer Break node in the network.