Microsoft KB Archive/152587

= Microsoft Knowledge Base =

How To Model Objects Using Animation
Last reviewed: June 25, 1996

Article ID: Q152587

The information in this article applies to:


 * Softimage 3D for Windows NT, versions 3.00 and 3.01
 * Softimage 3D for IRIX, versions 2.66, 3.00 and 3.50

SUMMARY
Modelling complex 3D objects by pulling points can be a difficult game of trial and error and may not always result in the exact object you want. Obviously, when at work in 1 or 2 dimensions simultaneously, understanding the object being modelled in terms of cross-sections is sometimes more intuitive than understanding the object being modelled in the Perspective view.

By using Shape and Path animation in the Model module of Softimage 3D, you can create complex objects with a higher level of control and precision than objects you create by pulling points.

MORE INFORMATION
Essentially, the Shape and Path animation method resembles the GuidedExtrude method with the exception that, with Shape and Path animation, you are in full control of the number of steps, the shapes and the subdivisions needed to create the desired object. Every cross-section modelled can be interpolated gradually from one shape to the next with the use of Shape animation. And every cross-section modelled can be oriented explicitly and positioned with Path animation.

Define the profile curves as follows:

To define the shape of the desired object, use whichever of the Orthogonal windows you prefer. In this case, using the Front window, draw the overall profile of the desired object to be built by using two curves, one curve for the front of the object and one curve for the back.

For this type of function, Bezier curves generally allow for a proportionately higher level of control with the fewest number of points so that the surface of the object is fluid. Also, it is possible to convert the Bezier curves to NURBS if the resultant skinned object is to be a NURBS object.

The object is modelled by defining either the side profiles or the front profiles as guides.

NOTE: Typically, the most complex profile (whether the front or the back) should be outlined initially to allow for increased control.

Define the cross-sections as follows:

Once the initial outline has been determined and is complete, proceed to draw the first cross-section of the object in the Top window making sure that the cross-section is correctly oriented relative to the profile curves. Use the Perspective view to maintain the correct proportion between the profile guide curves and the cross-section.

If the cross-section is symmetrical, it is best to draw only half of the curve and then use Effect -> Symmetry to duplicate the second half. Merge the two curves together, then close the resulting curve to complete the cross-section.

NOTE: When performing this part of the modelling process, do not draw points on the dividing axis where the symmetry occurs as these points do not serve a purpose once duplicated. Try to draw the outline of the cross- section using as few points as possible.

Use Bezier curves if the cross-section is to be very curvaceous. If necessary, break the Bezier curve handles to accentuate any sharp corners. Do this as follows:


 * 1) Still in the Model module, Select Edit -> Coordinate;
 * 2) Click on a point;
 * 3) Then simply change the Continuity value from C1 (mirror) to C0

(discontinuity) to break the Bezier handle.

The resultant object is easier to manipulate and lighter due to its lower triangle count which can provide an advantage when rendering as well as during interactive manipulation.

Your object may contain the identical cross-section repeated throughout its entire form. In some cases, the cross-section may be altered either in scale or in shape. If this is the case, draw the various shapes that the cross-section transforms to in the object's whole form during the length of the profile curves.

Prior to modelling the rest of the cross-sections, select the first cross- section and, looking in the Top window, translate the cross-section's centre along the x-axis until it lines up with either one of the two profile curve edges, preferably the more complex profile to allow for increased control.

NOTE: The edge you choose becomes the common point for all subsequent curves and determines which profile curve is used for Path animation. As well, all further transformations performed on the cross-section (Scaling, Rotation, etc.) are done relative to the cross-section's centre lined up on the Path.

To model the other cross-sections, modify half of the initial cross-section to the desired shape by scaling or by moving points. When satisfied with the shape, use the Effect -> Symmetry function to duplicate the other half of the cross-section. Now, with Effect -> Merge, join the two curves and close the cross-section.

If your cross-section is not symmetrical, simply draw the desired shape.

NOTE: Whether the cross-section is symmetrical or not, it is important that all curves have the same number of points and that their centres are located at a common point on the curves. However, remember that when the cross-sections are NURBS curves, it is possible to skin regardless of whether the number of points is identical or not.

