Integrating 3D models with photography
Interested in integrating your 3D work with the real world? This might help
# 1 14-03-2005 , 05:12 PM
Sil-Valeor's Avatar
Subscriber
Join Date: Apr 2003
Location: Borovnica, Slovenia
Posts: 434

Ik handle problems

I have a problem. As you will see from the following pictures, I made an skeleton and justa really basic shapes representing a human. I add IK handle to the arm (from shoulders to hands). Now, when I want to move ik handle the way you see on pictures, it's all good untill it gets to the second pic. Then, as you can see from 3rd picture, if I move this ik handle just a little, it changes it's rotation (I think around Z axis, you can see this from pic 3) for like 180 degrees just like that. This happens too me pretty often. How can I prevent this and make a nice arm movement?

I'm sure this is basic problem, but I'm n00b when it comes to character setup.

Tnx in advance!

Attached Thumbnails

Last edited by Sil-Valeor; 14-03-2005 at 05:15 PM.
# 2 14-03-2005 , 05:13 PM
Sil-Valeor's Avatar
Subscriber
Join Date: Apr 2003
Location: Borovnica, Slovenia
Posts: 434
pic2:

Attached Thumbnails
# 3 14-03-2005 , 05:13 PM
Sil-Valeor's Avatar
Subscriber
Join Date: Apr 2003
Location: Borovnica, Slovenia
Posts: 434
pic3:

Attached Images
# 4 14-03-2005 , 05:41 PM
mtmckinley's Avatar
The Maya Mountain
Join Date: Aug 2002
Location: Seattle, WA
Posts: 8,245
I personally don't generally use IK with arms, just legs.

Create a locator and have it be a Pole Vector constraint for the IK handle and you'll be able to control the elbow better with it.

# 5 14-03-2005 , 06:45 PM
Sil-Valeor's Avatar
Subscriber
Join Date: Apr 2003
Location: Borovnica, Slovenia
Posts: 434
I have yet to learn what exactly is it's function, but what you said seems to work. Tnx!

# 6 15-03-2005 , 08:07 AM
Eelco's Avatar
Registered User
Join Date: Oct 2004
Location: In my dreams
Posts: 152
In the 2nd image you've posted, it looks like you want the hand to actually penetrated the shoulder ... I think your arm would behave weird too trying that pose user added image

But anyway ... as already established, it's a Pole Vector problem.
I had a similar problem recently and posted this in the Animation forum (forum is neary not active and so never got response). But I got some wiser since. Let me elaborate on why this happens and come back with a question myself on this (at the bottom).

As you've already figured, if you're using ikRPsolver (Rotate Plane), you will be faced with the Pole Vector. This is the green line at the top of the Handle vector. It's where the imaginary rotate plane revolves around. On creation of the IK handle, it will be perpendicular to the Handle vector. If you move your End effector past a position where the Handle vector is parallel to the Pole Vector, the handle will flip. This happens in 2 directions of this Pole Vector. So you got roughly 180 degrees in where you can place your End Effector without much problem. You can shift this space by adjusting the position of the Pole Vector using the Show Manipulator Tool.

I attached a small animated screencaps illustrating this:
The ikRPsolver is from shoulder to wrist in de Da Vinci posed skeleton. Moving the End Effector toward the head in XZ direction, the Handle vector will become parallel to the Pole Vector at 1 and flips. With the Show Manipulator Tool, the 180 degree space is shifted by moving the Pole Vector at 2. Now the arm can go further but will face the flipping of the handle problem when going back at 3.

So it's crucial to place the Pole Vector so that you gain maximum freedom posing the arm during your animation. Do what Mike mcKinley suggests and constrain a locator to the Pole Vector so in case you need the character to make an odd pose, u can still make adjustments to the Pole Vector.

Now .. the advantage of a ikRPsolver is that you'd be able to use the Twist attribute to simulate the twist of the elbow or knee. E.g. like you'd be able to move your elbow up and down while you got your finger in your nose.

I came to realise that there another way to get this done, but with the ikSCsolver (single chain) which will eliminate the whole Pole Vector problem.
Create a ikSCsolver from shoulder to wrist. Then group the ikHandle to itself. Move the pivot of the group (use [Insert] key) to the wrist joint with snap to points. And so making the twisting elbow motion by rotating the group instead.
Can anybody confirm if this is a proper way to work around the Pole Vector problem?

P.s. to Mike ... you animate your skeletons arms using FK? Any specific reason why the arms FK and legs IK?

Attached Images
# 7 15-03-2005 , 10:20 AM
Sil-Valeor's Avatar
Subscriber
Join Date: Apr 2003
Location: Borovnica, Slovenia
Posts: 434
Wow, thanks a lot man, I really appriciate it!
I will try this later and let you know how it works.

# 8 15-03-2005 , 12:55 PM
mtmckinley's Avatar
The Maya Mountain
Join Date: Aug 2002
Location: Seattle, WA
Posts: 8,245
Nice description. user added image

I find it easier and faster to just use FK. That's just me, though.

Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads