The Parameter Wiring dialog allows you to define the relationships for
Wire Parameters. In this dialog, you can create new one and two-way control relationships between object parameters, edit existing relationships, and create or edit expressions which define the parameter relationships.
Only parameters that can be animated can be wired. Sub-objects, such as vertices, must be animated before they can be wired.
Parameter wires can be used to establish connections from
Manipulators and
Custom Attributes to objects, materials, and modifiers.
Note: Parameter Wiring is a
modeless dialog, and you can have several dialogs open at the same time.
Procedures
Example: To use an expression with wire parameters:
- Create a box and a sphere in your scene.
- Right-click the box, and from the quad menu choose Transform quadrant Wire Parameters.
- From the pop-up menu, choose Object (Box) Length.
A rubber-band dashed line now connects the box and the mouse cursor.
- Click the sphere and choose Transform Position Z Position from the pop-up menu.
The position of the sphere and the length of the box are now wired.
- In the Parameter Wiring dialog, create a one-way wire by clicking the arrow pointing toward the box’s tree view.
- Type
abs( before Z_position, followed by a closing parenthesis,
), in the expression text box for Box01, so that the entire expressions is
abs(Z_Position).
- Click Connect.
- Move the sphere upward along the Z axis in the viewport.
Notice that as the sphere moves in the viewport, the length of the box changes. Using abs() ensures that the box never has a negative length.
To control several driven parameters from one driver parameter:
- Open the Parameter Wiring dialog.
- Choose the driver parameter in the tree view.
- Choose the first driven parameter in the other tree view.
- Click the arrow pointing toward the driven parameter.
- Enter the desired relationship expression in the expression text box.
- Click Connect.
- Keeping the driver parameter selected, choose another driven parameter from the tree view.
- Click the arrow pointing toward the driven parameter.
- Enter the desired relationship expression in the expression text box.
- Click Connect.
You can repeat this cycle to set up as many driven parameters as you want. The result is a “fan” of parameter wires, so that you can control all of the driven parameters at once as you change the driver parameter.
To create a chain of wired parameters:
- Open the Parameter Wiring dialog.
- Choose the first controlling parameter in one tree view.
- Choose the first driven parameter in the other tree view.
- Click the arrow pointing toward the driven parameter.
- Enter the desired relationship expression in the expression text box.
- Click Connect.
- Keeping the original driven parameter selected, choose the next driven parameter from the tree view.
- Click the arrow pointing toward the new driven parameter.
- Enter the desired relationship expression in the expression text box.
- Click Connect.
You can repeat this cycle, continuing to alternate driven parameters to driver parameters as many times as you like. The result is a “daisy chain” of parameter wires, so that as you modify the original driver parameter, each driven parameter maintains a constant relationship with the next in a line of parameters.
To edit wired parameters between scene nodes:
If you create or inherit a scene containing wired parameters and want to edit a particular relationship, you can use
Schematic View to find the relationship and open it in the Parameter Wiring dialog.
Note: This procedure covers editing parameter wiring between scene nodes. To edit wiring within a single node, such as between an object's creation parameters and its modifier parameters, see the following procedure.
- Open a scene containing multiple nodes with one or more pairs of wired parameters between them.
- Open the Schematic View dialog by clicking
on the main toolbar.
Schematic View opens showing the scene nodes and the Display floater.
Tip: If you don't see the Display floater, open it from the Display menu in Schematic View.
- On the Display Floater, click the Param Wires button to turn it on.
Any wires between nodes appear as lines of the same color as the Param Wires button.
- Position the mouse cursor over one of the wires.
The wired relationship appears in a tooltip.
- When you find a relationship you want to edit, double-click its wire.
This opens the Parameter Wiring dialog with the wired parameters highlighted and the current settings active.
- Adjust the settings as desired and then click Update.
- Repeat the process with any other wired parameters you want to edit.
To edit wired parameters within a single scene node:
If parameters are wired within a scene node, such as an object's position to a parameter of a modifier applied to the object, the wiring might not be readily apparent in Schematic View. However, you can use additional Display options to expose the wiring.
Note: This procedure builds on methods described in the preceding procedure.
- Open a scene containing parameter wiring within a single node. For example, an object with a Bend modifier applied might have its X position wired to the Angle parameter of the Bend modifier.
- Open the Schematic View dialog by clicking
on the main toolbar.
Schematic View opens showing the scene nodes and the Display floater.
Tip: If you don't see the Display floater, open it from the Display menu in Schematic View.
- On the Display floater, click the Param Wires button.
Nothing changes because the parameter wiring is internal to the object. Its internal structure needs to be expanded to see the wiring.
- An unmodified object typically has two sets of parameters you can wire: transforms and creation parameters, also known as Object parameters. The following illustration shows the two types: Transform above and Object below.
For Schematic View to show such a wire, it's necessary to turn on these Display floater switches, in the Entities group:
- Base Objects (exposing the creation parameters)
- Controllers (exposing the transforms)
- The relevant transform(s): P(osition), R(otation), and S(cale)
The following illustration depicts a link between an object's position and its radius:
- If a modifier parameter is wired, it's necessary to turn on the Modifier Stack switch on the Display floater. The following illustration shows a link between an object's position and the Angle setting of a Bend modifier applied to the object. Some of the modifier parameter hierarchies were collapsed for clarity.
- In all cases, once you've exposed enough parameters for the wires to appear, position the mouse cursor over a wire to see the relationship, and double-click a wire to open the Parameter Wiring dialog with the relationship highlighted.
Interface
Tree Views
The dialog presents two tree views that display the animatable parameters of all of the visible objects in the scene. The names of the currently selected objects appear at the top. The tree views display the objects in the scene and allow you to select and wire all of the animatable parameters of the objects in the scene and the scene itself.
The tree views are color-coded to show existing wiring. A parameter with a wire controller assigned to it (either as the member of a two-way pair or as the driven parameter in a one-way wire) displays in red. When a wire-controlled parameter is selected, all of the parameters wired directly to it are displayed in green text in the other Tree View. In either case, if the parameter is inside a track that is not expanded, the enclosing track will display in red or green, so you can expand the tracks to find the wires.
Note: If you open the Parameter Wiring dialog by wiring two parameters, the tree views initially display only the selected objects, highlighting the parameters that you chose from the pop-up menus during the wiring procedure. If you want to expand the trees, to include all other animatable parameters in the scene, click Show All Tracks.
Note: Only parameters of compatible type can be connected. If incompatible parameters are selected, the connection type buttons are greyed out, and a tooltip indicates that the parameters are incompatible.
The buttons above the tree views are:
-
Show All Tracks
- Brings you to the top of the scene object list.
-
Find Next Parameter
- Finds the next wired parameter in the scene, expanding the tree if necessary to show and select it. You can browse through all existing wires by clicking this button repeatedly.
Note: If you click a wired parameter, its connections are shown in green on the other tree view. While the wired parameter is highlighted, the Show Next Wire button on the other tree cycles through the green connections only, so you can quickly find the selected wire’s connections.
-
Refresh Tree View Content to Selected Node
- Shows only the node or nodes that are selected in the scene in the tree view. The nodes are shown as currently exanded.
- [object name]
- For each tree view, this text field shows the name of the object you chose.
- Driver radio buttons The Parameter Wire system provides a way for the pair of wired parameters to be animated as a single system. It does this by setting up a subcontroller on one of the parameters: Any animation on this controller drives the Wire Controller pair. The animation subcontroller is always assigned to the driver parameter of the wired pair. By default, this is the parameter that you click first when you wire objects. You can also designate the driver object by choosing the Driver radio button beneath one of the tree views.
In Track View, the animation subcontroller appears as a nested track inside the driver parameter’s track. Its values directly drive and match the driver parameter values. If the subcontroller is keyframable (which is the default when a two-way wiring is first established), you can keyframe it by adjusting
either of the wired parameters. This means that if you keyframe the wired pair by adjusting the non-driver parameter, the values keyframed into the animation subcontroller are derived from the driver parameter transfer expression. Since the wired pair can be animated through either parameter, the choice of driver parameter is essentially just a convention.
- control direction
-
Between the tree views are three direction-control buttons. You can choose only one of these at a time. These buttons determine the direction of control, either one-way or two-way:
-
Two-way connection [two-headed arrow] Click this to link both parameters to each other, so that changing either parameter affects the other.
-
One-way connection: right parameter controls left parameter [left arrow] The right parameter controls the left parameter.
-
One-way connection: left parameter controls right parameter [right arrow] The left parameter controls the right parameter.
Note: You can change the direction of a wire at any time by clicking the desired direction button and then clicking Connect or Update.
-
Connect/Update
-
The Connect/Update button changes its label depending on whether clicking it would add a new wire to previously unwired parameters (Connect) or change an existing wire’s expressions or direction (Update). Changes to existing wires are only applied when you click Update.
-
Disconnect
-
The Disconnect button is enabled when you’ve selected parameters with an existing wire between them. It will remove the wire controller(s) and replace them with the driver parameter’s animation track (if two-way) or with default controllers (if one-way).
[transfer expression windows]
Underneath the parameter trees are the transfer expression windows. These expressions determine how a changes to each parameter affects the other. Usually one expression is the inverse of the other. (You can enter expressions for the two parameters that are not inverses of each other, but this is discouraged because then the result of the wiring will be different depending on which parameter you change first.)
When you first wire the parameters, the default expressions are simple 1-to-1 links between the parameters. You can edit the expressions in these windows. A valid expression yields a result of the correct type for its parameter. For example, if you link a parameter such as height (which contains a float value) to a parameter such as position (which contains a point3 value), your expressions must include conversions that produce the same output value type.
For more information on expression syntax, see the topic “Script Controllers” in the
MAXScript Help.
For one-way wires, the expression window for the controlling parameter is unavailable, since there is no Wire controller assigned to it.
For two-way wiring, both transfer expression windows are enabled.