|On this page|
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 ¶
In any parameter setting an attribute value, you can use the following local variables:
The total number of primitives being modified by this node.
Index of the primitive being modified. This value goes from
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
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
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.)
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.
Ignore this parameter, don’t create or change the attribute in any way.
Cooking this node can generate many USD time samples, rather than just a single time sample at the current time. This can be equivalent to having a Cache LOP following this node, but it will evaluate much faster, and does not cache data from any other nodes. This allows animated data to be authored to USD without introducing a node time dependency which would then cause all following nodes to also be time dependent. This can vastly improve playback performance of some LOP Networks.
In all sampling modes, if a parameter on this node does not vary with time, and does not rely on other time sampled data from the stage, only a single default value will be generated in USD for the corresponding attribute. USD time samples are only generated for parameters that may vary over time.
Sample Current Frame
A single time sample will be generated for the current time.
Sample Frame Range If Input Is Not Time Dependent
If the input to this node is time dependent, this node behaves as if it is in
Sample current frame mode. Otherwise it behaves as if it is in
Sample frame range mode.
Sample Frame Range
The Start/End/Inc parameter is used to generate multiple times at which this node’s parameters are evaluated, and a USD time sample is created for each attribute at each one of these times.
When the Sampling behavior is
Sample frame range, this parameter controls the number and spacing of base time samples to be generated by this node. The default values of this parameter are
@ropinc. These values correspond to the start, end, and step size of the global Houdini animation settings when interacting with Houdini. When using a ROP node to generate a range of frames, these values correspond to the start, end, and increment values specified on the ROP node being executed. This default ensures that a USD file written to disk will contain time samples for exactly the frame range requested by the ROP (regardless of the Houdini animation settings).
For each primary sample generated by this node, these parameters can cause additional samples to be generated aroudn that primary sample time. This is most often used to ensure that accurate data exists at exactly the camera shutter open and close times, as well as at the primary sample time.
Controls the method used to specify the shutter open and close times relative to the primary sample times.
The Shutter open/close parameter values provide exact offset values relative to the primary sample time.
Use Camera Prim
The Camera prim parameter provides the scene graph path of a camera primitive from which the shutter open and close times are extracted to provide the offset values relative to the primary time sample.
When the Shutter mode is
Specify Manually, these two offset values are added to the primary sample time to indicate the shutter open and close times. The open time should be less than or equal to zero, and the close time should be greater than or equal to zero.
Scene graph path of a camera prim on the input node’s stage. The shutter open and close attribute values are read from this primitive.
The number of subframe samples to create for each primary sample. These samples are evenly distributed between the shutter open and close times. Note that such an even distribution may or may not create a sample at exactly the primary sample time.
Always Include Frame Sample
Enable this option to force a sample to be created at exactly the primary sample time. If the Samples values together with the shutter open and close times already place a sample at the primary sample time, turning on this option will have no effect. Otherwise, this option will cause an addition sample to be added. This means that the actual number of samples per primary sample may in fact be one more than the number specified in the Samples parameter.
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
Creates spare parameters on the node based on the input attributes of the material or a shader specified in the Primitives parameter.
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.
Don’t create any referencing primitives; edit the properties on an existing one.
Reference an existing primitive and edit properties on the newly created primitive.
Create an “inherits” composition arc to an existing primitive and edit properties on the newly created primitive.
Create an “specializes” composition arc to an existing primitive and edit properties on the newly created primitive.
Don’t create any referencing primitives. Instead, create a primitive with a
Over under an ancestor primitive with a
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.
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
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..
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.