IK arm constrained to the torso moves the opposite direction

by Raluca posted 256 days ago | 1 comment

Hello, bindpose!

I have a connection problem. I have a FK/IK arm, a translation based shoulder and a torso. I have connected my shoulder to the torso through a shoulder bind joint (which is in the same place as my top spine joint), connected them through a parent constraint. But when I try to connect my arm through a point constrain, my arm moves in the opposite direction. This is the right arm, I had no problems with my left one.

My arm has five chains: IK, FK, result chain and 2 other ones I used for the upperarm and forearm twist. They were a duplicated result chain that I split in two: upperarm and forearm that I kept splitting by inserting more joints in for twist purposes. My chopped geometry is parented to them.

After I point constraint my IK arm to the torso, when I am in IK mode (I have a FK/IK switch) the IK chain follows, my result chain follows, but my twist chains and the geometry go the opposite direction. So my IK connection to my result chain seems to be ok.

I think there is something wrong with my connection between my twist chains with the result chain.

I have an IK spline in each twist chain (upperarm and forearm). I duplicated the twist chains in order to create bind joints. The bind joints help with my IK solver attributes: advanced twist controls. Also, they are constrained to the result chain. Basically, my IK movement triggers my result chain movement which triggers my twist chains.

I hope I made myself as clear as possible, please feel free to ask me for any photos or further explanations if you have encountered something similar before. I'd like to mention I followed the Maya Learning Channel rigging tutorial from youtube. Thank you!

Have a good day!

Raluca

by vshotarov posted 253 days ago

Hi Raluca!

To me it sounds like it might be a joint orientation problem. The reason I think that is you said it's happening only on the right side and the arm is moving in the opposite direction.

Usually, when you mirror joints, their aim axis gets negated, which means that the translation you are plugging into it needs to account for that negation, by being negated itself.

The other option would be to make sure the joints are oriented the exact same way in all chains.

Another potential reason for the joints being flipped is the Advanced twist setup of the ik spline. Have a look at the Forward axis attribute on the ikHandle and see if negating that fixes it.

Again, I am not entirely sure this is what's happening, so this might not be helpful at all, but I hope it is!