stupid hand question

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

stupid hand question

Post by basshole »

Okay, I am trying to recreate Vern's idea of a switch layer hand with bones, from his furry example.

Somehow, I am doing it wrong.

I created a vector layer inside my switch layer. In this vector layer, I have drawn several shapes, totally separate from each other, that I plan to mate when it's all done.

I drew a "hand base" (don't know the anatomical name for this), and two finger joints (I know a real finger has 3, but I think two will suffice for me) for each finger. Each joint a separate shape, drawn in a different part of the workspace.

Then I created bones for each part--one for the hand base (the master bone, the adam bone, whatever you call it), and one for each finger joint. I parented them the logical way, and started to move them (using offset bone) so that everything would actually be attached.

For some reason, my index and pinky fingers, when I manipulate them or try to move them toward the hand base, deform the hand base. The middle and ring finger do not affect it at all. I have region binding on for this switch layer, and have tightened the regions around each bone.

I just can't figure out why this is happening. If someone tells me the secret to uploading the .moho files to the forum, I could post this hand.
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

If someone tells me the secret to uploading the .moho files to the forum, I could post this hand.
Upoad the anme or moho to a file host server (you can use whatever free service that there is spreaded through the www, like rapidshare, sendspace, geocities, googlepages, etc. etc.). Then insert the link to a new post and enclose the link with and

-G
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Check your bone strength.

If the bones effecting the hand are near the hand they would have influence over it. Decrease the strength of the finger bones so they just cover the vectors and they are proportional to each other.

The "hand base" (I don't know what it's called either. ;) ) is "fatter" than the fingers. The bone probably doesn't cover it completely. In those situations just add a bone or two as children of the base hand bone the will cover more of the hand base. This should take care of the problem.

Without seeing it I am only guessing but it sounds very familiar.

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

Post by basshole »

Duh. . .should've known about the server thing. Luckily, I have my own site.

see if this works. It opens when I try it with MY ASP.

http://joshbass.com/Site/Home_Page_files/hand.moho

I know it's crappy and rough, I stopped working on it when I got to the stumbling block that started this thread.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Okay, my last reply was the answer. But you have another option due to how you built the hand.

First off the hand base is too close the other fingers. You have one "skinny little bone" to control the points of the hand base. The points of the hand near the fingers are being influenced by those bones. You could select the hand base bone and just add two children bones on either side of it to compensate. Even if you did add the extra bones you probably should still move the fingers further away (bones AND mesh if you follow me).

I just added extra hand bones in this example.
http://www.lowrestv.com/moho_stuff/foru ... bones.moho

OR....

... since all the finger "parts" are individual separate shapes (not connected to each other) just use point binding and don't even worry about bone influence. Select each finger part and bind it to the specific bone.

http://www.lowrestv.com/moho_stuff/foru ... nding.moho

In reality with this set up you don't need to use bone offset at all. The reason I use bone offset in my example was because the fingers are "one piece". They need to use region binding so the fingers bend smoothly at the joints because the fingers are all one continuous mesh.

Also I use extra bones in the hand base to "distort" the shape as it turns. With the setup you have you can't "squish" the hand for a turn. The hand is always the same size (a front/back view).

So, move the fingers further away, add more child bones to the hand base. You may want to make the fingers "One piece" and not separate the sections of the fingers. Keep them together as you would do with an arm or leg. You don't separate the forearm from the bicep right? You offset the WHOLE arm away from the body. Treat fingers like a bunch of little arms (that sounds creepy. ;) )

When making the fingers "one piece" you would need to "split" the shape at the joints so you would still have 2 shape fills for each finger but the outer spline or vector would be a smooth continuous shape.

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

Post by basshole »

A few things you said lost me.


How do you mean the fingers are too close to the hand? If anything, I was going to move them closer, so they appear joined, and then hide the edges where necessary.

As for keeping the two parts of the finger as separate shapes, I actually did design the character the hand goes to with separate biceps/forearms, and thighs/lower legs, except for the character's body, they're all separate layers. Seemed easier than trying to deal with the distortion when the knees and elbows bend. This was the same reason I made the different finger joints separate shapes.

I will try the point binding thing, though.

