IK solver and plane motion

I’m trying to animate a robotic leg into a walking motion. With a bipedal setup, that would be easy enough to just use IK solvers. However, the joints themselves (with one exception) allow only motion in a plane. This wouldn’t be so bad except that the IK solver will not accept constraints such as a joint that can’t move like a ball and socket. I know that I could simpy foward-kinetic it or simply move it in one of the global planes, but that is going to be extremely time-consuming, and prone to error because two of the legs must rotate out of the global plane before trying to move the plane-constricted joints (which at that point do not coincide with the global plane), and it’s very hard to specify an exact viewing angle to match. I also tried simply letting the IK solver do it’s work and then adjusting the results, but turning the solver off results in it restoring the original position, and it cannot be adjusted while the solver is on. Is there any way to make this motion realistic? Some way to force the IK solver to recognize a constraint on a joint? (If this has already been addressed, a pointer to an article would be helpful.)

Make the IK solver bone LockTrack on the root bone, using the perpendicular axis as the locked axis. Then, when you move it, just constraint to its local axis.


Very nice, thanks. It also helped immensely when I parented the IK solver bone to a bone that controlled the orientation of the plane of the joint (NOT in the IK chain itself). That allowed me to FK the plane-controlling joint (a ball-and-socket) and then use an IK solver to keep the plane-joint correctly oriented. Thank you for your help.