Also, if symmetry is not an issue and the cross-sections are drawn freely, be sure that all the edgeflags both have the correct orientation and coincide with one another. As necessary, use the Effect -> Curve Controls function to align them.

To determine where the various cross-sections are to change shape, animate a null along the same profile curve to which the cross-sections' centres

are translated as reference. Get a primitive null, go to Motion -> Path and select the Path for animation. The more frames specified for the Path animation, the more increments and the more precision will be available when the time comes to position the cross-sections (400 is a good number to work with).

NOTE: The direction of the Path animation may have to be inverted with the Effect -> Inverse function so that the null begins at the correct extremity.

It is advisable to change the Path animation from a Spline interpolation to a Linear interpolation in FcrvSelect -> Object -> Translation in order to make the translation increments consistent from one frame to the next.

Set up the Shape animation as follows:

At this point, all the desired cross-sections should be modelled and positioned in such a way that their centres and their common edges are lined up.

NOTE: If the resultant object is to be a NURBS, convert all cross-sections into NURBS curves using the Effect -> Convert function now. If this is not what you want for your object, the option of skinning the cross-sections as a polygon or a Spline Patch remain.


 * 1) Select the initial cross-section and keyframe its shape at frame 1;
 * 2) Move the timeline and observe the trajectory of the animated null for

visual reference in order to keyframe the rest of the shapes;


 * 1) When the position of the null for the next shape has been determined,

use the Shape -> Select Key Shape function and click on the second cross- section to keyframe it.

Keyframe all the other shapes in the same manner.

NOTE: If the end result is unsatisfactory, you can revert to the Shape or Shape Weight function curves to modify the Shape animation.

Position and orient the cross-sections as follows:

Once the original cross-section is Shape animated, go to Duplicate -> Setup and activate the Shape Animation duplicate option.

NOTE: Use a duplicate of the animated cross-section so that the original cross-section can serve as backup.

Constrain the duplicate cross-section to the animated null, then relax the constraint and make it a child of the null. The cross-section should inherent the null's animation and should follow along the Path. Be sure to rotate the cross-section so that it is oriented in the correct plane relative to the two profile curves.

It is time to move the timeline and the duplicate cross-sections to define the object's shape. Be sure to deactivate the Shape Animation duplicate option in the Duplicate -> Setup dialogue box prior to defining the object's shape.

Immediately, when viewing the Front window, you notice that the animated cross-section neither fits between the two profile curves nor has the proper orientation for skinning. Fix this as follows:


 * 1) At frame 1, rotate the cross-section in the z-axis and scale it in

length until it touches the other profile curve as necessary.


 * 1) Save a rotation and scaling keyframe and duplicate the curve at the

initial frame before moving on to the next subdivision in order to create a record of each cross-section's position.


 * 1) Now, click on the K function and browse through the keyframes to check

your work.

NOTE: When using Softimage 3D version 3.5, it is possible to save rotation and scaling keyframes in one axis at a time. This provides greater freedom to animate the cross-section separately in other axes.

Whenever possible, add the smallest number of cross-sections for the creation of objects. Add subdivisions only where they are required to define the shape outlined by the profile curves.

Skin the object as follows:

You may want to activate Modelling Relation prior to the skinning of cross- sections so as to give you increased control once the object is skinned. With the Surface -> Skin option, pick cross-sections in chronological order and select the type of object desired.

If you are unsatisfied with the skin, modify the original skin curves while Modelling Relation is active. Or, you can also return to the first Shape animated cross-section to add subdivisions and re-skin the object as needed.

If the object is twisted in the y-axis as a result of having rotated skin curves, reposition the edgeflags on the curves with the Effect -> Curve Controls function. There may be instances where the addition of more cross-sections to define a sharp profile edge may be too costly in terms of subdivision or may simply not give you the result you want. In this case it is advantageous, particularly with NURBS, to skin the object in separate sections and to merge them later using the Draw -> Merge Surfaces function.

Here you are! An even, precisely skinned object which can be modified and recreated without the hassle of pulling points.