Help for simple ik mechanical rig


#1

Hi guys,
I’m new to rigging and I’m having problems to rig a simple mechanical setup using IK.
The first joint should rotate on Y only, others on Z only, but the moment I lock the rotation axis on the joints I try to move the IK handle and the IK solver doesn’t work anymore.

It looks simple to me, as I saw many tutorials on ik etc, but I can’t get it to work. Any suggestions?


#2

This seems to work fine when i try it here.

Dont know exactly how you do it but here goes.

1.Create you jointchain.

2.create the ikhandle.

  1. select the the first joint and lock the 2 channels in attributeditor.

  2. voila!

I also tested to lock the x channel on the other joints so the “arm” won’t get skewed.


#3

Hi Ekan, thanks for your reply.

If you move the IK handle in the Y direction you sholud see the movement of the jointchain is locked, It works only when moving the IK handle in XZ plane.
I don’t know why, but I just tried to rebuild the joinchain and handle, and I get the same behaviour.


#4

what version of maya are you using?
Maybee im not understanding what you are after.

You want the first join ( to the left on your image) to only rotate in y axis? so it doesnt move unless you move the ik handle in x and z?
and then you want the other joints to move just as a regular ik setup would? correct?


#5

Thanks for your patience Ekan.
The setup I’m looking for is very similar to the movements of the legs of this robot, proportions and the robot are differents but the mechanics is basically the same.

As you can see the whole leg is rotated by the first motor in Y only, then the other two motors extend the leg using Z or X axis only, depending how you see it of course.
I’d like to control the leg movement with one IK handle* on the tip of the “foot”. I think that in this way I’ll be able to move the COG also, while keeping the IK handles in their places.

I don’t know is this is the right way to rig something like this, I just started learning to rig and it’s an exercise for me.

  • edit: instead of “one IK handle” let’s say one controller, I think it’s more precise.

#6

Alright. i have a similar setup in a robot scenefile at home. i can check it when i get home in a couple of hours.


#7

That would be great.
I thought that was an easy setup, but with my knowledge right now it came out very difficult.
Strangely enough with more degree of freedom in the joints rotation would be much easier with just the IK and a pole vector.


#8

Ok, I found a working solution, don’t now if it’s the most elegant, but here’s the setup:

  • create the joint chain like in the first post
  • create a simple 2 bones IK from the second joint to the last one [note: do not use the first joint like I’ve done before]
  • lock the XY rotation for the second joint, which is the first in the IK chain, it should rotate only in the Z axis
  • create a controller for the IK handle with a simple point constraint

and here’s the trick

  • aim constraint the first joint to the IK handle controller, only using the Y, so the whole leg will always be pointed towards the IK handle controller, but rotating only the Y axis
  • done

Hope it helps!


#9

Just had a look on my file and yes its the same setup you described in the last post. so i guess the initial problem is still there but we had the same solution =)


#10

Last update, I found out a better solution using a locator parented to the IK ctrl, for the first bone to aim to, and now it works clean without any problem!