Funky Armatures

I created a rig that seemed to be working fine (pretty much), but then had to move the arms of my mesh out sideways so I could model the armpit area. I’ve tried moving the arms in the rig, and also rebuilding the arm, but when I end up assigning vertices in the mesh’s arm to the appropriate bones, i get lots of wierd twisting happening. I’ve selected the bones and done ctrl+n, didn’t really help, or I eventually get it so it is almost there, but when I assign the track to constraint for the elbow, it ends up messing up again.

Can anyone please help me? All I really want to do is draw the bones, set up the constraints and attach the vertices, but even something as simple like that ends up in this wierd twisting, which I didn’t get when the arms were down by his sides.

I’m starting to develop a twitch.

I thought at first that it might be because you reset the bone roll values after binding but I think that’s ok to do. From what you say, it seems to be the track contraint that’s messing it up.

I have rigged one full character in Blender and I think I’ve figured out the track constraints. Is that what you are using to constrain the arm to a planar motion?

If so, I use a ‘locked track’ not ‘track to’.

I think that if you have an IK solver and add a locked track to it making the root bone the target and clear the rotation of the IK, the IK handle will constrain to a plane if you move it in its local axes. That is, using g,x,x or g,y,y.

The problem comes when you try and rotate the whole arm. Maya uses a rotate plane solver for things like arms and this makes things a bit easier but you can simulate the behaviour in Blender.

I got round this by adding an extra bone at the root joint. Then parent this to the original root and also to the IK. This way, when you want to rotate the arm, rotate this new bone and everything follows nicely. If you could move an object in 2 axes at once, that would be even better.

I’ve been using normal track to, I assigned the y-axis of the upper arm to track to a control object. I’ll have a look into the locked track, cheers :slight_smile:

I’m afraid I’m not entirely following what you said after that, I’m trying to create a mental image, but I’m a bit confused :frowning:

Does anyone have a link to somewhere that explains locked track constraints well please? My searching so far hasn’t really turned up anything helpful.

Sorry, that post was a bit cryptic. Here’s a mini tutorial for the arm. I’m not sure if this is the correct way but it works for me (you can probably skip the 1st few steps):

  1. make the upper arm bone, lower arm bone and the null bone. These are all connected.
  2. At the base of the arm, make an unconnected bone that acts as the IK handle.
  3. In pose mode, add an ik constraint to the null bone and put the armature as the ob name and the ik as the bo name. The null bone is usually the hand bone.
  4. select the IK handle and add a lock track constraint making the upper arm bone the target i.e. ob=armature, bo=upper arm. And make sure to clear the rotation of the ik handle.
  5. So far, you should be able to move the arm in a planar motion by moving the ik handle in its local axes i.e. g,x,x or g,y,y.
  6. You still need to rotate the arm though. So, at the base of the upper arm (shoulder), add another bone that sticks out like the IK at the wrist. Just like the IK, don’t join this up to the other bones.
  7. Parent this bone to both the upper arm bone and the IK handle in editmode.
  8. You’re done. To rotate the arm, just rotate the bone at the shoulder and to move the arm in a planar motion, just move the IK handle in its local axes. I really wish I could move the two axes at once.

You should make sure that your joints are modelled so that the local axes are aligned correctly using ctrl-n. Otherwise you may still get rolling.

Also, something theeth told me was that joints work best if they are modelled at half flex. This does mean some remodelling but it’s worth it to avoid joint flipping.