Dynamic Hand

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

Mikhail
Posts: 10
Joined: Tue Dec 18, 2007 3:36 pm

Dynamic Hand

Post by Mikhail »

I've been trying to create a hand that is able to rotate and move like a real hand. I think I'm almost there. Any suggestions?
Last edited by Mikhail on Tue Dec 18, 2007 3:59 pm, edited 1 time in total.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

This uses switch layers to do the "flip" from front to back and bones for finger manipulation:

http://www.lowrestv.com/moho_stuff/larry_hands2b.mov
http://www.lowrestv.com/moho_stuff/larr ... pload.moho


-vern
User avatar
slowtiger
Posts: 6081
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

I wouldn't even attempt to do that in AS. I'd use 3D, if I'd use 3D at all, or I'd draw it in a bitmap-based application.

In AS, I'd leave out most movements and only stick to a limited handful of poses/views.
Mikhail
Posts: 10
Joined: Tue Dec 18, 2007 3:36 pm

Post by Mikhail »

Thanks for the tips, nice work vern.

I've been using the interpolation for all the switches in my character rigs and I thought I should make the hand motions more fluid as well. I didn't like my first attempt but then i tried it again a few weeks later and it looked good. I love the smooth results but it's sort of a pain to set it up.

Thanks,
Michael
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

My example doesn't use any interpolation. All the movement is from bones in the switch. The switch layers are identical just the "front and back" shape orders change. It works really well and gives you endless options for hand positions. The cool thing is you could save actions for the hand layers. Set up a bunch of hand positions using the bones and save as actions. This would be almost as good as a switch layer for hand positions.

Doing smooth interpolation with hands is a nightmare and not recommended except for very simple movements and only slight changes on each layer. Interpolation with a switch or vector layer is "linear", so the fingers don't follow a realistic movement.

The best bet to pull that off would be to create some sort of "middle" hand layer to interpolate between each of the other hand layers. This half way layer would be created so it would give a normal as possible transition from one shape to the next.

-vern
User avatar
oferhod
Posts: 93
Joined: Tue May 15, 2007 11:00 am

Post by oferhod »

vern, thanks!
seeing that Moho file is just what I needed to do, right now!
You are a big help!
User avatar
Barry Baker
Posts: 342
Joined: Fri Aug 27, 2004 6:58 am
Location: UK
Contact:

Post by Barry Baker »

Brilliant solution to the hand problem, Vern! Elegant, and relatively uncomplicated.
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Here's a dumb question: the fingers---since they're all on the same vector layer, how do they stay "separate?", is it 'cause they're separate shapes without automatic welding turned on? Or is it 'cause when you have bones bound to certain points, those points can cross each other without problems, even if on the same vector layer? Are any of these suggestions even close?

I made a character and put each part of each limb (except hands and feet) on a separate layer. E.g. lower leg is separate vector layer from upper leg which is separate from torso, though the feet are part of the same vector layer and shape as the lower leg, ditto hands. They're all sublayers of the same bone layer. Looks like your way is simpler.
phastraq
Posts: 25
Joined: Tue Jun 05, 2007 6:22 pm
Contact:

Post by phastraq »

I usually use separate layers for my body parts to allow for easier alterations later but in terms of bone rigging it doesn't matter because I use point binding. Two objects can be on the same layer but with different points attached to different bones.

You can even go so far as to have one object attached to different bones with point binding and use the bones for distortion. e.g. My upper arm would have a bone that controls most of it's points but a few of the points (where the arm joins the torso) would be bound to the torso bone. That way the arm never completely leaves the torso.

I'll try to upload the .anime files later
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

There is really no difference to how vectors are effected by bones if they are on their own layer or not. Layer binding binds the whole layer so bone influence is irrelevant. To simulate layer binding just bind the points to the bone if a shape is on the same layer with other shapes.

