Modeling and Adjusting the Landing Props

 < Day Day Up > 



Modeling the landing props is easy: Use curves as the basis and apply either the Extrude or Bevel modifier (Fig. 3.11). Finish them with a conversion to Editable Poly or use of the Edit Mesh modifier.

click to expand
Figure 3.11: Landing prop

The sketches for this lesson were made in the vector editor Xara X. To avoid repeatedly drawing the same things, we exported the objects in AI 88 format (Adobe Illustrator) and imported the curves into 3ds max (Main menu à File à Import). You can do the same by loading Lessons\Lesson03\ai\leg.ai from the CD-ROM. Use the options shown in Fig. 3.12, a and b, when importing.

click to expand
Figure 3.12: Options when importing files in AI format

Before we continue, there is one matter that needs to be addressed. Independent of the viewport with which you are working, 3ds max will position the imported curves on the grid, making them so small that you probably will not see them. The initial urge to rescale them is natural, but doing so will cause problems. Using the Scale command on the object level scales the local coordinates, which may make further editing difficult. Many beginners make this mistake and later become perplexed at the strange behavior of their objects. Briefly, the reason is as follows: When a block 1 × 1 × 1 meters is scaled twice by all coordinates, its size in local units remains the same. In other words, it is still the same block with 1 meter sides, but its "local meter" becomes equal to two "system meters." Rather unintuitive, isn't it? Yes, but such is the ideology of 3ds max, and it has a logical basis. It allows us, for example, to attach procedure textures with XYZ coordinates to objects but prevent them from assuming a life of their own.

So, what should we do? There are three possibilities. The first method is to scale not on the object level, but on that of the sub-objects (e.g., vertices). In our case, that will merge all of the objects into one, with further detachment (Detach) into separate objects. You can get around that by applying the Edit Spline modifier to all selected objects and converting them to Editable Spline. That will give you several objects.

The second method is to apply the XForm modifier to all selected objects and scale its gizmo. Using this modifier in such a way does not affect the local coordinates. You will then have to convert all of the objects to Editable Spline.

The third method is to use the Scale command on all of the objects, and then Reset XForm. In this case, you will also have to convert them to Editable Spline.

So, which one should we use? Choose any one, or a combination of them. The goal is to remind you once again that 3ds max provides different ways to solve problems; the solution only depends on preference.

After a bit of playing, we found the least "painful" and most demonstrative way, which we suggest you use.

  • Find the imported curves in the Top viewport. When scenes are imported and merged (Merge), 3ds max will select them unless the Lock Selection button is pressed. Simply use the Zoom Extents Selected button on the navigation panel or press the <Z> key. Otherwise, select the curves by name (they are called Shapel, etc.) by pressing the <H> key (Fig. 3.13, a).

    click to expand
    Figure 3.13: Modeling the landing prop

  • Select and remove the curves shown in Fig. 3.13, b — we will substitute them with corresponding 3ds max objects.

  • Select all curves again.

  • Rotate them around the center of the selected objects with respect to the X axis of the Front view until that they face forward in that view.

  • Go to the Front view and apply the Edit Spline modifier to the selected objects (Fig. 3.13, c). Note that the modifier appears in italics in the stack. This means that the modifier is applied to several objects:

    • Main menu à Modifiers à Patch/Spline Editing à Edit Spline

  • Switch to vertex editing, then select and scale the landing prop objects relative to the common selection center, so that they match the scale of other objects in the scene (Fig. 3.13, d).

  • Convert them to Editable Spline. At this point, you can select Collapse All from the right-click context menu of the modifiers stack and edit as necessary to obtain the result shown in Fig. 3.11.

Explanation 

In our example, we mainly used the Extrude and Bevel modifiers. When necessary, the Edit Mesh modifier can also be used to create chamfers, move vertices, and create polygons. You also should note how frequently and practically the Align command was used. The \Lessons\Lesson03\scenes\Lesson03(lunar-ship).max file contains our version of the landing prop. In this file, we deliberately did not convert the objects to a base type, so that you could understand different aspects of object creation. It was quite an accomplishment! It would have been much easier to convert the objects after Extrude and Bevel were used to the Editable Poly type!

