# Introduction Once you have modelled objects, you can then animate their various parameters such as position, size, shape, material, texture, and so on.

You can also animate the lights and camera in your scene, and even animate other effects such as atmospheric conditions.

The basic method of creating animation in SOFTIMAGE 3D is called keyframing.

Keyframing means that you specify parameters for an object such as its position, scaling, rotation, colour, etc. at a specified frame.

# Interpolation

After you create two keyframes, SOFTIMAGE 3D automatically calculates the frames between the keyframes. This process is known as interpolation.

The interpolation between changes in objects or conditions are graphed (mathematically plotted) as variables that can be measured over time.

When the points on the graphs are connected, they create a function curve (often called an fcurve) for each variable.

# Keyframing

Keyframing creates function curves by interpolating values between keyframes you define.

To define a keyframe, you set numerical values for parameters at specific frames. For example, if an object is described as large and red at frame 1 and small and yellow at frame 10, these two frames are defined as keyframes. Keyframing, combined with interpolation, allows you to create complex transformations with a minimum of manipulation.

# Function curves Function curves (fcurves) allow you to edit animated parameters -- those for which you have defined keyframes.

A function curve is a graphic representation of the relationship between time and the value of an animated parameter. This is displayed in the Function Curve window. Shown above are fcurves for the red, green and blue values of a material which changes color over time (The fcurve for red values is selected and therefore appears white).

You may edit fcurves directly, by moving the blue keyframe points or adjusting their handles to change the shape of the curve. You may also choose different types of interpolation to either smooth out the curve or sharpen angles.

Different shapes of fcurves describe certain types of motion or change.

The basic types of motion include: no motion. constant motion, acceleration, and deceleration. No Motion fcurves define the object as not moving.

Constant fcurves define the speed to be at a constant rate for the whole motion.

Acceleration fcurves define that the object gains speed over the length of the motion.

Deceleration fcurves define that the object loses speed over the length of the motion.

Fcurves can describe the scaling, rotation, and translation of an object's motion.

Keyframing the scaling, rotation or explicit translation generates a set of three fcurves which describe the changes over time with respect to each of the three coordinate axes x, y and z. The illustration above shows the three fcurves for the bouncing ball's translation along each of the three axes (white for the x-axis, green for the y-axis and blue for the z-axis) over time.

A new feature of SOFTIMAGE version 3.5 was the ability to save keyframes for translation, scaling and rotation on "All" axes or on the "X, "Y" and "Z" axes separately. # Path animation

Translation can also occur along a path, represented by a curve. The animated object's translation is described entirely by this curve, so you don't have to explicitly specify the translation along the x, y and z axes. With path animation only one fcurve is generated, describing the progression of the object along the path.

A Translation Fcurve describes the amount of the path distance travelled as a percentage of the entire path -- 0% corresponds to the start of the curve; 100% corresponds to the end of the curve. The Fcurve illustrated above shows that the ball starts out at no motion, accelerates to a constant speed along the path, and then decelerates to a stop at the end of the path.

What if you want to customize the way an object moves along the path, to speed it up or slow it down? You can edit the fcurve, using the interactive fcurve editing techniques.

# Expressions

The Expressions menu cell provides commands that let you apply math functions to any animated parameter in SOFTIMAGE 3D. Expressions can be used to create custom constraints, to generate or edit function curves in the Fcurve window, or to define complex combinations in channels connections. Expressions can also be used to define complex queries in the Spreadsheet.

# Constraints

Constraints allow you to constrain objects, lights, and cameras to another object. This is very useful for creating complex behaviour by having an object react automatically to another's animation.

The Constraint->Relax command allows you to remove any constraint that is applied to the selected object.

It is possible to have more than one constraint applied to a particular object at the same time. When more than one constraint is active at the same time on an object, the average value of the constraints is used.

You can constrain an object's position (center), rotation, direction, and scaling as well as other attributes. Here are a few examples of different types of constraints : Tangency Constraint allows an object to remain tangent to a given curve (the x-axis points in the direction of the tangent).

If the curve is used as a path for the object, the object will follow the path's direction. Normal to Surface Constraint allows an object to remain oriented along the normal of the closest polygon of the constraining object. It works only with polygon meshes. Object to Cluster Constraint allows an object's position to be constrained to a single vertex on a geometry or on the average position of many vertices. Cluster to Object Constraint lets you constrain the position of one or many vertices of any geometry to the position of a constraining object. Three Points Constraint is extremely useful for motion capture.

It positions a selected object in the middle of three constraints and orients it to the normal of the plane defined by the three points. Two Points Constraint converts two positions into a direction.

The constrained object will be oriented along the vector that goes from the first selected constraint to the second selected constraint. Up Vector Constraint   controls the up vector of either the camera or an object that is constrained using direction constraints.

This is a solution to prevent the camera flipping at the zenith of a rotation, when the up vector switches direction.

This constraint also provides a way to control the banking of the moving camera or another moving object.

Last updated 04-dec-1998