PDA

View Full Version : Arm setup: moving the forearm end effector; why?


Mooncalf
03-22-2004, 04:10 AM
Hi y'all,

Another newbie question from me. :)

I've been going through a few different tutorials about setting up an arm, not to mention a class with an instructor last year, and I have yet to understand exactly what's going on when you move the arm IK's end effector from the forearm to the wrist.

I know y'all know what I'm talking about. It seems to be a pretty commonly suggested way of doing things, yes?

The best I can tell, this is done only for the animator to feel more comfortable. That is, it feels more natural animating from the wrist than animating from the forearm.

Is this the only reason to move the end effector? Or is there actual IK solving stuff going on that I don't understand? What does the end effector do?

It's been my experience that y'all at CGTalk have a way of explaining things in simple terms, so I'm hoping someone can take a stab at this one... thanks! :)

- M

dmcgrath
03-22-2004, 05:37 AM
I'll take a stab at this one, since no one else has. Typically the answer to your question is what you have already mentioned.
It just feels a little more comfortable animating from the wrist area. It is harder to move from the forearm position and place a hand on an object for example. Especially if you have moved in very close to the intended objects location with your camera view.

I am trying to think off the top of my head here, but I can't come up with any other reason that you would do this.

So in answer to all of these ??s

Is this the only reason to move the end effector? Or is there actual IK solving stuff going on that I don't understand? What does the end effector do?


1 - Yes
2 - Yes Not to be mean, there is still a lot going on that I don't know either.
3 - Essentially the end effector is where the actual input for the placement of the IK is located. If you look at the effector it is connected to the IK handle exactly like a point constraint.

So if there are any other reasons for moving the pivot I haven't used them.

Hope that helped,

_dan

strarup
03-22-2004, 06:41 PM
Hi Mooncalf,

eh... I guess sometimes it also depends on the setup...

if it e.g. is a shoulder, elbow, "forearm", wrist setup, where the "forearm" is to make twist deformation on the forearm as the wrist get's rotated...

then to set it up with IK, you would make the IK from the shoulder to the "forearm", because if you would make it directly to the wrist it wouldn't work properly... however the hand movement with IK is from the "wrist"... so to get it to work you would have to move the effector to the wrist...

I have heard/seen about a method to do this by using the Hypergraph... sometimes I can get it to work, however 95% of the times I can't... so this is the method I use to move the effector...

I first create an extra seperate joint, which I pointsnap to the wrist, then turn off the IK weight for the IK handle, then select the effector and snap it to the wrist...

then turning on the weight for the IK handle again, usually the IK handle changes position, then I pointsnap the IK handle to the extra seperate joint, to get it back to is't start position... :)

this was one of the reasons I could think of about moving the IK from the "forearm" to the wrist... but I don't know if it is the same type of "forearm" you are meaning... :)

regards

Strarup

lildragon
03-23-2004, 01:21 AM
SImply put, by moving the end effector from the forearm to the wrist enables the animator to have forearm twist movement under an ik chain, because if you apply an IK chain from shoulder to wrist it evaluates the forearm joint like the others (which you don't want). So by moving the effector to the wrist, it locks that joint in place while still giving you rotational values in the forarm.

Plus you shouldn't leave the IK handle at the forearm because it's just awkward to work with.

To get a specific IK handle effector, simply select it and graph it [input and output connections] using the hypergraph, you'll see the effector hidden downstream.

Hope that helps.

-lild

ACFred
03-23-2004, 03:09 PM
One method I like to use to avoid this effector question is to separate forearm joints from the IK arm chain. What I mean is that instead of a hierarchy being something like:
shoulder
|_elbow
  |_forearm1
    |_forearm2
      |_wrist

I'll do something similar to:

shoulder
  |_elbow
    |_forearm1
    |  |_forearm2
    |_wrist

I've always thought that making some special consideration for the IK effector because of the forearm joints was weird, when parenting the forearm and wrist joints to the elbow works, but there are many ways to skin a cat (or ogre or whatever else you're skinning).

Basically, this allows you to create a standard 3-joint IK setup by just clicking the shoulder and wrist joints.

Since the rotations of the forearm joints are typically driven by the rotations of the wrist via math nodes or expressions, it isn't necessary for them to be in a continuous chain as shown in the first hierarchy.

That's it.

Mooncalf
03-24-2004, 12:35 AM
Hey y'all,

Thanks for all the in-depth responses. I wish I could say that I absolutely understood all of them... but that's okay. One day I will. ;)

Maybe what I need is a basic primer in the different parts of an IK setup:

Let's say I create a simpe three-joint arm/leg/tentacle/whatever

*1
|
|
*2
|
|
*3

Then I apply an IKHandle from *1 to *3

My Hypergraph tells me that there are three inputs to my new IKHandle:

ikRPSolver: This is what does all the math, right? It's what looks at where *3 is and figures out where everything in the middle should be.

effector: This appears to be the end of the line. Currently situated at *3

joint1: This is just the joint. *1 This is where everything starts from.


I hope I've got that right so far.

Now, I can move the effector away from *3. Far away, like:

*1
|
|
*2
|
|
*3        e


Now when I move the ikHandle around, *3 follows it around as if it's been point-constrained (maintaining its offset).

Stay with me now, I think I've just broken through an idea (I hope I have). I've been trying to figure out what exactly the effector does. Why is it so important to have it at the wrist in that initial setup?

But it now occurs to me that the effector does NOT get moved to the wrist. It gets moved to WHERE THE WRIST IS! That is to say, I thought that the effector was somehow being applied to the wrist joint itself. But the truth is that it doesn't even matter if there's a wrist joint there... essentially, the idea is to move the effector forward (keeping the same angle as the forearm joint so it stays locked straight).

There is a wrist joint there simply because our hypothetical character has a wrist and hand. But if he didn't, you could move the IK's effector to the same exact location of empty space, and get the same exact results.

(albeit for no reason)

*whew*

Okay, how'd I do? Did I miss anything tremendously important? :)

Thanks again for sticking through this with me... 3d's got a steep learning curve, dontcha know.

- M

dmcgrath
03-24-2004, 07:55 PM
Originally posted by Mooncalf
But it now occurs to me that the effector does NOT get moved to the wrist. It gets moved to WHERE THE WRIST IS! That is to say, I thought that the effector was somehow being applied to the wrist joint itself. But the truth is that it doesn't even matter if there's a wrist joint there...
- M


That is a good enough explaination, you are getting it now.

Mooncalf
03-25-2004, 05:49 AM
Originally posted by dmcgrath
That is a good enough explaination, you are getting it now.

Thanks, Dan. It feels good to finally be able to grasp some stuff. Bring on more, I say!

Cheers!


:)


- M

CGTalk Moderation
01-17-2006, 07:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.