Home Technical Talk

A little rigging help!?

Hi guys!

I'm working on a character for my game, and I bumped into the same problem I always seem to be getting with my characters, which is the shoulder joint...
Now I've tried reading up on this, I own a copy of 'the art of rigging', and I've even looked at human anotomy, and I just can't seem to get it right...

So now I thought I'd ask you guys for a little direction.

So here's a couple of images of my guy!
http://imageshack.us/photo/my-images/716/frontnowireframe.jpg/
http://imageshack.us/photo/my-images/16/frontwithwireframe.jpg/

Please, If you need anything else to get a proper view, just say so and I will get to upload it straight away...

I can't really figure out if it's the mesh thats wrong, the bone placement or maybe I'm just not good enough at skinning...
Anyway, any tips, pointers and comments would be really helpful, thanks!

- Alex

Replies

  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    So...what's the problem? The pics don't really demonstrait the issue. Fyi though most characters have their arms at a downward 45 degree angle when bound. The bind pose should have some relation to the types of animations the arms will be going through, so If his arms will be over his head more often then not then bind them bent up, and vise versa.
  • Rick Stirling
    Options
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    Don't build the clavicles pointing upwards - keep them straight, or even pointing downwards. If you don't you'll get some horrible gimbal lock issues with the arms hanging down.
  • asjo07
    Options
    Offline / Send Message
    My bad, I should have explained the problem!.. :)

    So what I'm getting is either a good motion when rotating the arm down the side of the character but a bad one when going up, or vise versa... I can't seem to find a spot that allows both types of motions.. and I guess I was also hoping that somebody might spot some type of fundamental error in my topology or my bone placement... :) And if thats not the case, I guess it's more of a skinning problem...!

    regarding the bind pose: just to make sure I understand you - you're suggesing I change the characters pose before binding him to the rig?...
  • asjo07
    Options
    Offline / Send Message
    asjo07 wrote: »
    and I guess I was also hoping that somebody might spot some type of fundamental error in my topology or my bone placement... :)

    and it seems somebody did! :D
    PolyHertz wrote: »
    So...what's the problem? The pics don't really demonstrait the issue. Fyi though most characters have their arms at a downward 45 degree angle when bound. The bind pose should have some relation to the types of animations the arms will be going through, so If his arms will be over his head more often then not then bind them bent up, and vise versa.

    I just tried this out and it seems to do a lot for the flexibility of the arm in general.. Now I'm able to get a pretty good downward and upward motion.. Thanks! Please if you guys have any other tips or think something is fishy, please do tell.. :)
  • Wrath
    Options
    Offline / Send Message
    Wrath polycounter lvl 18
    Your pivots for the clavicle bones are off. They should be centered in the nub where the clavicle meets the sternum, well towards the center of the chest and very far forward. Pivots for the upper arms seem a bit far out as well. They should be slightly below the little bump where the clavicle and Scapula join.

    http://www.daviddarling.info/images/clavicle.gif

    I'd highly recommend twist helpers in the upper arm, wrist, upper thigh, and possibly the ankle. Even if they're not scripted to be driven by other joints, just having them in your skeleton and weighted properly will let you straighten out some poses that would otherwise be impossible to deal with.

    Not seeing a side view of your joints, but from the front the 2nd and 3rd spine joints appear to be placed too high. The thoracic section of the spine remains pretty rigid along with the rib cage, so you get most of your trunk bending in the lumbar section. The 3rd joint should be just slightly above where your 2nd joint is now, the 1st is where the spine joints the hips, and the 2nd joint should be evenly spaced between them. Remember to push them towards the back of the where the spine actually is. All too common to see joints for the torso in the center of mass.
    http://www.digitalartform.com/assets/gfxArtist/WIP/spineTest1.jpg
    2 joints in the lumbar (blue) section, 1 joint for the thoracic (red), and 1 or 2 joints for the cervical (green).

    Not sure which program this is in, or how the axis is aligned, but if you're using Euler rotation on those arms, you should re-order them so that the 1st axis is the twist axis, down the length of the bone, and then the 3rd axis would be the main bend angle, or the axis that needs the greatest range of motion. In the case of the arms, that would be the axis that rotates the arms up and down. It's not going to prevent gimbal lock in all poses, but it should at least keep you away from it in normal idles and basic motion.

    Likewise with all of the joints in the hand, especially the finger joints. 1st axis is twist, 3rd axis is bend. The elbow isn't such a concern as only rotates on one axis.

    Or switch to quat/TCB and avoid the mess all-together.
  • Wrath
    Options
    Offline / Send Message
    Wrath polycounter lvl 18
    Don't build the clavicles pointing upwards - keep them straight, or even pointing downwards. If you don't you'll get some horrible gimbal lock issues with the arms hanging down.

    Could you explain this a bit more? Are you referring to the geometry, or the joints?

    I can't recall ever running into gimbal lock with the clavicles joints themselves. They don't rotate that far and really only rotate on two axis. You can twist them here and there to help out with some deformation, but not nearly enough to be getting anywhere near gimbal lock. I generally don't even bother with axis order on them.
  • Mark Dygert
    Options
    Offline / Send Message
    I haven't read the thread but this helps with joint placement, topology and range of motion. Really good stuff. www.hippydrome.com
  • asjo07
    Options
    Offline / Send Message
    Wrath wrote: »
    I'd highly recommend twist helpers in the upper arm, wrist, upper thigh, and possibly the ankle. Even if they're not scripted to be driven by other joints, just having them in your skeleton and weighted properly will let you straighten out some poses that would otherwise be impossible to deal with.

    I'm not sure what you mean by twist helpers? Not sure I've heard about these before!


    And thanks for all the great pointers!
    Also Thanks to Mark Dygert for the great reference!
  • Rick Stirling
    Options
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    Wrath, I've seen the gimbal issue in shoulders with the clavicles pointing upwards. The clavicles bones are, let's say 30 degrees. The arms are hanging down, not quite straight, let's say 10 degrees off vertical. The actual joint is 20 degrees past a right angle.

    Throw in a twist bone and you can get all sorts of confusions as you pass through that 90 degree point.
  • Wrath
    Options
    Offline / Send Message
    Wrath polycounter lvl 18
    Wrath, I've seen the gimbal issue in shoulders with the clavicles pointing upwards. The clavicles bones are, let's say 30 degrees. The arms are hanging down, not quite straight, let's say 10 degrees off vertical. The actual joint is 20 degrees past a right angle.

    Throw in a twist bone and you can get all sorts of confusions as you pass through that 90 degree point.

    That sounds more like a gimbal issue with the upper arm itself. Certainly an issue I've run into with joints built in the traditional T-pose. In Max at least, leaving the standard rotation order of XYZ leads to gimbal lock by simply rotating the arms down. But switching the order to XZY at least avoids gimbal lock in that very common pose.

    As for axis flipping, Felix Joleans has a good write up about that on his site, as well as a couple of script controllers for dealing with twist helpers that I've had a lot of success with.
    http://joleanes.com/tutorials/flippingless/flippingless_01.php
    Long and short of it is, I've tried to avoid using the 2nd axis for the rotation of a joint I expect to go beyond +/- 90 degrees...and really the only part of the body where that's even an issue are those damn upper arms. So you pick the lesser of two evils and hope for the best. Converting quat rotation (orient constrained or IK joints) to euler angles for script controllers using the same princples for axis order also helps.

    I also typically have a null object between the upper arms and clavicles (likewise with the thigh joints), which nullifies any rotation on the clavicle joints themselves. Very rarely do I want the arm orientation to change while rotating the clavicle joints.
Sign In or Register to comment.