Adjusting the kinematic connections between objects of the landing prop is much more interesting.

  • To begin, create a cylinder as the axis for the first segment of the prop. By anatomical analogy, this is the "hip joint." Its use will be explained later.

  • Rename the objects. We called them Leg0-01, Leg1-01b, etc. (following the analogy from hip joint to foot). The first index corresponds to the object's position in the hierarchy, the second to the number of the prop. When copied, 3ds max will substitute the proper index — 01, 02, 03, etc. Convenient, isn't it?

  • In the Top view, center the objects relative to each other with the Align command.

  • Select all of the prop objects, center their pivot points relative to each object, and align them relative to world coordinates (Fig. 3.14, a):

    • Control panel à Hierarchy à Pivot à Affect Pivot Only

    • Press the Center to Object and Align to World buttons.

    click to expand
    Figure 3.14: Pivot-point settings for the landing prop (a and b) and how the objects are welded together (c)

  • In a side view, move the pivot points to the center of rotation for each object (Fig.3.14, b).

  • Turn off the Affect Pivot Only button.

  • Select and Link the objects (Fig. 3.14, c):

    • Main panel à Select and Link

Select an object, click on it with the left mouse button, move the cursor to the next object, and repeat. Fig. 3.14, c, shows the linking scheme. (You don't need to move the objects.)

You can check whether you linked the objects correctly by pressing the <H> key to open the selection by name window. Check the Display Subtree flag. You should see the list of objects, the one at the top left being the "parent" and the one at the bottom right being the "youngest child."

Note 

It is time to check an important setting for animation. Open the settings menu (Main menu à Customize à Preferences à Animation) and make sure Local Center During Animate is selected. It will avoid confusion during further animation.

click to expand

We named our file with the landing prop links as  Lesson03(lunar-ship-linked-leg).max. Of course, you need not name your file in the same way.

We will now make the hydraulic pumps. This is nothing but a simulation, so the construction does not have to "work" properly. The mechanics only need to realistically interact with the other parts of the prop.

There are two objects we can use for this in the Dynamics Objects class: Spring and Dumper. In the book "3ds max 4: From Objects to Animation," we considered the use of Spring in detail. Dumper is used similarly, and there is no reason not to use it. Still, we would like to show you a more universal method to create such objects.

  • Create four Point object-helpers. There is only one advantage in using points to a Dummy object — they can be absolutely invisible. It makes sense to create them in either the User or Perspective viewport using the AutoGrid flag (Fig. 3.15, a):

    • Control panel à Create à Helpers à Point

    click to expand
    Figure 3.15, a—c: Modeling the hydraulic pumps

  • Rename the points as P1-01, P2-01, etc. — this will simplify editing in the future.

  • Link them using the Select And Link command as follows:

    • P1-01 with Leg1-01

    • P2-01 with Leg2-01

    • P3-01 with Leg2-01

    • P4-01 with Leg3-01

    Tip 

    When you select objects merged together or positioned side by side, you could select the wrong one. Click the left mouse button until you get the right one.

  • The hydraulic pumps are modeled by two cylinders and two pistons. We used the Chamfer Cylinder primitive. Neither their orientation nor size matters much so far, but it is important that their pivot points are on the bottom, which is typical for such primitives (Fig. 3.15, b):

    • Main menu à Create à Extended Primitives à Chamfer Cylinder

    Tip 

    Once you have created one of the primitives, you can copy it three times.

  • Rename them Dumper1-Base-01, Dumper1-Piston-01, Dumper2-Base-01, Dumper2-Piston-01.

  • Use the Select And Link command as follows:

    • Dumper1-Base-01 with P1-01

    • Dumper1-Piston-01 with P2-01

    • Dumper2-Base-01 with P3-01

    • Dumper2-Piston-01 with P4-01

    Tip 

    Selecting an object by name in order to link it is very useful — press the Select And Link button and select the object you want to link, if it is not yet selected. Then open the selection by name window (<H> key), select the object to which you want to link, and press the Link button.

We will continue editing with Dumper1-Base-01 for illustration.

  • Align the Dumper1-Base-01 object with its "ancestor" (P1-01) using pivot points with respect to all axes (Fig. 3.15, c).

    Tip 

    You can select the object for alignment using the method described above.

  • Make the Dumper1-Base-01 object "face" P2-01. To do so, select Dumper1-Base-01 and use the LookAt controller:

    • Main menu à Animation à Constraints à LookAt Constraint

  • Drag it to face P2-01.

  • Set the parameters shown in Fig. 3.15, d.

    click to expand
    Figure 3.15, d and e: Modeling the hydraulic pumps

    Explanation 

    In this lesson, we will use constraints (Constraint) as the animation controllers. In most cases, they are a logical choice.

    When constraints are assigned, 3ds max automatically toggles the control panel to the Motion panel, as these are the parameters you will need to edit.

    Pay attention to the Assign Controller rollout — we deliberately opened it to make things clearer. Take a look at the animation controllers' window. You will see that the Rotation List controller is used for Rotation, and it already has two lines: Euler XYZ — the default controller assigned to the object, and LookAt Constraint — the one we needed.

    The Available line implies that you can add more controllers.

    These features appeared in the first versions of 3ds max, but they became simpler to use over time thanks to the developers.

    The next rollout — PRS Parameters (position/rotation/scale) — is to some extent an anachronism. Only the bottom buttons are really used. Right now, the Rotation button is pressed, which is relevant for this stage of work.

    The Rotation List rollout is the list of controllers being used for rotation. The LookAt Constraint controller is currently selected, which is also indicated by the arrow to the left. This is the controller whose parameters you will need to adjust.

    What about the Euler XYZ controller? In our case, it does not need to be adjusted. If, however, you want the object to do more than simply face another object (e.g., follow a trajectory or surface), you can use this "redundant" controller with a proper Weight.

    The Set Active button displays the settings of the selected controller. This does not interfere with the other controllers!

    The Delete, Cut, and Paste buttons are self-descriptive and used to delete or to copy controllers between objects.

    At last, we have reached the LookAt parameters.

    The Add LookAt Target and Delete LookAt Target buttons allow an object to simultaneously trace not one but several targets. You can shift attention between them with the Weight parameter.

    The Keep Initial Offset flag should be unchecked in our case. If you check it, you will understand what it means.

    The Set Orientation button forces rotation of the object, which is not necessary in our case.

    There is also a group of parameters that orient the object along various axes. Play with them to see what happens.

  • Set the rest of the objects as needed (Fig. 3.15, e).

We did not model the hydraulic objects on the lowest fundamental level, but you can do so and make them more convincing if you'd like.

Our file with the adjusted hydraulic pumps is  Lesson03(lunar-ship-linked-leg-with-dumpers).max.

Now it is time to duplicate the landing props and position them appropriately.

  • Select Leg0-01 in the Top view and rotate it about 5° clockwise around the vertical axis using the Pivot Point as the center of rotation (Fig. 3.16, a). Notice that all linked objects are also rotated.

    click to expand
    Figure 3.16: Copying and adjusting the landing props

  • Select all objects forming the prop. To do so, double-click the left mouse button on Leg0-01, which is the "parent" for the rest of the objects.

  • Rotate the selected objects 90° around the living area while holding the <Shift> key. To create three copies (Fig. 3.16, b): Switch to rotation mode, use Pick coordinates, and click on the Living Module.

Use the Transform Coordinate Center as the center of rotation. It will shift to the pivot point of the Living Module.

Rotate the objects 90° while holding the <Shift> key, and enter "3" in the window that appears.

What do you notice? The elements of the new pumps "face" the objects in the original. You will have to adjust this for each of them.

  • Go to the Motion panel, select one object at a time, add a new LookAt target, and delete the previous one.

Tip 

It is not necessary to use Point object-helpers as the targets; you can use the corresponding elements of the pump instead. But there is one limitation — objects cannot "face" each other. This complies with 3ds max logic that does not support bidirectional object hierarchy.

As you can see, we had to do twice the amount of work. Remember this, for sometimes it is better to skip a step and do it later.

Our result (Fig. 3.16, c) is in  Lesson03(lunar-ship).max.

Now, it is time to look at animation — or, rather, its settings. If we had only one landing prop, we would not concern ourselves extensively with the process. But we have four props, and it takes some work to animate them all. (Imagine animating dozens of such props — it is better not to think about it!)

It has never been possible to link objects' parameters with equations in any version of 3ds max. Although intuitive, that process would be rather painstaking and, in many cases, its complexity would not justify the effort. The fourth version introduced a less complicated method with the Wire Controller and the so-called Custom Attribute. Together, linking objects became worthwhile. We will use these features here:

  • Create a Dummy object, rename it LUNAR SHIP, and place it somewhere near the lunar module (Fig. 3.17, a). As you may have already guessed by its name, this is the "main object" with which the others are to be linked:

    • Control panel à Create à Helpers à Dummy

    click to expand
    Figure 3.17, a and b: Adjusting the animation of the landing props

  • Create an additional parameter (Custom Attribute) for the LUNAR SHIP and adjust it as shown in Fig. 3.17, b:

    • Main menu à Animation à Add Custom Attribute

Explanation 

It is very important to set the Custom Attribute parameters right away. This can be a bit difficult to specify in 3ds max (a weakness that will probably be corrected in future versions):

Parameter Type — Float

UI Type — Slider (The Name parameter indicates the significance of the extreme values.)

Float UI Options — Range From 0.0 To 1.0, and Default set to 1.0, which corresponds to the "landing" position. This will be adjusted later in the process of binding with coefficients.

Test this new parameter in the Testing Attribute section.

When everything is ready, press the Add button.

Excellent! The parameter has been added, but so far it is nothing but a slider on the control panel. Now, we have to link it to the prop and its rotation around an axis. In the third version of 3ds max, the previous, inconvenient TCB Rotation controller from 3D Studio for DOS was superceded by two animation controllers for rotation — the Euler XYZ Rotation and Local Euler XYZ Rotation controllers. The latter provided rotation animation in local coordinates, which was very effective and made many users extremely happy with 3ds max, including the authors of this book. In 3ds max 4, this controller was removed from the main interface without explanation, although it still existed behind the scenes in MaxScript for the sake of compatibility with projects implemented in earlier versions. In the end, there is only one controller left for independent rotation around three axes — Euler XYZ. This controller uses coordinates of the Parent (i.e., local coordinates of the first "ancestor") for reference. For objects without a hierarchical chain, the "ancestor" is the World. Foreshadowing events to come, all of the landing props will be connected to the propulsion module and, to correctly animate the Leg1-## objects, the Leg0-## objects will be used. The purpose of such objects is to determine intermediate coordinates. Objects of any type can be used, including Dummy, for it is only their orientation that matters.

Link the slider named Off__Landing__On with rotation of one of the objects of the landing prop (we will use Leg1-01) around the Y axis:

Tip 

To determine the axis around which to rotate the object, switch to Parent coordinates and select the object. It is quite possible that this is a different axis in your case.

  • Select the LUNAR SHIP, click the right mouse button, select Wire Parameters and then choose the Off__Landing__On parameter (Fig. 3.17, c).

    click to expand
    Figure 3.17, c—f: Adjusting the animation of the landing props

  • Drag to the Leg1-01 object, click the left mouse button, and select Transform à Rotation à Y Rotation (Fig. 3.17, d).

  • Select the "right arrow" in the window that appears: It means that the parameter on the left side is the Master relative to the one on the right. Press the Connect button (Fig. 3.17, e).

Leg1-01 and all of its "descendent" objects will have changed position. Now try to move the Off__Landing__On slider. The position of Leg1-01 will change. We seem to be off a bit, but this is not a problem, because the Wire system allows you to enter correcting coefficients into the leg's expression to make it work the way you want. Find a value you like and don't forget to Update when you make changes!

click to expand

Note 

Keep in mind that the rotation parameter uses radians instead of degrees.

Note 

At this point, we slightly adjusted the geometry of the propulsion module because it seemed too tall. We simply moved the vertices with respect to the folding props.

  • Link the Off__Landing__On slider with all the other props. You can copy the expression you decided upon for the first leg into the clipboard and paste it into the others. All of this can be done without leaving the window by pressing the Show All Tracks button, finding the necessary parameters, and pasting the expression from the clipboard (Fig. 3.17, f).

Frankly speaking, this process is rather boring but, if you master it now, it will be easier later. If you are having difficulties, we saved our work as  Lesson03(lunar-ship-wired-step1).max.

The next step is to prevent the Leg2-## objects from protruding into the propulsion module when they fold. The solution is to link the Off__Landing__On slider with the rotation of the Leg2-## objects around the Y axis, as shown in Fig. 3.17, g.

click to expand
Figure 3.17, g and h: Adjusting the animation of the landing props

Note 

The imperfections at this point are obvious. The props intersect each other when they fold, and the hydraulic pumps do not work at all. The latter fact is not important and nobody will notice it, but intersecting objects are far too obvious for keen viewers. You should therefore make the props fold in slightly different ways. It should be mentioned that editing links in 3ds max is not easy but, for this purpose, a mediocre link editor is used (Main menu à Animation à Wire Parameters à Parameter Wire Dialog). Still, we managed to adjust the props so that they do not fold into one plane. To do this, we selected the Off__Landing__On slider on the left part of the window, pressed the Find Next Parameter Wired button on the right, and changed the linked objects' parameters. We failed to avoid having the objects cross during folding, but at least they look decent when completely folded. Additional rotation of Leg0-## by 2 degrees helped obtain the desired result (Fig. 3.17, h).

  • Use the Select and Link command to link the landing props (Leg0-01, Leg0-02, etc.) to the propulsion module (Service Module), and the Living Module and Service Module to the LUNAR SHIP.

Save your work. Our file on the companion CD-ROM is called  Lesson03(lunar-ship-wired-step1).max.

Tip 

Try to adjust the animation of the Leg3-## objects yourself, so that the props behave correctly when unfolding. It is quite possible that another parameter for the LUNAR SHIP should be introduced to rotate these objects.



 < Day Day Up > 



Advanced 3Ds Max 5[c] Modeling and Animating
Advanced 3Ds Max 5[c] Modeling and Animating
ISBN: 1931769168
EAN: N/A
Year: 2005
Pages: 136

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net