MAXScript Language Reference > 3ds Max Objects > Animation Controllers > Inverse Kinematics >

# HD IK controller chains can be assigned to existing hierarchies

| Animation Controllers - Quick Navigation

The IKChainControl uses a boolean controller for turning the IK solver on/off. On/off implies an opposite referencing structure. When it is on, joints reference the ik goal, whereas when it is off, the goal references the end joint, ie. the goal has to snap to the end effector. This means that the direction of message propagation is decided on the state of this boolean controller. To avoid evaluating an animatable attribute during message propagation, we require that this controller cannot be replaced by a possibly arbitrarily wired controller.

HD IK controller chains can be assigned to existing hierarchies.

Prototype:

    HDIKSys.ikChain <startJoint> <endJoint> <assignEE>

    <startJoint>

The first node in the new chain, called the ancestor.

    <endJoint>

The last node in the chain, called the decendent.

    <assignEE>

A boolean parameter: when TRUE, a position end effector is created at the endJoint.

EXAMPLE
If 4 boxes existed in the scene and Box02 was a child of Box01, Box03 was a child of Box02, and Box04 was a child of Box03:

    HDIKSys. ikChain $Box01 $Box04 TRUE
would assign HD IK controllers and create anend effector at Box04.

## Pos/Rotation/Scale Property Access

Pos/Rotation/Scale properties of the nodes are accessible immediately. Instead of writing $node.transform.controller.ik_goal.controller.pos, you can say, in MAXScript, $node.pos.controller, etc.

Note

Both IKControl and IKChainControl can not be instanced.

#### See Also

- IKChainControl : Matrix3Controller

- Interface: HDIKSys

- Interface: IKSys

- IKLimb Solver