Substance Painter
In this start to finish texturing project within Substance Painter we cover all the techniques you need to texture the robot character.
# 1 31-07-2009 , 06:06 PM
Vamtaro's Avatar
Registered User
Join Date: Jul 2009
Posts: 5

IK FK Switch Problem

Hello,

I'm pretty new to the rigging process, so I apologize if this is a stupid question. I've been setting up a basic biped character, and making IK/FK switches for the arms. At this point the left arm works correctly, but I'm having serious problems with the right arm. When I apply the orient constraints and set driven keys for the right arm, the shoulder rotates 180 degrees. From what I can tell, this happens when I apply the constraint for the IK chain, but I could be wrong. All three chains have the same orientation. The x axis points away from the child, the y axis points down, and the z axis points back. Like I said, I'm new to the rigging process, and this is the first time I've tried to add an IK/FK switch, so I'm sorry if this seems stupid. Any help would be greatly appreciated.

# 2 01-08-2009 , 09:23 PM
Registered User
Join Date: Aug 2009
Posts: 3
I've been having the same problem, and it has been particularly frustrating to me since I've been FK/IK arm rigging for a year and a half and haven't encountered this problem until now.

However, I've been looking into this and I think I have isolated my problem to the ulna rotation expression--the FK/IK arm switching worked just fine until I've implemented the ulna expression, which why I haven't faced this problem until now since I haven't had to use the expression in my earlier rigging works. What doesn't make sense is how the ulna expression affects the FK/IK switching.

By explaining my side of it, I hope I have helped you with your problem at least a bit. Let me know if you have been able to at least isolate your wonky hand twist to the ulna rotation expression. If not, then I'm afraid you have a slightly different problem that required a different solution altogether.

# 3 01-08-2009 , 10:55 PM
Vamtaro's Avatar
Registered User
Join Date: Jul 2009
Posts: 5
Hey,
Thanks for your input. The rotations in my rig's arm always seem to happen only in the left shoulder joint and not in the forearm. I may be using a different forearm setup than you, though, so it may be a similar problem. I was wondering, though, since you have a good amount of experience, what orientation you use for the left and right arms?

# 4 02-08-2009 , 04:19 AM
Registered User
Join Date: Aug 2009
Posts: 3
Oh, it looks like I read your original post wrong--my problems are in the wrist, while yours is in the shoulder. Sorry about that.

Anyway, when creating the arm joints, I position each of them by opening up the Joint Orient channels and using them to rotate the joints (without actually using the rotate channels), and when I mirror them, I use the option to mirror behavior rather than orientation. That way, when in FK mode, you can select, for example, both elbow joints and rotate them together. When you mirror orientation, the elbows bend in opposite directions, so mirroring behavior helps save a little time and feels a little more organized.

But...don't put too much stock into that--I'm going to see if changing the mirror options may help my problem, but it's quite a stretch.

But for your end, could you try to describe for me how you make your rigs and maybe I'll see if I can help you fix your problem for you.

# 5 02-08-2009 , 05:07 AM
Vamtaro's Avatar
Registered User
Join Date: Jul 2009
Posts: 5
Thanks, that's good to know. I have my joints mirrored based on behavior as well. I wanted to ask someone about that because I wanted to see if that may have been part of the problem. I don't know very much about rigging, as this is only the third rig I've ever built, and the first one where I've tried making an IK/FK switch. Here are some images of my arm joints and their orientation.

A general image to show joint placement
user added image

The FK Chain
user added image

The IK Chain
user added image

The Skin Joints
user added image


Last edited by Vamtaro; 02-08-2009 at 05:11 AM.
# 6 02-08-2009 , 05:49 AM
Registered User
Join Date: Aug 2009
Posts: 3
Hmm...based on what I'm looking at, I'm not really seeing anything that stands out as a problem, but I have a few things to bring up that will, hopefully, help you out:

Your local rotation axes look lined up and consistent, but how are your transformations in each of the joints? Make sure that your channels are all frozen except for the Joint Orient ones (translation channels cannot be frozen on joints).

What kind of IK handle are you using for the IK arm chain? I find that the RP Solver works well for the arm, especially since it will help when you create a pole vector controller for the elbow.

When you mirror the joints, make sure to delete any constraint nodes and re-input them again, including the FK/IK orient constraints. Remember, get rid of the constraint nodes by deleting the black ! symbols from the outliner, not by selecting the blue channels and breaking connections. If you do that, the ! symbols remain in the hierarchy and the constraint is not really gone--it helps toward cleaning up your overall scene.

What does your outliner window look like? It depends on the person, I suppose, but I think it is easier for me to look at the rig through the outliner and maybe see what's going on there.

I've never thought about using an FK and IK joint for the palm--I normally stop at the wrist. Can you tell me what you use them for? Maybe that'll help me figure out my little problem.

Your joints look like they are in the right place, but your ulna joint looks slightly off. Though I don't think it's a big deal, here's a tip to get the ulna joint exactly in between the wrist and elbow joints: create the single ulna joint, don't parent it to anything yet, but point constrain it to the elbow joint (to do this, first select the master, the elbow joint, then the slave, the ulna). After that, point constrain the ulna joint again, but this time to the wrist joint. When the ulna joint is in place, delete the constraint node, make sure the orientation is lined up with the elbow joint, then parent the three joints together.

Anyways, I guess that's all I have to say for now, as it's getting a little late on my end, I'll be heading off. I'll see if I'll be able to help you out some time tomorrow, but until then, I hope my post has been a help to you. However, I think I should mention to you that I am not really a pro rigger--I'm more of an animator, and I had to learn rigging more out of necessity, so I'm not too sure if I can offer the best rigging advice for you, heh. Anyways, good luck to you.

# 7 12-08-2009 , 09:45 PM
Vamtaro's Avatar
Registered User
Join Date: Jul 2009
Posts: 5
Hey, sorry about taking so long on this reply. Anyway, thanks a ton for the advice. I actually fixed the main problem a while ago. It was just something really stupid - I'd accidentally switched the names on two controllers. Anyway, your advice was still really useful. Thank you user added image

Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads