= Editing parameters = == Overview == Parameters are the options on an individual node. For example, each light has a __Translate__ parameter that controls the light's position, a __Color__ parameter that controls the color of the light cast, and numerous other parameters. [Image:/images/ui/parms2.png] == Editing == tasks>> Edit a parameter value: * Click in a parameter value box and type a new value. * Press ((Alt + E)) to edit the field contents in an external editor (as defined by the `$EDITOR` environment variable). Undo to the previous value of a field: * Click ((RMB)) in the text field. Reset a value to the default: * ((Ctrl + MMB)) click the parameter. Delete animation channels on a parameter: * Ctrl-click the parameter, or right-click it and choose __Delete channels__. Change a value by dragging in the viewer: # Select one or more scoped channels in the [channel list|/ref/panes/chanlist] . # In the viewer pane, hold ((J)) and drag ((LMB)) to modify the parameter value(s), or drag ((MMB)) to show a [value ladder|/basics/ladder]. Change a value using the value ladder: # Press ((MMB)) on a parameter name or an individual edit field. The [value ladder|/basics/ladder] appears. # Drag up and down the ladder to choose the magnitude of the change. Drag left and right to change the value. == Entering expressions == tasks>> Enter a short expression directly: * Type the formula directly into the parameter's text box. Enter an expression using an editor window: * Press ((RMB)) on the parameter and choose __Edit Expression__. Switch between viewing the computed value for the current frame and the expression itself: * Press ((RMB)) on the parameter and choose __Toggle Expression__. View the animation curve generated by an expression: * Press ((RMB)) on the parameter and choose __Scope Channels__. == Lock and unlock parameters == If you want to protect a parameter from being edited, press ((RMB)) on the parameter in the parameter editor and choose __Lock Parameter__. To unlock a parameter again, press ((RMB)) on the parameter and choose __Unlock Parameter__. Locked parameters have a gray background in the edit field(s). == Text box color coding == [Include:/network/edit_field_colors] == Parameters that reference other nodes == In Houdini, various parameters contain references to other nodes instead of numeric or string values. tasks>> Insert the name of a node in a node parameter: * Type the path to the node in the parameter's text field. You can use a relative path from "this" node (the node with the parameter you're editing). * Click the [Icon:BUTTONS/chooser_node] node chooser icon next to the parameter to choose a node from a tree list of all existing nodes. * Drag a node from the network editor and drop it onto the parameter's text field to insert its name in the field. Edit the parameters of a referenced node: * Click the [Icon:BUTTONS/jump] jump icon next to the parameter's text field to jump to the referenced node's parameters in the current editor. * Ctrl-click the jump icon to edit the referenced node's parameters in a new window. This lets you quickly edit the referenced node's parameters without losing focus on the current node. == Copy, paste, and link parameter values == TIP: For parameters with multiple components (for example, a position parameter with X, Y, and Z values) you can click individual component text boxes, or click the parameter label to affect all components at once. tasks>> Copy a parameter to the clipboard: * Press ((RMB)) on a parameter in the [parameter editor|/ref/panes/parms] and choose __Copy Parameter__. Paste a copy of or reference to the copied parameter: # Use the table below to decide which type of pasting you want to do. # Press ((RMB)) on a parameter in the [parameter editor|/ref/panes/parms] and choose one of the paste items (see below). You can paste the _value_ of the copied parameter (if the parameter is controlled by an expression, Houdini will evaluate the value of the expression at the current frame and paste that), the value or expression (if the copied parameter is controlled by an expression, Houdini will paste the expression), or a reference to the copied parameter. Make one parameter relative to another: # Copy the source parameter and paste a reference in the second parameter. # Edit the channel reference expression Houdini inserted in the second parameter. For example, to make the second parameter always be the logical opposite of the source parameter, insert a `!` (logical not) in front of the [ch|Exp:ch] function. This is especially useful when you have two nodes with __Activation__ parameters (which are 1 for active and 0 for inactive) and you always want one node to be active when the other is inactive and vice versa. To make the second parameter go from 0 to 1 as the source parameter goes from 1 to 0, insert `1 - ` in front of the [ch|Exp:ch] function. This is especially useful when you have two blend factor parameters and you want them to have an inverse relationship, so as one goes up the other goes down and vice versa. To make the value of the second parameter always be the value of the source parameter plus 50, edit the expression to: table>> tr>> th>> Paste menu item th>> What it does tr>> td>> __Paste Copied Values__ td>> Pastes in the _values_ of the parameter on the clipboard. If you copied parameters with expressions, this will paste the computed values of the expressions. tr>> td>> __Paste Copied Expressions__ td>> Pastes the values and expressions of the parameter on the clipboard. Does not convert expressions to values. tr>> td>> __Paste Copied References__ td>> Pastes a reference to the copied parameter (using the [ch|Exp:ch] expression function). Unlike pasting a copy of the _value_ of the other parameter, this expression will fetch the other parameter's value every time it is evaluated, so it stays up to date with the current value of the other parameter. This command inserts an expression with an _absolute_ path to the copied parameter. To insert a relative reference instead, use __Paste Copied Relative Refs__. tr>> td>> __Paste Copied Relative Refs__ td>> Same as __Paste Copied References__, but the [ch|Exp:ch] expression uses a _relative_ path to the copied parameter, instead of an absolute path. tr>> td>> __Paste Copied Channels__ td>> Pastes a copy of the channel. Once the channel is pasted, it is independent from the original channel and can be modified without altering the original. == Presets and defaults == A Preset file contains preset values for the parameters of an operator. You can use them to fill in common values, or to save important variations of a node. Use the menu items in the [Icons:BUTTONS/gear] gear pop-up menu on the toolbar to load, save, and select presets. NOTE: Load from `.preset` File and Save to `.preset` File are older ways of saving and applying presets. Using the above methods to save and apply presets is the preferred method. However, `.preset` files are ASCII files, which are easier to edit than the `.idx` files that the new method uses, so they still have some usefulness. == About auto-scope parameters == "Auto-scoping" is a property of parameters that are commonly animated, to make using the [channel list|/ref/panes/chanlist] easier. When you select an object, the object's parameters that are already keyframed _and any auto-scope parameters_ become scoped in the channel list and channel editor. The commonly animated parameters (such as transforms) on the standard Houdini operator types have auto-scope set. To make a parameter auto-scope that isn't already auto-scoping by default, press ((RMB)) on the parameter in the parameter editor and choose __Set Auto Scope__. When you create a digital asset, you can choose which of the asset's parameters auto-scope in the __Parameters__ pane of the asset's [type properties window|/ref/windows/optype] . See [how to set up parameters on an asset|/assets/asset_ui] and [how to turn a character into a digital asset|/char/make_asset]. @related - [Animating parameters|/anim/basics] - [Creating variations with takes|/basics/takes]