|On this page|
This node edits metadata that affects how a USD layer functions.
Some of the metadata is stored on the layer root prim and is saved with the layer on disk.
Some metadata is stored in the
/HoudiniLayerInfoprim and controls how the layer is written to disk. This primitive is not saved to any USD output.
This node will only author a bit of metadata if the corresponding parameter has its checkbox turned on. If the checkbox for a parameter is off, the node will not change any existing metadata corresponding to that parameter.
Where the file will be saved if and when the USD is written to disk (by a USD render node). (This is stored in
/HoudiniLayerInfo and is not saved to any USD output.)
This path can be altered by an output processor if you have them configured on the render node. For example, it is common in Houdini to have file paths relative to
$HIP, but in USD they should be relative to the root layer file. By default, an output processor on the USD render node does this transformation automatically.
Sets the default primitive for this layer. If another USD file references this layer, but does not explicitly name a primitive, it is given the default primitive. This sets the default primitive for this layer. It must be a root prim (
/prim_name) and it must exist in this layer.
Sets the start time of the playable range for this layer. (This is not enforced in any way, and the layer may not have any animation. This may be used by Houdini’s viewer and tools such as
Sets the end time of the playable range for this layer. (This is not enforced in any way, and the layer may not have any animation. This may be used by Houdini’s viewer and tools such as
Time per Second
Applies a scaling factor to time samples stored in the layer. You can use this to non-destructively speed up or slow down animation in the layer.
Frames per Second
For data specified in relation to frames, how many frames fit in a second. (For example, 24 for film, or 30 for NTSC television.)
Which axis (Y or Z) was treated as “up” when this layer was created. This is not used to transform the layer. It serves as a hint that can help identify the cause of orientation problems when you combine USD layers.
Meters Per Unit
The scale at which the scene was modeled. For example, Houdini scenes are often modeled at meter scale (
1.0) for physical accuracy, while Maya modelers often work at centimeter scale (
0.1). Like Up axis, Houdini doesn’t act on this information (it can’t automatically scale layers because it can’t know which of all the attributes in the scene represent lengths, distances, movement vectors, and so on). It just serves as a hint to help identify the cause of scaling problems when combining USD layers.
Number of Custom Data
The metadata of every prim contains a dictionary for use by software packages and/or studios to store custom data. You can set or edit multiple custom key-value pairs here. Set the number of items to set/edit, or use the plus and minus buttons to add or remove items.
Custom Data Name
For each item of custom data, the name of the item.
Custom Data Type
For each item of custom data, the data type of the value.
The value is stored as a single string.
The value is parsed into an array of substring, respecting quotes to group space separated words into a single substring.
Like a string, but represented as a USD Token, which generally should not contain spaces. Using this specific data type may be necessary to match scripts or tools later in your pipeline.
Like a string array, but because USD Tokens generally aren’t expected to have spaces, the string is parsed into tokens using a simpler algorithm which ignores quotes and always splits the string where there is whitespace.
The value is stored as a floating point number.
The value is stored as a whole integer value.
The value is stored as a True or False value.
Custom Data Value
For each item of custom data, the value to associate with the name.
(Behind the scenes there are several different parameters (
customdataboolvaluen) all labeled Custom data value, with the visible one controlled by whether the Custom data type value. This may be relevant if you are using expressions or scripting these values.)
Also Set Metadata on Stage Root Layer
USD layers each have their own metadata that is controlled through this node. But in addition, USD stage’s root layer (which cannot be directly accessed in LOPs) also has metadata which may be the same as or different from any specific layer used to compose the stage. This option allows the metadata described by this node to be copied to the stage’s root layer as well as being set on the active layer.
It is almost always desirable to have the metadata on each component layer match the metadata of the stage’s root layer, so this option is on by default.
Prior to configuring the active layer, you can explicitly combine a series of layers created by earlier nodes in the chain.
Do not flatten
Don’t do anything with other layers.
Flatten input layers
Flatten all layers in the layer stack into a single layer, and then configure the metadata of that layer.
Flatten input stage
Flatten the entire stage. This is a much more destructive operation than layer flattening. It bakes overrides, references, and sublayers into a single monolithic tree. Only do this if for some reason you need to incorporate all stage data into a single output file.
Start New Layer
This node is often used to perform the final configuration of a layer’s metadata before creating a new layer to be modified by following LOP nodes. Turn this on to explicitly start a new in-memory active layer that subsequent nodes will use.
Set Input Active Layer to Explicit
When this node starts a new layer, the previous active layer can be marked as an explicit layer, even if a Save Path has not been set. Forcing this layer to be marked explicit ensures it will be written to it’s own file on disk by the USD ROP, using an automatically generated save path if necessary.