In Autodesk Softimage, there are basically three types of animation, generally grouped into the following animation levels:
Low-Level (Parameter-Based) Animation
This type of animation involves some kind of data directly attached to a parameter driving its value. Since it happens at the parameter level, which is the lowest customizable element in Softimage, it is generally called low-level animation.
Typical examples of low-level animation are:
FCurves (keyframing)
These types of animation form the building blocks of the third type of animation, Nonlinear Animation.
Basic animation tasks involve working at the parameter level. For example, setting keys on an FCurve. The following table provides links to the reference pages for many of the SDK tools you can use to help accomplish these tasks:
Character Animation involves building skeletons and enveloping them, setting IK/FK constraints on their joints to simulate natural movement, and then keyframing their movement. Some issues pertaining to Envelopes are covered in this chapter.
When creating more complex characters, usually control rigs are used. You can make your own character rigs using the SDK's Character Development Kit (CDK).
Nonlinear Animation is another layer of abstraction: it basically involves wrapping low-level and shape animation in a special container called a source and then using that source to instantiate a clip in the Animation Mixer. That is, a version of the source animation that can be modified independently of the original source. The other benefit of the mixer is that, as its name suggests, you can use it to build transitions between clips, apply weighting, cycle and warp clips, etc.
High-level animation tasks are often related to the Animation Mixer and its basic components, Sources and Clips. For example, creating clip effects. The following table provides links to the reference pages for many of the SDK tools you can use to help accomplish these tasks:
Radians vs. Degrees (Rotations)
Something important to remember when working with rotations is that scripting commands process rotation data as degrees whereas the object model and the C++ API process rotation data as radians. To help cope with converting between these systems, the SDK provides some conversion functions: