Modeling and Animating a Mechanical Hand

Report this File

Th_shouldera

Views:

45,494

Updated:

Aug 31, 2005

Readership Level:

Advanced

Tags:

Maya Versions:

6.x, 7.x

Platforms:

irix, linux, mac, windows

Owner:

Language:

English

This will cover modeling the hand, starting with a polyCylander.

Create a 12 sided cylander and rotate 90 dgrees on Z axis. Select three faces and extrude them. Flatten and move them as shown in the .gif below until you have a cool design. Scale the front smaller so that it will look like it fits into the next finger. Extrude flanges on top for the 'cables' to go through later, and parent a cylander to the top as shown. Duplicate the finger and cable and move it forward.

I made another cylander and rotated it 90 degrees on the Z axis as well for the wrist. The rest was done with scaling the points and using the SoftenHarden edges tool . I extruded a cube to make the connecting tendons and the thumb root. See Below.

After I was happy with one set of fingers I grouped them and copied them around to make the hand and the thumb. Parent all the parts together now, and add a torus for the cables to go into (see fig 3.)

Figure A. Rough Construction Process.




Figure B. Completed basic model.




Figure C. Note the half torus with black shader to simulate a hole.




It would be wise to texture the first finger and rod BEFORE duplicating it over and over, as it will be much harder later and very repetitious. Also, delete the history on the hand when you have placed all the fingers where you want them are are done with altering them. Do NOT delete the history after the next step.



Create a nurbs torus with 4 spans and 4 sections. Pick the index finger and turn on diplay Handles. This will show you the center of the finger. Then use point snap to center the torus on the index finger. That should be in the center of the extruded cylander, as below. Adjust the scale, radius, and height ratio until your torus looks like the one below. Get it close to the size and position of the other cable ends. If you need to tweek something to get it right, move the points on the end of the poly cylanders to make them look like they are all one continuous piece of cable. Rotate the torus around the finger until the startSweep sits right on the edge of the second knuckle, and then adjust the endSweep until it just touches the first knucke. (See figure A.)




Later we will use setDriven keys to animate the endSweep setting so that it stays on the first knuckle. You can duplicate this torus with downstream connections, and snap it to all the other fingers (15 in total). Tweek all the torus radius and minorSweep settings, and edit the poly "Cables" so that all the cables look connected, especially at the end points.




At this point, I would parent everything together. Be sure NOT to delete the history on anything that the Torus' are linked to, as this will kill all the animatable parameters for later. Once you get it all linked, move all the torus' pivot points to the center of where they touch the knuckle. This will be used for later.

Move pivot from finger center to knuckle contact point.




Now you can move the hand to the arm and rotate it into position. I linked it to the forarm, which simulates a bend starting at the elbow, but whatever works for your model. I had an IKhandle linked to a polyCube which I will use to position the arm / hand, and to put the fingers controls on (See figure C below). If you are using forward rotation, make a cue that you can add some attributes to, disconnect it from the shading group(it won't render in hardware shading) and link it to the wrist. Now we are ready to do the driven keys.




This assumes you know a little about setting drivenKeys and adding an attribute already. Select the cube that you are going to use, and add the attributes for the fingers and wrist. I used the settings of -10, 10, and 0. For the arm, I use an IK setup, linked to a polyCube. When I move the cube around, the arm moves as well. I also have a cube that I use with a poleConstraint, so the elbow always looks at "that" cube. I put all my hands controls on the cube so I can do everything by selecting on object later to animate it. I have the attributes IndexCurl, IndexEndCurl, IndexLR, etc. for each finger. The thumb has a few extra ones. See Figure A below for a list of the attributes.


WristUD
WristLR
WristTwist
IndexCurl
IndexEndCurl
IndexLR
MiddleCurl
MiddleEndCurl
MiddleLR
PinkyCurl
PinkEndCurl
PinkyLR
ThumbBaseCurl
ThumbBaseLR
ThumbBaseRotate
ThumbEndCurl
RingCurl
RingEndCurl
RingLR




Now you need to do the setDriven keys for each finger. I rotate only the first fingerJoint with one slider, and the last two joints with another slider. Forget about the torus for now. Since they are linked to their corresponding finger, they will rotate away from the knuckles for now. Once all the fingers are done, we can animate the torus' endSweep.

Pick the torus on the first Index knuckle. Under its shape, select the endSweep attribute, and right click. Select setDriven key and the box appears with the torusShape loaded as the driven object. Load your control handle in as the driver. Set a key connecting the IndexCurl attribute, and the torus endSweep attribute.




Tutorial_next_page

Comments

Write a Comment

You must be logged in and have verified your email address to leave a comment. Login or create an account