The following page provides an overview of the various major components of the 3ds Max CAT animation system, their Function Publishing Interfaces and possible MAXScript access approaches.
The CATParent Helper Object stores the common shared information about a character rig including the name of the rig and the [CATUnits Ratio] value.
It also holds the layers system details including the name of each layer and its global weight.
It provides some useful arrays listing all controllers and all nodes used in the rig for fast iterations through all components using MAXScript.
The CATParent exposes the following two Function Publishing Interfaces:
Interface: CATParentFPInterface
Interface: LayerRootFPInterface
In order to create a new character using a pre-saved Rig file, one could simply create a new CATParent Helper and call the LoadRig() function of the CATParentFPInterface:
3ds Max CAT can be describe dasa hierarchy of controllers andnodes. Each bone is represented by a controller (CATControl) managingthe bone's behavior, animation and functionality, and a CATBone scene object used mainly for display, Skin Deformations and rendering purposes.
Every bone controller in the CATRig structure exposes the CATControlInterface. This means that every bone can return the CATParent and a name and can be used to save or load clip files or paste a layer.
You can use the .CATPatent property exposed by the CATControlInterface to access the CATParent from any CATBone. In other words, if you have a pointer to a finger or an arm bone, you can easily find out the CATParent and perform all the loading, saving and layer operations using it.
Every bone controller also exposes the CATNodeControlFPInterface interface which provides properties and methods related to arbitrary bones management, transformation matrix access in various coordinate systems etc.
The ExtraRigNodesInterface lets you ad dand remove extra rig nodes and access the array of extra rig nodes.
You can always access the corresponding scene node of a bone controller by using its .node property:
Internally, an "Extra" bone is called an "Arb" (shot for "Arbitrary") bone.
An ArbBone has no predefined use, unlike digit, limb, spine or tail bones which provide respective built-in behavior to simulate fingers, arms, legs, spines and tails.
The Hub is a special bone where multiple specialized bone groups like limbs, spines and tails can be connected to the rig.
The Hub bone exposes a unique HubFPInterface for features available only to Hubs. This includes the adding of spines, arms, legs and tails.
Limbs are bones dedicated to the creation of arms and legs.
All Limb Bone controllers expose the following Interfaces:
Tail bone controllers are dedicated to the creation of tails.
The TailTrans controller expose the following Interfaces:
Interface: CATControlInterface
Interface: CATNodeControlFPInterface
All CATBones use a CATObject to display their geometry in the viewport.
The CATObject exposes the CATObjectFPInterface which provides control over the custom mesh display.