I might add bones to the hand so I can "shape" it (so it's not always dead on to camera like I drew it), but couldn't I accomplish the same thing by transforming points, not using bones?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Okay, but never mind all that.

I started over from scratch, using your idea from another thread of splines through the joints to help maintain shape and prevent "holes".

This is a very half assed, quickly assembled effort that should be really nice if cleaned up.

Please ignore the giant blue turd right next to it. . .it was a finger test, and I created the hand without deleting it, and when I try to delete that finger, because the bone is the parent of the main hand bone, it deletes all my other bones, so I left it.

http://joshbass.com/Site/Home_Page_files/hand2.anme
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

basshole wrote:A few things you said lost me.


How do you mean the fingers are too close to the hand? If anything, I was going to move them closer, so they appear joined, and then hide the edges where necessary.
When using bone offset the fingers in their "normal" position can be as far away as you want. You can offset the bones to put them back where they belong.

Your new hand is a good start but you still have the same problem with proximity of bones to fingers and fingers to fingers. When vectors are that close to each other you will always get some overlap of bone influence. You may find that the bones of the fingers will effect "each other" when you don't want them to. This is why you use bone offset.

I use the same bone offset even with hands like your second version which are all one piece. You just "stretch" the vectors away from each other, lay the bones over them and use bone offset.

This is a side view only hand but the same concepts are used although I haven't used the "stretching vector" idea. This is more inline with your first hand version:

http://www.lowrestv.com/anime_studio/hands/hands.anme

Image
Image
Image

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

Post by basshole »

Okay, I guess I don't understand a basic concept in the program. From the online tutorials, I thought this was the way it worked:


You have a character/something you want to animate, drawn in several pieces, that are vectors. You separate them, so that when you draw the bones, the bones are only bound to the points they're drawn in. Then, you use offset bone to reassemble the character. You do all of this in frame 0.

The way you talk about bone offset confuses me. I thought it was just for moving bones back into position when they were drawn on an "exploded" character, or for moving the bone around while keeping the vector attached to it.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Your description is correct. That is what I did in the above file. I initially drew the hand "assembled". Then I moved the pieces away from each other and created the bones.

Then I used bone offset to put the hand back together. Bone offset is only used on frame 0 to aid in bone rigging. If you didn't have bone offset you could do the exact same thing on frame 1 and then start your animation on frame 2. Bone offset just makes things easier.

The AS file I attached has "extra layers" I needed to draw the bones so they would render for an animated gif I created for my web site. It is basically just 3 copies of the same bone layer. I just now realized this. I hope it didn't confuse you too much.

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

Post by basshole »

I figured the multiple layers were some fancy Vern thing that my mind wasn't ready for yet.


so, is my second design okay? I played with it before I uploaded, and the fingers don't seem to affect each other much, and the deformation on the hand itself seems okay. To me, it just seems to need some cleaning. I will try point binding everything instead of region binding, though.

By the way. . .with region binding, is there any way to define the region better? It only lets you control the region expansion/contraction proportionally, that is, it's always that pill shape, and expands vertically as much as it does horizontally. I would be nice if you could change region shape.
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

A point doesn't need to be covered by a bone to be region bound to the bone.
A point can have tree status regarding to bone binding.

1) No bound to any bone
2) Bound to a specific bone
3) Bound to the nearest bone it has.
3*) Bound to all the bones

On the other hand, bones can have two states:

a) Flex binding
b) Region binding

If bones are in flexi binding status then all the points are affected by all the bones depending on the bone strength and the distance to each bone. Points can be on any of the 1) 2) and 3*) status

If bones are Region binding then the point is affected by the bone depending on its status. So points can be in 1), 2, or 3) status.

The important thing is that points default status is 3) or 3*) depending on bones status.

A point in status 1) or 2) can be bound (or not bound) to any bone but you need to bind (un bind) it manually. A point in status 3) is bound to the nearest bone it has only if it is not covered by any bone region. If covered by any bone region(s) then it is influenced by bone proportional to the point distance to each bone.

So, a point can be bound to a bone without been covered by its region. The only requisite is that that bone were the nearest to it. I believe that the distance is calculated form the middle point of the bone to the point but not sure.

-G
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

basshole wrote:I figured the multiple layers were some fancy Vern thing that my mind wasn't ready for yet.

so, is my second design okay? I played with it before I uploaded, and the fingers don't seem to affect each other much, and the deformation on the hand itself seems okay. To me, it just seems to need some cleaning. I will try point binding everything instead of region binding, though.
If it it works for you and you are okay with it then I suppose it is fine. When I played with it the fingers were seriously distorting other fingers nearby. That is why I suggested moving them further away. It is entirely up to you of course.
By the way. . .with region binding, is there any way to define the region better? It only lets you control the region expansion/contraction proportionally, that is, it's always that pill shape, and expands vertically as much as it does horizontally. I would be nice if you could change region shape.
You can't change the shape of the bone influence but you can add children bones that achieve the same result.

For instance let's imagine that you have a bone with a low strength to effect specific points around it and ignore others that might be close, but you have just one or two points away from that bone you want to influence just a little bit but it's near other bones. What you do is make a new child bone of the bone you want to extend it's influence. Move the child bone over the points you want it to influence and you've sort of added an extension to the bones influence shape. You can increase or decrease that extra bone's length and/or strength to change how much influence it has on the points around it.

Remember that a child of a bone can be placed anywhere on the screen. It doesn't have to be near or touch the parent bone. This is how you extend the strength influence. You can have as many of these "extender" bones as you need.

I do this all the time. It's a pretty cool little trick. This is why I almost never use point motion. If there is a "problem" spot that I need to "tweak" instead of moving the points I might just add a small extra bone maybe with some kind of constraint to move the points where I need them. Now the point motion I would have had to do by hand on multiple frames is done automatically by a bone.

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

Post by basshole »

Thanks.

You're sure you were playing with the newly uploaded hands2 file? On my computer, the fingers don't affect each other at all, even when crossed over each other. It's like they're on separate layers.

Is there some way your version turned off region binding? If region binding is on, it should work fine.
Post Reply