IK_ControllerMatrix3Controller : Matrix3Controller

The functions described in this topic provide access to some of the Inverse Kinematics (IK) parameters of the IK controller. The IK controller is typically used by the Bones system in 3ds Max. You cannot create a Bones system using MAXScript in 3ds Max 3, but these methods provide access to the IK controller for existing Bones systems. An IK system actually consists of two types of controllers - the master IK controller and slave IK controllers. The slave IK controllers are used as the transform controller for all nodes in the IK system, and the master IK controller controls the individual slave IK controllers.

All the IK-related methods are in the ik structure and are associated with a parameter in the Motion panel, IK Controller Parameters rollout. These functions return undefined if executed on an object whose controller is not an IK controller. The controller actually being accessed in these methods is the master IK controller. Accessing the IK controller for any object in the IK system accesses the same master IK controller.

Note:

The following ik structure methods are still present, but not applicable in 3ds Max 4 and higher. Getting/setting via these methods return a value of ‘undefined’:

GetRotThreshold

SetRotThreshold

GetPosThreshold

SetPosThreshold

GetIterations

SetIterations

 

ik.GetPosThreshold <node>

ik.SetPosThreshold <node> <float>

Get and set the Position threshold value for the specified object.

ik.GetRotThreshold <node>

ik.SetPosThreshold <node> <float>

Get and set the Rotation threshold value for the specified object.

ik.GetIterations <node>

ik.SetIterations <node> <integer>

Get and set the Iterations value for the specified object.

ik.GetStartTime <node>

ik.SetStartTime <node> <time>

Get and set the Start time for the specified object

ik.GetEndTime <node>

ik.SetEndTime <node> <time>

Get and set the End time for the specified object

ik.getPinNode <node>

Gets the node the specified node is bound to in the IK panel as a <node> value, undefined if none.

ik.setPinNode <node> (<node> | undefined)

Sets the node the specified node is bound to in the IK panel. If undefined is specified, the node is unbound. Returns true if the bind was successful, false otherwise.

ik.getPrecedence <node>

Gets the precedence of the node as specified in the IK panel as an <integer> value

ik.setPrecedence <node> <number>

Sets the precedence of the node as specified in the IK panel. Returns true if the assignment was successful, false otherwise.

ik.getIsTerminator <node>

ik.setIsTerminator <node> <boolean>

Get/set whether the node is a terminator.

ik.getBindPos <node>

ik.setBindPos <node> <boolean>

Get/set whether Bind Position is turned on for the node.

ik.getBindOrient <node>

ik.setBindOrient <node> <boolean>

Get/set whether Bind Orientation is turned on for the node.