One of the most important features of Softimage is its layered approach to animation. Each layer represents a different level of control, from keying a single parameter's value to copying animation from one character to another. This allows you to easily manage complex animation yet retain the ability to work at the most granular level.
It is important to understand the hierarchical nature of the control levels. Each level provides tools that are compatible with and make use of any levels below it. Tools can use other tools from any of the lower levels internally, but not from higher levels. For example, you can use the animation mixer to blend actions together in a transparent manner, whether the action contains function curves, constraints, or expressions.
You can also create layers of keyframes to mix with other layers of fcurves or with high-level animation that's in the animation mixer. For information, see Animation Layers.
Animating at a low level means getting down to the parameters of an object and animating their values. And in Softimage, almost every parameter can be animated. While low-level animation techniques may be methodical in some ways, they are also powerful in the amount of control you can have.
Keyframing is the most common method of direct animation, but you can also use path animation, constraints, linked parameters, expressions, and scripted operators for "indirect" animation. These methods help speed up the animation process by creating relationships between parameters. As a simple example, you can set a constraint between one object and a multitude of objects, and then just animate that one object to have the multitude follow.
For more information on low-level animation, see the rest of sections in this part called Animation; for information about scripted operators, see Scripted Operators [Customization].
Animating at a high level means that you are working with animation information in a way that is nonlinear (independent of the timeline) and non-destructive (all animation work does not destroy the original animation data).
High-level animation is done using the animation mixer, whether it be animation coming from function curves and expressions or from shapes that you've stored. Any type of animation that you generate can be stored and reused later, on the same or a different model. As well, you can mix different types of animation together at the same time and determine their weighting.
For more information on using the animation mixer, see Nonlinear Animation in the Animation Mixer for more information.
If you're animating an object using a number of different techniques, you need to understand how the different animation operations take precedence over each other. This is only an issue if you have more than one type of animation on the same parameter.
Function curves (keys), expressions (including linked parameters which are a special type of expression), and scripted operators are the base level.
Mixer connections take precedence over the base level. This is true unless you select a special option for blending fcurves with action clips over the same frames.
Constraints (not including up-vectors and tangents, which aren't "real" constraints) take precedence over mixer connections.
For example, if you have fcurves and an action source (in the mixer) driving a parameter and don't use the special blending option, the mixer takes precedence over the fcurve.
There are two special cases involving animation on different parameters:
Inverse kinematics (animation on a chain end effector's position) overrides forward kinematics (animation on a chain bone's rotation), no matter how the parameters are animated. However, you can blend inverse and forward kinematics on the same bone.
Global transformations override local transformations, no matter how the parameters are animated.