The real benefit of putting various limbs and shapes on separate layers is because that is the ONLY WAY to animate the layer order. If you want the arm to be in front of the body and then go behind the body during the animation the only way to do that is with depth sorting and a slight z translation.

-vern
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

OKay, I seem to have done something else wrong.

Here's my character "tree"

I have the skeleton bone layer, inside which are a head bone layer, and vector layers for different limbs.

I made a new switch layer inside the skeleton layer for the hands. When I attempted to manipulate the bones to see if the hand worked okay, I found I couldn't control it, or parent it to anything other than bones on the same layer.

Is this not going to work the way I created it? How can I make a hand switch layer that works with the rest of the skeleton?
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

A switch layer IS a bone layer. It just has more fancy features. ;)

What I do is bind the hand switch to the hand bone of the parent bone layer skeleton. I put all the finger control bones on the switch layer. Bones in the parent skeleton will not control the layers INSIDE a child switch layer.

I like this separation of the hand bone animation from the body animation. It isn't a problem for me because the "detailed" hand animation is easier to work with when all the bones of the skeleton aren't in the way if you know what I mean.

-vern
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Oops. . .I thought I posted this in my other hand thread. Oh well.


Okay, so, I should have a bone on the Parent skeleton, that the hand switch layer is bound to. Can I have an anchor/parent bone in the switch layer that controls the entire hand? Or do I not even need it. . .just need fingers?

If I can't have that master hand bone in the switch layer, can you delete it without deleting all the other bones? I guess I could just parent them to other stuff, then delete that master bone. . .

Can you "orphan" a bone. . .not parent it to anything?

EDIT:

Okay, think I got it. So I have a hand bone on the main skeleton layer, and I bound the switch hand layer to it. I left the bone in the switch layer, even though it's redundant (right?). Seems to work.

Now I can do stuff like that furry hand you made. . .have it turn around, whatever, just by making duplicates in the switch layer?
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

basshole wrote:
Okay, think I got it. So I have a hand bone on the main skeleton layer, and I bound the switch hand layer to it. I left the bone in the switch layer, even though it's redundant (right?). Seems to work.

Now I can do stuff like that furry hand you made. . .have it turn around, whatever, just by making duplicates in the switch layer?
You got it!

As for the "extra" redundant bone in the switch layer. You could delete the hand bone in the main skeleton completely and just bind the switch hand to the forearm bone. Same thing. Remember that when you bind a layer to a bone it follows that bone based on it's current location. It's "locked in" so to speak. Bind the hand switch to the forearm and it will be just like a "hand bone" in the main skeleton. then you can just rotate the hand using the hand bone in the switch layer.

I like to keep both though. You will have two "hand bones" but I don't have a problem with this. If I am working on "broad stroke" body animation I rotate the hands to a position I like. If later I am fine tuning the position of fingers and I want to change the hand rotation I've got the hand bone in the switch layer there to do that as well. You just need to keep an eye on your key frames. If you key the hand in one spot but forget to do a "hold" key earlier in the time lime then the hand might "drift" to that position. I usually don't have any problem with this since while I'm key framing fingers I am keeping track of all the keys. Sometimes it gets strange when you have a key on the main skeleton for one hand bone and another in the hand switch... but it all works out in the end. ;)

-vern
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Great.

Okay, now, how do you solve the problem (easily, that is), of joining this switch layer to the main body, but having the vector layers blend in?

The only way I've found to do it (after hiding the edges at the joint, of course) is to tediously jump between translate points and manipulate bones, reshaping the two layers/shapes that are supposed to look unified, 'til there's no obvious stuff sticking out during the animation arc. For instance, with this hand, a hand/wrist can only move so far in either direction. So once I key in the bone angle constraints, I keep moving the wrist back and forth, from one limit to the other, watching for one layer or the other to bulge out, or the outlines to mismatch, and give the gag away. I keep reshaping the vector layer 'til that stops happening. That's really tedious, though.
Post Reply