On this page | |
Since | 18.0 |
Overview ¶
This node authors metadata which affects which layers and which parts of the stage are composed. This is useful to reduce processing times when working interactively. You can use it to limit the scope of operation of following LOP nodes.
The stage population mask and layer muting features let you limit what is loaded and composed into the scene graph tree.
(Similarly, viewer load masks can control what is shown in the viewer, but the full USD is still loaded and processed, while this node can limit what is loaded and processed in the first place.)
If you are using an asset resolver, this node also provides a way to specify a configuration file for the resolver.
Tips ¶
-
Because LOP nodes in a chain share a USD stage, changes you make here affect all following nodes in the chain (through first inputs to outputs).
-
For subsequent Merge nodes, the list of muted layers is the union of the muted layers set on all inputs, and the output stage population mask is the union of the stage population masks on all inputs.
-
If a Viewport Load Mask is set on a stage that has been configured with a stage population mask or layer muting by this node, the data to appear in the viewport will be restricted by both sets of layer muting and stage population masks. This means the union of all muted layers and the intersection of the two population masks. Note the difference compared to the Merge node, which takes the union of all stage population masks.
Parameters ¶
Populate Primitives
How/whether to edit the stage population mask.
Don’t Change
Does not change the current stage population mask.
Add and Remove Primitives to Populate
Use the parameters below to add or remove primitive paths to/from the population mask.
Set Primitives to Populate
Discard the current stage population mask and replace it with the paths in the parameters below.
Populate All Primitives
Discard the current stage population mask and replace it with a mask that populates all primitives.
Populate Paths from Input
When Populate primitives is “Add and Remove” or “Set Primitives”, this is a list of primitive path patterns matching prims to include. The difference between this and Populate paths is that this parameter selects from prims that exist in the input.
Remove Populate Paths from Input
When Populate primitives is “Add and Remove”, this is a list of primitive path patterns matching prims to remove. Removing a primitive from the stage population mask means the resulting primitives will no longer exist in the output stage. The difference between this and Depopulate paths is that this parameter selects from prims that exist in the input.
Populate Paths
When Populate primitives is “Add and Remove” or “Set Primitives”, this is a list of explicit paths (no patterns allowed) of prims to include. The difference between this and Populate input paths is that this parameter can add paths to the mask even if this node has no input, and even if the prims don’t exist at the paths yet, but might be created by subsequent nodes.
Remove Populate Paths
When Populate primitives is “Add and Remove”, this is a list of explicit paths (no patterns allowed) of prims to remove. Removing a primitive from the stage population mask means the resulting primitives will no longer exist in the output stage. The difference between this and Depopulate input paths is that this parameter can remove paths from the mask even if this node has no input, and even if the prims don’t exist at the paths yet, but might be created by subsequent nodes.
Load Primitives
How/whether to edit the set of primitives which should load their payloads.
Don’t Change
Does not change the current set of payloads to load.
Add and Remove Primitives to Load
Use the parameters below to add or remove primitive paths to/from the set of payloads to load.
Set Primitives to Load
Discard the current set of payloads to load and replace it with the paths in the parameters below.
Load All Primitives
Discard the current set of payloads to load and replace it with a flag that causes the payloads on all primitives to load.
Load Paths from Input
When Load primitives is “Add and Remove” or “Set Primitives”, this is a list of primitive path patterns matching prims to load. The difference between this and Load paths is that this parameter selects from prims that exist in the input.
Remove Load Paths from Input
When Load primitives is “Add and Remove”, this is a list of primitive path patterns matching prims to remove. Removing a primitive from the set of payloads to load means the resulting primitives will no longer compose their payload arcs on the output stage. The difference between this and Unload paths is that this parameter selects from prims that exist in the input.
Load Paths
When Load primitives is “Add and Remove” or “Set Primitives”, this is a list of explicit paths (no patterns allowed) of prims to include. The difference between this and Load input paths is that this parameter can add paths to the set even if this node has no input, and even if the prims don’t exist at the paths yet, but might be created by subsequent nodes.
Remove Load Paths
When Load primitives is “Add and Remove”, this is a list of explicit paths (no patterns allowed) of prims to remove. Removing a primitive from the set of payloads to load means the resulting primitives will no longer compose their payload arcs on the output stage. The difference between this and Unload input paths is that this parameter can remove paths from the set even if this node has no input, and even if the prims don’t exist at the paths yet, but might be created by subsequent nodes.
Mute Layers
How/whether to edit the set of muted layers.
Don’t Change
Doesn’t change the current set of muted layers.
Add and Remove Layers to Mute
Use the Mute paths and Unmute paths to add/remove layers to/from the set of muted layers.
Set Layers to Mute
Replace the current set of muted layers with the paths in Mute paths.
Unmute All Layers
Discard the current set of muted layers, no layers are muted in the output.
Mute Paths
When Mute layers is “Add and Remove” or “Set Layers”, this is a list of paths to layers to mute. Even if the layers listed here do not exist on the inputs stage (if any), this set of paths will be remembered by the stage, and loading of the named layers will be prevented in subsequent nodes.
Unmute Paths
When Mute layers is “Add and Remove”, this is a list of paths to layers to unmute (if they are currently muted).
Resolver Context Asset Path
A path to a file containing configuration information for the asset resolver. The standard USD asset resolver and Houdini’s built-in asset resolver do not use this, but if you use a custom asset resolver, it may read this file to change its settings when loading layers for this stage. This parameter only affects the USD stage if this node has no input connected.
The contents of this file, whether it is used at all, and if it’s used, how it affects the behavior of the asset resolver, is completely up to asset resolver implementation.
For example, the configuration file might specify a version number, telling the resolver to prefer assets of that version when loading resources.
Number of Resolver Context Strings
The resolver context can be configured using multiple separate strings. Each string is used to configure one resolver. One string (with no URL prefix specified) is sent to the default resolver used for all asset paths that are not in URL format. Other strings can be paired with a URL prefix to configure the resolver associated with that prefix.
If there is at least one non-empty resolver context string value provided, this takes precedence over any resolver context asset path, and the resolver context for the LOP stage will be created using the ArResolver::CreateContextFromStrings
method instead of ArResolver::CreateDefaultContextForAsset
.
Enable
Individual resolver context configuration strings can be enabled or disabled with this toggle.
URL Prefix
This string value will be sent to the resolver responsible for the specified URL prefix. If no prefix is provided, this string value will be sent to the default resolver.
Value
The string value sent to the resolver determined by the URL Prefix.
Number of Variant Selection Fallback Rules
Configures what variant selection fallback values to use for specific variant sets when no explicit variant selection opinion is provided on a prim. These fallbacks are applied on top of any global variant selection fallbacks configured using the USD library plugin mechanism, and on top of any variant selection fallbacks configure on the LOP Network.
Enable
A specific variant set fallback setting can be disabled with this toggle.
Variant Set Name
Name of the variant set to configure.
Fallback Selections
A space or comma separated list of variant selection values to attempt to use on this variant set when no explicit variant selection opinion is available.
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.)
See also |