On this page | |
Since | 19.0 |
Overview
By itself, this nodes doesn’t do anything. You must add spare parameters corresponding to shader or material input attributes. Then when you edit the spare parameters, the node authors equivalent changes to the referenced attributes.
This is a streamlined version of a more generic Edit Properties LOP , but focuses on editing shader and material primitives.
How to
-
In Primitives, set the path(s) to the shader or material primitive(s) you want to the edit.
-
Click __Create Parameters.
This populates the node with spare parameters taken from the shader or material primitive.
Control pop-up menus
Tips
-
In any parameter setting an attribute value, you can use the following local variables:
@numprim
The total number of primitives being modified by this node.
@prim
Index of the primitive being modified. This value goes from
0
to 'numprim-1
.@primpath
The path of the primitive being modified.
This node belongs to a class of nodes that create or edit USD prims directly. These nodes operate in Create mode or Edit mode. This is controlled by a Create primitives checkbox or a Create/Edit popup menu. In create mode, the node creates new prims. In edit mode, the node changes the attributes on an existing prim. The Edit mode has two variations. Edit will not modify primitives which have a houdini:editable
attribute set to false
. Force edit will modify a primitive regardless of the existence or value of this attribute. This attribute can be set on a primitive using the Configure Primitives LOP.
Parameters that correspond to a USD attribute have a pop-up menu to the left that controls how the node authors the attribute.
In addition to that, any connectable USD attributes (i.e., the ones in the inputs:
namespace) will have menu items that allow disconnecting them from their sources.
Pop-up menu item |
Meaning |
---|---|
Set or Create |
Sets the attribute to the given value, whether it previously existed or not. |
Set If Exists |
Only set the attribute to the given value if it previously existed. Use this mode to make sure an attribute is only set on primitives of the correct type. For example, only |
Block |
Makes the attribute appear to not exist, so it takes on its default value. (If the attribute doesn’t already exist on the prim, this does nothing.) |
Disconnect Input |
Deletes the attribute input connection to its source. Input connections take precedence over attribute values, so disconnecting an input allows the attribute value to take effect. |
Do Nothing |
Ignore this parameter, don’t create or change the attribute in any way. |
Parameters
Primitives
The primitive(s) the node should operate on. You can drag primitives from the scene graph tree pane into this textbox to add their paths, or click the Reselect button beside the text box to select the primitives in the viewer, or ⌃ Ctrl-click the Reselect button to choose prims from a pop-up tree window. You can also use primitive patterns for advanced matching, including matching all prims in a collection (using
/path/to/prim.collection:name
).
Create Parameters
Creates spare parameters on the node based on the input attributes of the material or a shader specified in the Primitives parameter.
Reference Type
This node can edit properties on an existing material primitive or it can create a new on, reference it to an existing primitive, and edit properties on the newly created one. This is useful when the original material is bound to some geometry whose appearance you don’t want to change, but instead you want to base a new material on an existing one, then tweak it, and bind it to another geometry.
None
Don’t create any referencing primitives; edit the properties on an existing one.
Reference
Reference an existing primitive and edit properties on the newly created primitive.
Inherit
Create an “inherits” composition arc to an existing primitive and edit properties on the newly created primitive.
Specialize
Create an “specializes” composition arc to an existing primitive and edit properties on the newly created primitive.
Create Class
Don’t create any referencing primitives. Instead, create a primitive with a Specifier
of Over
under an ancestor primitive with a Specifier
of Class
. This makes it easy to create a primitive that is the target of an inherit or specialize composition arc and override select attributes of the inheriting primitive.
Class Ancestor
When the Reference type is Create Class
, this parameter controls where the Class
specifier primitives end and the Over
primitives begin. Usually the primitive being modified is a descendant of the primitive where the actual inherit composition arc lives, and all primitives below that point should use the Over
specifier, whereas primitives above this point should use Class
.
Reference Parent Material
If the Primitives parameter specifies a shader primitive, turning this option on will ensure that the newly created primitive will reference its parent material instead of the shader itself..
Primitive Path
Scene graph path where the new referencing primitive will be created.
Parent Primitive Type
If the prim at Primitive Path doesn’t exist, this node will create it. If it has to create the prim, it will give any intermediate prims it has to create this type.