| Since | 21.0 |
This component sets up a hand with FK and IK fingers. The IK controls for the fingers are set up by turning on the Piano Hands parameter.
In the viewport, the menu provides configuration options for the hand component. See the gear menu for the different types of interaction elements.
To set up the hand component:
-
Add the following tags to the hand:
-
Hand tags for all the joints.
-
Tags for each finger segment. These tags are needed to set up IK finger controls.
Tags for the hand See the Rename Subsegments parameter if you want to add generic tags to your fingers, for example,
pinkyinstead ofL_pinky. -
-
Specify the hand segments in the Driven tab, Hand Segments parameter, for example,
*hand. -
The following FK controls are added to the fingers. The selection handle selects all the FK joints for the finger so you can easily pose the entire finger using FK:
FK finger controls -
To set up IK finger controls:
-
Specify the finger segments in the Driven tab, Finger Subsegments parameter, for example, “
*thumb *middle *pinky *ring *index”. -
In the Settings tab, turn on Piano Hands. When Piano Hands is turned on, the following options are available in the component’s
menu:
-
An IK/FK button that switches between FK and IK finger controls.
-
A slider that blends between FK and IK for the fingers.
-
-
-
The following IK controls are added for the fingers. The IK finger controls are parented to the tip selector. When you move the tip selector, all the IK controls move along with it:
IK finger controls
Parameters ¶
Name
The name to add to the nodes created by this component.
Settings ¶
The parameters in this section provide the settings for the IK fingers when Piano Hands is turned on.
Piano Hands
When turned on, adds IK controls for the fingers. To set up IK controls for the fingers, you must tag the finger joints and specify the finger segments in Finger Subsegments.
Flip Selection Handles
When turned on, flips the display of the finger selection handles. Clicking a selection handle selects all the FK controls for the finger.
Dampen
A larger value dampens the effect of the IK solve, smoothing its snapping effects at the cost of accuracy.
Stretch
A larger value allows more stretch for the IK chain when the target is beyond the length of the chain.
Tracking Threshold
Sets the accuracy of the solve. A higher value is faster but less accurate.
Use Twist
When turned on, uses the pole vector to twist the IK chain.
Level Root
When turned on, sets the root controls to world orientation.
Level Pole Vector
When turned on, sets the pole vector controls to world orientation.
Level Tip
When turned on, sets the tip controls to world orientation.
Use Goal Rotation
When turned on, uses the goal rotation for the target orientation. When turned off, uses the solver’s position for the target orientation.
Resist Straight
When turned on, resists straightening of the IK chain.
Pole Vector Offset
The amount to offset the pole vector in the direction of the middle joint (between the root and tip). The IK chain must be slightly bent for this to work.
Driven ¶
Hand Segments
Segments are tags that separate each hand. For example, *hand loops over tags L_hand and R_hand. Tags can be set up on skeleton joints using an Attribute Adjust Array SOP. See preparing skeletons for rigging for more information.
If segments is empty, the hand logic is run once.
Note
The segments parameter does not take APEX path patterns, for example, the #<tag> function. Instead, specify the tag names directly in this field.
Finger Subsegments
Tags that separate each finger. This is required to set up IK for the fingers (when Piano Hands is turned on).
Rename Subsegments
A pattern that specifies how to rename the finger segments in a hand. You can use this if your finger segments have a generic tag name like pinky, as opposed to something like L_pinky and R_pinky.
For example, let’s say you've tagged the following joints in your skeleton:
-
Hand joints (including the wrist and finger joints) with tags
L_hand_upperandR_hand_upper. -
Finger joints on both hands with tags
thumb,index,middle,ring, andpinky.
Set Hand Segments to *hand* and Finger Subsegments to “thumb index middle pinky ring”.
In this parameter, specify the part of the hand segment name to strip off, leaving a prefix and/or suffix that is then added to the finger segment name. For example, if you set Rename Subsegments to *hand*, the part of the hand segment name before hand is the prefix that is added to the finger segment name, and the part after hand is the suffix that is added to the finger segment name. In our case, the finger segment pinky on the left hand would be renamed to L_pinky_upper.
If the fingers segments don’t have generic names, or this is left empty, the finger segments are not renamed.
Driver ¶
IK Root Name
The name of the root control of the IK fingers.
IK Pole Vector Name
The name of the pole vector of the IK fingers.
IK Target Name
The name of the target control of the IK fingers.
Thumb ¶
Thumb
The thumb joints to set up a look at control for. This parameter accepts APEX path patterns, so you can add tags to the thumb joints and specify tags in this field, for example, #thumb.
Meta ¶
You can add metacarpal controls to your fingers by specify finger joints in Meta. The metacarpal controls are a look at from the metacarpal joint to the knuckle, where the control at the metacarpal joint is the driver, and the control at the knuckle is the target:
Note
The driver control is only visible in FK mode.
The Piano Hands parameter must be turned on for metacarpal controls to be added to the hand.
Meta
The fingers to add metacarpal controls for. You can specify any finger joint, and this adds metacarpal controls for the finger. This parameter accepts APEX path patterns, so you can add tags to the finger joints and specify tags in this field, for example, “#meta %tag(*pinky) L_index_01”.
Note
The joint hierarchy of the hand is important for metacarpals. The parent of the knuckle joint must be the metacarpal joint, and the parent of the metacarpal joint must be the main control of the hand. The metacarpal joint should only have one child.
Up
The up vector of the look at constraint.
Parent ¶
Root
The parent of the hand controls. When empty, the hand is parented to the main control of the hand (the control at the hand joint, like the IK arm control at the hand). To unparent the hand controls, set this parameter to an underscore (“_”).
Tags ¶
Shape ¶
The APEX Configure Controls SOP provides more options for changing the look of the controls.
Shape
The shape of the root controls of the IK fingers. It can be set to any of the built-in APEX control shapes.
Color
The color of the control shapes.
Rotate
The rotation of the FK finger control shapes.
Scale
The scale of the control shapes.
| See also |