On this page | |
Since | 18.0 |
Overview ¶
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
/HoudiniLayerInfo
prim and controls how the layer is written to disk. This primitive is not saved to any USD output.
Tips ¶
-
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.
Parameters ¶
Save Path
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.
Default Primitive
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.
Comment
Sets a comment on this layer. This comment has no meaning to USD, but may be used to describe the purpose of the layer, or any other information you may wish to associate with the layer.
Start Time
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 usdview
.)
End Time
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 usdview
.)
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.)
Up Axis
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.01
). 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.
Custom Data Count
The metadata of every prim and property 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.
String
The value is stored as a single string.
String Array
The value is parsed into an array of substring, respecting quotes to group space separated words into a single substring.
Token
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.
Token Array
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.
Float
The value is stored as a floating point number.
Integer
The value is stored as a whole integer value.
Boolean
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 (customdatastrvalue‹n›
, customdatafloatvalue‹n›
, customdataintvalue‹n›
, customdataboolvalue‹n›
) all labeled Custom data value, with the visible one controlled by the Custom data type value. This may be relevant if you are using expressions or scripting these values.)
Stage Variable Count
Every USD layer can contain a dictionary of “stage variables” as metadata onthe root primitive. These stage variables can be referenced in asset path attributes, composition arcs such as references, and in variant selections.
Stage Variable Name
For each stage variable, the name of the variable.
Stage Variable Type
For each stage variable, the data type of the variable value.
String
The value is stored as a single string.
String Array
The value is parsed into an array of substring, respecting quotes to group space separated words into a single substring.
Token
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.
Token Array
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.
Float
The value is stored as a floating point number.
Integer
The value is stored as a whole integer value.
Boolean
The value is stored as a True or False value.
Stage Variable Value
For each stage variable, the value to associate with the name.
(Behind the scenes there are several different parameters (stagevariablestrvalue‹n›
, stagevariablefloatvalue‹n›
, stagevariableintvalue‹n›
, stagevariableboolvalue‹n›
) all labeled Stage variable value, with the visible one controlled by the Stage variable 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.
Flatten Input
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.
See also |