Microsoft KB Archive/163039

{|
 * width="100%"|

Creating a Caterpillar Track Motion System
'Article ID: Q163039

Creation Date: 31-JAN-1997

Revision Date: 03-FEB-1997' The information in this article applies to:


 * Softimage 3D for IRIX, version 3.51
 * Softimage 3D for Windows NT, version 3.51

SUMMARY

The purpose of this article is to offer a solution on how to create a

caterpillar track  motion system using the following tools: Spline Deformations, Expressions, Skeletons, and Constraints. The techniques employed in this tutorial can be improved upon and/or modified to suit your specific project needs. This tutorial is designed for users who have a basic knowledge of SOFTIMAGE 3D. Although this tutorial assumes that you are using SOFTIMAGE 3D version 3.51, it also applies to other versions. If you are running a different version of SOFTIMAGE 3D, certain menu options may be in different locations or have slightly different names.

This tutorial also appears with images, in the Tips and Tricks section of the Softimage web site. To view it with images, enter the Softimage address, #|http://www.softimage.com, on the URL line of your Internet browser. When the Softimage home page appears, select Support & Training, then choose the Tips and Tricks option.

Step I: Creating The Track System

From the Model Module:


 * Choose Get > Primitive > Circle. Make it a B-Spline with a radius of 5 units and a Step value of 8.
 * Scale the circle 0.5 units on the y-axis. You now have an oval-shaped circle.
 * Switch to TAG mode. In the Front view, translate the sphere s top middle point 1.5 units on the y-axis, and the bottom middle point -1.5 units on the y-axis. Your curve should now have a racetrack like shape.

Step II: Spline Branch Deformation


 * Choose Get > Primitive > Cube.
 * Switch to OBJ mode and scale the cube: X = 0.12; Y = 0.03; Z = 0.19
 * Rotate the cube 90.0 degrees around the X and Z axis.
 * Freeze both the Scaling and Rotation of the cube (Effect > Freeze >).
 * Choose Duplicate > Repetition. Only specify: No. of Occurrences = 19 and Translation for Y = 1.3. In the Schematic view, you will see a branch containing 19 duplicate cubes. Select the Parent Null of this branch, and make it the Parent of the original cube that you used to make the duplicates. In the Front view, you will see the cubes stacked on top of each other on the positive y-axis.
 * In Single mode, select the entire branch of cubes using the right mouse button.
 * Choose Deformation > by Curve > Branch > Create. Then pick the B-Spline curve. The branch is now deformed on the B-Spline curve, but it is not closed.
 * To close it, scale the branch 1.105 units on the y-axis. Now the deformed branch s ends meet.

Step III: Creating The Landscape Model
 * Get a Primitive B-Spline Patch and accept the default values.
 * Scale the grid to 10.0 units for the X, Y, and Z axis.
 * With the grid selected, choose Effects >Randomize. Set: X = 0; Y = 0.1; Z = 0; Repetition = 5. The grid s surface will be deformed.
 * Choose Draw > Extract, and pick the curve on the grid that is on the horizontal plane parallel to the B-Spline curve that represents the track deformation branch (in Top view this curve appears in the middle of the grid). An extracted B-Spline curve will be visible.
 * Hide the extracted B-Spline curve, you will need to use it later in the exercise.

Step IV: Global Envelope

From the Actor Module:


 * Draw a 2D Chain with 1 joint. Draw from the bottom middle section to the top middle section of the B-Spline track.
 * Make two duplicates of the chain; translate the first duplicate -3.5 units on the x-axis, and translate the second duplicate 3.5 units on the x-axis. You will see three single joint chains arranged side-by-side.
 * Select the B-Spline track curve, and choose Skin > Global Envelope, then one by one pick each chain. You have just created a new branch IK Chain/Envelope assembly.

Step V: Spline Deformation, Clusters, and Constraints


 * Get a Primitive Cylinder and accept the default values.
 * In TAG mode, tag the points in the upper row of the cylinder.
 * Choose Tag > Set Cluster, and click New in the dialogue box.
 * Repeat the Set Cluster command for the points in the middle and bottom rows of the cylinder.
 * With the cylinder selected, choose Deformation > by Curve > Node > Create, and pick the B-Spline track curve.
 * In LCL mode, translate the deformed cylinder 50.0 units on the y-axis.
 * Scale the deformed cylinder so that X = 0.05; Y = 1.5; and Z = 0.05 units.
 * With the cylinder still selected, choose Tag > Cluster List, and select the first Cluster from the Cluster List Browser.
 * From the Motion module, in the Front view, select the root Null of the IK Chain that is parallel to the cylinder s active Cluster.
 * Choose Constraint > Object to Cluster, and pick anywhere on the cylinder. You will see the Root Null constrain in position to the cylinder s active Cluster; the area of the B-Spline track curve which is weighted to this IK Chain s Root Null, translates on the positive y-axis.
 * From the Model module, select the cylinder.
 * Choose Tag > Cluster List, then select the second Cluster from the browser.
 * Select the IK Chain s Root Null that is parallel to the cylinder s second Cluster.
 * In the Motion module, choose Constraint > Object to Cluster, and pick the cylinder. You will see the second IK Chain s Root Null constrain in position to the cylinder s active Cluster (second Cluster).
 * Repeat the last two operations in order to constrain the third IK Chain s Root Null to the cylinder s third Cluster.

Step VI: Expressions and Animation

 From the Motion module, get a primitive Null and translate it 5.0 units on the y-axis. Select the cylinder, and choose Expressions > Edit. Select the "nsftry" Fcurve from the Fcurves Browser; this Fcurve will be associated to the Affected Element (cylinder). For the Expression, select the Null from the "Scn Elements" browser. For the Expression Fcurve select the "etrnx" Fcurve from the Fcurves browser. The Expression must be modified with an argument in order to synchronize the translation of the cylinder relative to that of the Null. The Expression must look like the following: Null1.etrnx + 50 Create a second Expression, this time selecting the Deformation Branch. The Affected Element s (Deformation Branch) Fcurve should be the "bsftry" Fcurve (selected from the Fcurves Browser). For the Expression, select the Null from the "Scn Elements" browser, then select the "etrnx" Fcurve from the Fcurve browser.</li>  As in the previous Expression, an argument must be added to this Expression in order for the Deformation (the track model) to maintain a motion relative to the Null s translation. The expression must look the following: Null1.etrnx * - 1 </li></ul>

Step VII: Test the Track Motion System


 * Translate the Null locally on the x-axis. You will see the track system translate along the Extracted B-Spline curve, and the Deformation Branch (the track) will translate around the B-Spline track curve (as a caterpillar track would). To save a key for the Null, choose SaveKey > Object > Explicit Translation X.
 * Un-Hide the grid model, it is used as the landscape for the scene.
 * Activate Shade mode from the Perspective view. If you see parts of the Deformation Branch model (track) penetrating the surface of the grid, simply translate the Extracted B-Spline curve on the positive y-axis. The entire track system will also translate accordingly.
 * You can add wheels to the track system by making any IK Chain joint the parent of a wheel model. The wheel model will follow the motion of its IK Chain parent.
 * To add a chassis to the track system, simply make the middle IK Chain joint the parent of the chassis model.

REFERENCES

SOFTIMAGE 3D Reference Guide: A to H, Interface, page 211. (Constraints)

SOFTIMAGE 3D Reference Guide: I to Z, Interface, page 1297. (2D chains)

SOFTIMAGE 3D Reference Guide: I to Z, Interface, page 1273. (Expressions)

If you have any question concerning the information contained in this article, contact support@softimage.com by e-mail. If you include "ATT: Pierre Duranleau" (the support Engineer who created this tutorial)on the subject line, he will personally address any questions that you have.
 * }

-

<span style="font-family:verdana,arial,helvetica; font-size:8pt"> KBCategory: kbgraphic kbhowto

KBSubcategory:

Additional reference words: 3.51 si si3d si3dconst si3dact

"THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY." '' ©1997 Microsoft Corporation. All rights reserved. Legal Notices.

''