HIK character structure

 
 
 

The HIK solver expects the nodes of a character to be connected in certain typical arrangements. For example, the right shoulder is a parent node of the right elbow, which in turn is a parent node of the right wrist. The HIK bio-mechanical model is equipped with knowledge about the ways these nodes are able to move; when the solvers need to move one or more nodes to meet the requirements of an IK effect or a source animation at runtime, they use this built-in knowledge to construct new poses.

In order for HIK to apply this bio-mechanical model to your characters, you need to map the nodes understood by HIK to joints in the skeleton of your character.

At a minimum, you must characterize all fifteen nodes required by HIK. This identifies the main elements of your character. You cannot use HIK to control your character at runtime if you do not provide a characterization for these fifteen required nodes. In the Definition tab, you cannot save or lock a characterization until you have successfully mapped all of these required nodes.

It is recommended that you also map as many other bones in the skeleton of your character as possible to other optional HIK nodes. This enhances the quality and believability of the poses constructed by HIK at runtime. The following sections guide you on deciding what bones you should map to what nodes.

Required nodes

The fifteen nodes required by the HIK solver display in the full-body layout of the Character view, and are grouped together in the Required group of the Name Match view.

HIK nodes A. RightHand B. RightForeArm C. RightArm D. Head E. LeftArm F. LeftForeArm G. LeftHand H. Spine I. Hips J. RightUpLeg K. RightLeg L. RightFoot M. LeftUpLeg N. LeftLeg O. LeftFoot

These required nodes identify the main joints in the skeleton of your character: its ankles, knees, hips, spine base, shoulders, elbows, wrists and head. Figuring out which bone in your skeleton map to each of these nodes is straightforward:

Node Maps to
Hips The bone that is the parent of spine and leg chains in your character.
LeftUpLeg and RightUpLeg The first bones in upper legs of your character.
LeftLeg and RightLeg The first bones in lower legs of your character.
LeftFoot and RightFoot The first bones that extend from ankles of your character into its feet.
Spine The first bone in the spine that is above the bone you map to the hips node. Represents the base of the spine.
LeftArm and RightArm The first bones in upper arms of your character.
LeftForeArm and RightForeArm The first bones in forearms of your character.
LeftHand and RightHand The first bones that extend from wrists of your character into its hands.
Head The last full bone in spine of your character, not the tip of the head, but the last full bone in the neck chain. This is typically the bone that controls the skinning of the head.
NoteTwo optional nodes are also shown in the full-body layout: the Reference and HipsTranslation nodes. For details on these optional nodes, see Special nodes below.

Spine and neck nodes

The HIK solver supports up to nine additional spine nodes (Spine1 to Spine9), and up to ten neck nodes (Neck, plus Neck1 to Neck9). These nodes are numbered from bottom up, with lower numbers closest to the hips and higher numbers closer to the head.

Hand and foot nodes

Hands and feet are exactly equivalent in HIK; each foot and each hand can contain the same types of joints. However, you define each of the feet and hands of your character independently. This allows for greater complexity within each character. For example, a pirate character could have one peg-leg with no joints at all below the ankle, one booted foot with a single joint at the base of the toes but without fully articulated toes, one fully articulated hand, and one injured hand missing some fingers.

Finger and toe nodes

The Definition tab lets you configure up to six toes or fingers for each foot and each hand. From left to right, the usual fingers and toes are referred to as the Thumb, Index, Middle, Ring and Pinky respectively. HIK also supports the use of an extra sixth toe or finger, referred to as ExtraFinger. However, the joints in the remaining fingers, as well as those of the right hand, left foot and right foot, follow the same naming conventions.

Finger-base and toe-base nodes

The optional finger-base and toe-base nodes provide joints inside the hands and feet of your character, at the points where the fingers and toes bend. These nodes are used most often in situations where the full articulation of each toe or finger is not required, but where bending the hand or foot at the location of the knuckles increases realism. For example, in the case of a human character with a closed shoe, the toe-base node allows the foot to bend like a hinge at the base of the toes, even though no nodes are defined for the individual toes.

Special nodes

In addition to the nodes discussed above, HIK supports the following nodes for special effects.

Shoulder and ShoulderExtra nodes

HIK offers two shoulder nodes on each side of the body, which can help to simulate the movements of shoulder of a human as the arm rotates and raises.

If your skeleton contains bones that lie between the spine and the bone that is mapped to the LeftArm or RightArm node, you can map those bones to the LeftShoulder, RightShoulder, LeftShoulderExtra and RightShoulderExtra nodes. You must map the shoulder node first; you can only map the LeftShoulderExtra node if you have already mapped the LeftShoulder node.

Roll nodes

Roll nodes let you map bones of upper arms, lower arms, upper legs and lower legs for your character. Whenever a HIK solver applies roll rotation to a node that has a child roll node, a percentage of that roll rotation can be extracted from the parent node and applied to the child roll node instead. This process is referred to as roll extraction. Roll extraction simulates the way biped and quadruped arms and legs actually rotate around their axes. It can enhance the realism of the animations created for skinned characters by controlling skin deformations from more appropriate positions further along the limb.

Reference

This node is intended as an optional repository for the overall translation, rotation and scale of your character. Consider it an abstract parent to the hips of your character.

In most cases, you do not need to use the Reference node. It is intended primarily for certain specific situations, such as:

  • When the hips of your model have a parent that defines the overall translation, rotation and scaling of the character. In this case, it can be convenient to use the Reference node to synchronize data from that parent into HIK.
  • When you are retargeting animation, you can instruct HIK to force the target character to follow the scale of the movements of your source character exactly. In this case, using the Reference node is the only way to modify the overall translation, rotation and scaling of the target character.

HipsTranslation

This node is used as an independent repository for the translation of the hips of your character. If you characterize this node for your character, and the HIK solver needs to offset the translation of the Hips node of your character, the resulting translation is stored back in the bone that is mapped to the HipsTranslation node rather than the bone mapped to the Hips node.

By default, the rotation of the hips is still stored in the Hips node, even when the HipsTranslation node is characterized. However, you can configure HIK to store the rotation of the hips in the HipsTranslation node instead. You can also use the HipsTranslation node to retarget the trajectory of a source character to a target character.