Precedence (HD Solver)

You can use the three joint precedence controls to alter how the IK Solution is calculated.

The default joint precedence is 0. This is suitable for many IK solutions. It assumes that joints closest to where a force is applied (the end effector) will move more than joints farther from the force.

Child->Parent

values are calculated by assuming the root of the entire hierarchy has a precedence value of 0 and each child has a value equal to 10 times its depth from the root. In a four-object hierarchy starting with the root, the values would be 0, 10, 20, and 30.

Parent->Child

values are calculated by assuming the root of the entire hierarchy has a precedence value of 0 and each child has a value equal to 10 times its depth from the root. In a four-object hierarchy starting with the root, the values would be 0, –10, –20, and –30.

  • Default joint precedence occurs whenever all joints in the kinematic chain have the same precedence value. Assigning a value of 100 to all objects in the kinematic chain is exactly the same as assigning a value of 0.
  • An IK chain of three objects with precedence values of 0, 30, and 200 would have the same solution if the precedence were changed to be 1, 2, and 3.

Procedures

To assign a precedence value to an object manually:

  1. Select an object in an HD IK Chain.
  2. On the Hierarchy panel, open the Object Parameters rollout.
  3. Enter a value in the Precedence field.

To assign Child->Parent precedence to all objects in a kinematic chain:

  1. Select all objects in an HD IK chain.
  2. On the Hierarchy panel, open the Object Parameters rollout.
  3. Click Child->Parent.

To assign Parent->Child precedence to all objects in a kinematic chain:

  1. Select all objects in the kinematic chain.
  2. On the Hierarchy panel, open the Object Parameters rollout.
  3. Click Parent->Child.

To reset the default joint precedence:

  1. Select all objects in the kinematic chain.
  2. On the Hierarchy panel, open the Object Parameters rollout.
  3. Set the value in the Precedence field to 0.

Interface

Three controls set precedence:

Precedence

Manually assigns precedence values to any object in the IK chain. High precedence values are calculated before low precedence values. Precedence values that are equal are calculated in Child->Parent order.

Child->Parent

Automatically sets joint precedence to decrease in value from child to parent. Causes joints closest to where a force is applied (the end effector) to move more than joints farther away from the force.

You almost always assign Child->Parent precedence to an entire kinematic chain.

Child->Parent behaves like the default precedence settings but is more flexible if you want to go back and manually change the settings.

Parent->Child

Automatically sets joint precedence to decrease in value from parent to child. Causes joints closest to where a force is applied (the end effector) to move less than joints farther away from the force.

You almost always assign Child->Parent precedence to an entire kinematic chain.