PDA

View Full Version : Non-linear robot leg IK setup


alientoaster
12-22-2009, 06:01 AM
I've spent all evening trying to rig this silly leg.

http://alientoaster.com/misc/hosted/mechLeg_setup.jpg


I'm sure you can all point out a million ways Maya will refuse to play nice with my setup. I've used omni joints at the hip and the ankle, but the knee consists of a normal bendy bit for Z-rotation and a gear for Y-rotation, so it consists of two joints. The knee should be bending backward (toward the locator below).

The IK setup refuses to rotate the correct way at the knee. I set the degrees of freedom and limited the rotation so it can't go "forward". Instead of going backward, the IK setup just solves without rotating that joint.

When I try to add a pole vector to point it in the right direction, the bones just rotate in all crazy directions. I'm under the impression that this is because my setup is not the usual linear three-joint human leg.

Here is the Maya file: http://alientoaster.com/misc/hosted/mech_partial.mb

It seems like it should be such an easy thing to do without any skin weighting or toe controls like a human character... I've done simple rigs in the past, but this is my first time doing something that isn't a standard biped. I would really appreciate any help on this.

Thanks!

niic
01-03-2010, 10:13 AM
Check the joints Local Rotation Axis. Select the joint and on the top tool bar click on the '?' icon or just hit F8 (for component mode). Select the axis and rotate the gizmo to the required oriention. You should ensure all your LRA's are correctly aligned!

Hope that helps!

Garciaone
01-12-2010, 03:14 AM
I would suggest using a number of IK solvers and controls to get the right amount of control and behavior. Expressions or SDK's will more than likely be needed.

I have set up a robot leg that was similar and a insect leg that had 4 'knees', both required multiple IK solvers .

CGTalk Moderation
01-12-2010, 03:14 AM
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.