PDA

View Full Version : IK changes joint orientation


Gemini
03-21-2003, 05:10 PM
this is absolutely killing me. please help me. i am working on setting up the IK for the wrist. all of my joints have zeroed out rotations and are in the bind pose. i have the ik going between the shoulder and the forearm, i then try to move the effector pivot to the wrist joint and the whole wrist orientation changes. if i don't move the effector pivot it seems ok, but that doesn't work so well for animation.

i could have sworn that this wasn't happening earlier, but i am not 100% sure. it would be great if someone coule give me some reasons, besides non-zeroed out joints, that this would happen, i would be greatly indebted, and impressed. PLEASE HELP. thank you.

Doogie
03-22-2003, 07:17 AM
is this what your trying to do? (this is the arm section of a tutorial I rewrote)

1. Create a new arm without IK. It will consist of 4 joints. ArmRoot (at the shoulder), LowerArm (at the elbow), ArmTurn (at forearm), and ArmEnd (at wrist).

2. Create an IK for this, begining at the ArmRoot, ending at the ArmTurn. Doing this will keep the IK solver from being affected when ArmTurn rotates.

3. Next, select the _effector_ node. Press insert to change the piviot. V-Snap it to ArmEnd.

4. Create the Raduis and Ulna joints with IK turned on. Each begining closest to the elbow pointing toward the hand. (UlnaRoot, UlnaEnd, RadiusRoot, RadiusEnd)

5. Make both bones child to the LowerArm (**make sure you group this bone twice so maya doesn't draw a bone between the joints**)

6. Make the RadiusIK child to the ArmTurn joint.

7. Create a locator named UlnaConstrain and place it over the UlnaEnd joint. Freeze transformations

8. Point Constrain the UlnaConstrain to UlnaIK.

9. Finally, make the locator child to the ArmTurn joint. Make the UlnaIK child to the LowerArm joint.

Gemini
03-22-2003, 01:09 PM
i was doing something similar though i wasn't using the additional bones that you end up parenting to the forearm. i was encountering a problem when i was trying to change the pivot point of the effector node. for some reason, only when i change the pivot of the effector, the whole wrist will snap into another position( about a 10 degree rotation. if i don't change the pivot point of the effector, and just leave it at the forearm, then it works fine. i am really confused. thank you for the reply

BTW: i just found that if i twist the pole vector, to about 23, it brings my hand back to where i want it. but then my elbow locks up. who knows

SirRender
03-22-2003, 07:50 PM
Gemini

You are thinking about it correctly. You do want your IK handle being solved at the forearm joint, but located at the wrist joint. Inorder to move the IK handle over to the wrist joint, you need to move its effector node, not its pivot point. Right after you make the IK handle, look in the hypergraph, there you will see a node named "effector". Select it in the hypergraph, hit the "insert" key and joint/point snap it to the wrist joint. That should give you what you need!

Dario (SirRender)

Doogie
03-23-2003, 05:17 AM
Are you working on a single computer? I cannot think of any reason it would be doing that unless your prefs are messed up (deleting them fixes those odd things that come up)

If thats not the problem. Try following through the walkthrough i left above in a blank scene. Or have someone who you know walk you through it.

Cant think of anything else. good luck.

Gemini
03-23-2003, 02:54 PM
i really do appreciate your help. that is exactly what i ended up doing. i got so sick and tired of being confused that i just scrapped the damn thing and built it all over again. who knows why, but now it works. god bless this machine. thanks again for you help.

Doogie
03-24-2003, 02:52 AM
sometimes scenefiles just stop working... You can fix them with a couple tricks occasionally (like save it as an ascii and reopen it) but at times you should just start from scratch.

CGTalk Moderation
01-14-2006, 05: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.