Ultimate Human Rig

This rig has a user friendly design with elbow knee and foot control.
Select a Pole Folder when the Transform Tool is active and you can rotate it around the IK vector.

For individual Foot/Leg control the move the circle spline.
For both feet, use the large square spline.
To roll onto the balls of the feet rotate the small square splines.

Feel free to use, improve, modify and ask questions.
Please post any cool variations you come up with.
 

Attachments

  • Ultimate Human Rig.zip
    40.6 KB · Views: 344
How do you get your joints oriented in that manner? I know you use the Joint Object rather than the tool, but every combo of the Orient Tool has one axis going down the length of the bone. You's does not.

If you see my post about to orient or not, you can see I'm having a problem when I orietn my jonts, but not if I don't. Kind of doesn't make any sense.
 
In order for me to get good rotation, I need to have one axis in-line with the bone. The key is just to have the axes match the world coordinates as close as possible. If your arms are along the X axis at zero pose, the X axis should run in-line with the bone. Note that the opposite arm will have the X axis 180* of the inline to keep it true to the world, but it is still following the same vector.

The legs running down the Y axis should have the Y 180* of the bone and so on. Just keep the X and Z pointing in the same general direction as the world.

I don't worry much about bone rotation and axis alignment during placement. Once I am happy with all of my bone locations I re-orient the joints using the tool to get the closest I can to the world, then manually rotate the origins from there. If done right, you should only have to rotate along one axis and only at 90* or 180*. I set my rotation snap to what I need and can blow through a lot of bones real quick. Also note, you do not want to use the orient joint tool on the entire rig. Use it on one limb at a time. Make sure you have that limb's root selected and make sure you have the hierarchy check box checked.

Zoo may have a better way to do this, but this works for me.
 
It;s odd how some orientations don;t seem to work and messes things up when adding IK. Y pointing down the axis seemed to work, but Z pointing down messed everything up.
 
I always get backwards rotations on one leg when I have the Y axis in-line with the bone. (i.e. inverted from world coordinates) No matter what direction the other two axes are going.
 
How do you get your joints oriented in that manner? I know you use the Joint Object rather than the tool, but every combo of the Orient Tool has one axis going down the length of the bone. You's does not.

If you see my post about to orient or not, you can see I'm having a problem when I orietn my jonts, but not if I don't. Kind of doesn't make any sense.
I seem to have inadvertently avoided a lot of trouble with my method. I did some testing with a leg with -Y up and had some flipping.
Same rig with +Y up and no issues. I'll have to do a tutorial and you guys can see what I'm doing differently.
 
That would be great. I seem to have better luck just leaving the bones the way they are when made rather than orienting them. As long as all the axes are the same, it seems to work fine.
 
This setup would be improved if I could figure out how to keep the Pole vector 90 degrees to the IK vector.
As it is if I raise a hand way up the arm flips when the Pole vector crosses over the IK vector.
It's not a problem though as I can usually pre-position the Pole so there's no crossover.

Rig Rider:

uhr-rider.gif
 
Here's a gif showing how I start building a human rig.

I found a great instructional image with human proportions as a background.

Keep bones vertical or horizontal and there's no orientation problem.

Open the file in Preview to go page by page.

rig-build.gif
 
Eventually, you have to rotate a bone in a non horizontal or non vertical setting, like the hip you have. So, you don;t actually have to have an axis going down the length of a bone, then. As long as all the bones in a hierarchy have the same axis position, things should work fine?
 
If it is a bone you plan to rotate along its axis, then yes, you need to make sure you have an axis in-line with the bone. The hip bone does not rotate this way, so that does not matter.

If you had a femur (thigh) bone that was not completely vertical though, it would have to have an axis inline or it would wobble when rotated. Just align the closest axis with the bone. As long as it's close to the world, it works. Use the joint orientation tool and align it with the Y axis. Then manually rotate the origin 180* so that Y is close to up.
 
So many possibilities, what ever gets it done.

I'm just a little OCD when it comes to rotation values starting at zero.
But after putting on an IK handle it all goes out the window anyway.

Here's the finished half rig.

Rig Build half.jpg
 
Eventually, you have to rotate a bone in a non horizontal or non vertical setting, like the hip you have. So, you don;t actually have to have an axis going down the length of a bone, then. As long as all the bones in a hierarchy have the same axis position, things should work fine?
It's not so much having an axis down the bone as a plane.
As long one plane splits the bone in the direction of rotation.
A plane being described by two axes.

The Pelvis is a compound bone, and a root joint connector.
You know the ones that disappear when a connected Joint is set to Root.
If you look at it, it is lined up as a whole unit.
 
OK. Think I got it, now. I just haven't found an orientation using the Orient Joint Tool that allows me to add simple wrist rotation. I will experiment more, but lots of combinations I tried made the rotation on the wrist go all askew.

The Reset Axis script should zero out bones if needed.
 
If you need to zero your rotation after the fact, you can pull the bone in question out of the hierarchy, set the rotations to zero, then put it back in the hierarchy.

This is how I mirror my rig as well. I duplicate the hierarchy, pull the bones out of it, give the X a negative value, then put it back together.

Just something else to keep in mind if you do not have a script.
 
There's a pretty nice plugin from Hiroto for mirroring parts of your hierarchy.
Yep! And, if you use R or L in your naming convention, it will change R to L or vice versa in the name once the joints are mirrored.

There are several scripts from Hiroto that I think are essntial for rigging.
 
Back
Top