Hi fellow tech-artists. I have hit a rigging snag when it comes to the dreaded shoulder area. I was wondering if there is a standardized way to extract only the twist values of the shoulder and avoid the mixed rotation values that you get from gimbal. Thanks!
This is a classic problem and one for which there’s not one great solution. Here are a couple of common ones:
-
You can build the skeleton with the arms in rigid T- pose so that the shoulder-elbow line is the same as the clavicle-shoulder line. If you do that, and make sure that the first euler rotation (the ‘x’ in ‘xyz’, or the ‘z’ in ‘zyx’ , etc) is the twist angle, you can use the first euler as a pretty good proxy for twist. The common trick is to add extra bones which are physically located at the joints but hierarchically siblings and use them to split the rotations.
-
You can create a secondary skeleton that works the same way as the one in (1) but is not part of the deformation skeleton - it only serves to derive the twist
[QUOTE=Theodox;22636]This is a classic problem and one for which there’s not one great solution. Here are a couple of common ones:
-
You can build the skeleton with the arms in rigid T- pose so that the shoulder-elbow line is the same as the clavicle-shoulder line. If you do that, and make sure that the first euler rotation (the ‘x’ in ‘xyz’, or the ‘z’ in ‘zyx’ , etc) is the twist angle, you can use the first euler as a pretty good proxy for twist. The common trick is to add extra bones which are physically located at the joints but hierarchically siblings and use them to split the rotations.
-
You can create a secondary skeleton that works the same way as the one in (1) but is not part of the deformation skeleton - it only serves to derive the twist[/QUOTE]
I think that I understand what you’re saying. By breaking each axis up into it’s own joint, then you have a more pure axis rotation value than if it were on one joint.
Is there a specific rig that you know of which uses this setup? I would love to take a look at it.
I wasn’t really suggesting breaking the rig up - just being deliberate about the rotation orders and construction so you have a good starting point.
“Twist” is a tough concept to translate into euler angles; it’s a lot easier if you make the twist axis come first in rotation order, since it’s less likely to be messed up by gimbal lock. The drawback is that you 'lll have to build the skeleton in an unnatural pose and them rotate/move it into the bind pose, which tends to irritate you animators since they get used to thinking ‘bindpose = 0,0,0’ regardless of how little sense that makes in geometric terms.
The other wrinkle to worry about is tools like IK and constraints. You don’t always get to choose the way in which your rotation values get eulerized, and it’s possible for two bones to have identical orientations and still have different euler values.