|
by Didik Wijaya
This tutorial needs you to understand basic use of 3dsmax.
Today, I will show you how to create piston engine animation. Usually this kind of animation is used in mechanical or automotive presentation. You can also watch this animation in oil or car tv ads. You will create this animation using Inverse Kinematics. That means you will use bones.
This is what you are going to create:

1. Let's begin this tutorial. Download this file and open in 3dsmax. This file consist of several object: piston, connecting rod, and crankshaft. Notice that each object has its Pivot Point positioned in specific place (shown in red color). These objects are also positioned in coordinate (0,0,Z) to make bones placement easier.

2. In Command Panel, go to Create>Systems tab. Click Bones button. In IK Chain Assignment rollout, choose SplineIKSolver and activate Assign to Children. Assign to Root will be activated automatically. Then in Left viewport, click three times to create bones. Right click to finish. Make sure you click from bottom to top (1, 2, and 3). In opened window, just click OK. Now, you have SplineIKSolver. Notice that you have bones, spline, and several small boxes (called helpers). These helper are named from Point 01 to Point 03, just like bones. Helper acts like a vertex in spline.

3. Right now, you can't see spline clearly because it's just like a vertical line. Select one helper in the middle (Point 02) and move it around. Now, you can see a spline. Bones also move based on spline shape. SplineIKSolver is one of Inverse Kinematic (IK) type. SplineIKSolver is unique because it uses spline to control bone movement. Press Ctrl+Z in keyboard to undo. Make sure bones are back to their initial position (vertical).

4. Right now, you can only move bones. Next, you will make objects also move with bones. Usually, we "skin" objects in order to work with bones. But, because we are using non-deformable objects like piston or rod, it's enough just by linking object to bone. First, select piston object. Activate Select And Link button. Then click piston, hold and drag to Bone 02. If linking is successful, you will see white flash in object. If you find difficulties in selecting bone, you can try another way. Select piston, activate Select And Link button, click Select by Name button (press H in keyboard). In opened window, choose Bone 02 and click Link.
Using the same procedure, link connecting rod to Bone 01. Now, try to move Point 02. Both objects should follow bones movement. Don't forget to undo (all bones should go back to initial position).

5. Now we are going to rotate crankshaft. Before you do that, link Point 01 to crankshaft. Select crankshaft object. Activate Select And Rotate tool, and in Left viewport try to rotate crankshaft. Notice that all bones are moving with crankshaft rotation. This happens because other helpers (Point 02 and Point 03) are linked to Point 01.

6. Select Point 02. And click Unlink selection button. Also unlink Point 03. Now, try to rotate crankshaft. After that, don't forget to undo. Make sure all bones are back to their original position.

7. Next, we are ready to animate crankshaft object. Activate Auto Key. Move slider to frame 100. Using Select and rotate tool, rotate 360°. You can activate Angle Snap toggle to create precise rotation if necessary. When finished, play animation. You can see piston is not staying in vertical axis. We will fix that later.

8. Make sure Auto Key is still active. Select Point 02, and activate Select and Move Tool. Move slider to frame 25. In Left viewport, move Point 02 up or down until piston stays in vertical axis. Repeat the same process in frame 50 and 75. When finished, select keyframe in frame 0, Shift drag to create its clone in frame 100. After that, turn off Auto Key..

9. Play animation. Piston movement is now better, but is still not right. This is happen because spline is forming a curvy shape. Thus, we need to change spline shape. Move slider until you can see spline clearly. Select spline. Go to Modify tab. In Modifier Stack, highlight Line row. You may see your scene is ruined. It's okay. It's just temporary. Then, activate Vertex selection. Select all vertices in spline (3 vertices). In viewport, right click those vertices and choose Corner in quad menu. Spline is like a straight line now. De-activate vertex selection.

10. Highlight Spline IK Control row to activate inverse kinematic again. Render your animation. Congrats, you have finished this tutorial..

Tips
You can skip step #8 to #10 by following this tip
Directly go to Modifier stack with the IKSpline selected, select line segment of the piston (topmost segment), right click and change from curve to line. This way you only had to move the middle control point (Point02) lower than the piston's lowest position, and it worked. No need to key the control point (Point 02) again, only the rotation is enough.
Thanks to Johannis for sharing this useful tips.
Download finished 3dsmax file
Any question or comments regarding this tutorial should be sent to:
Didik Wijaya, email:
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
Discuss this tutorial |