Am trying out a few methods of forearm twisting to try and avoid the problems with twisting the arm at the wrist. The armature is based upon the actual movement of the forearm bones (a hinge joint at the elbow doesn’t cut it, unfortunately)
The basic set-up is that the ulna bends but doesn’t twist. The radius rolls over the ulna at the wrist end.
It works well with quaternions enabled with minimal adjustment with weight painting and no shape keying. The deformations that result are actually not too far from the appearance of the arm in different positions anyway.
A few things I can’t figure out - how to flex and extend the elbow so everything stays together! This is important!
Controlled by ‘dial’ bone which has its rotation copied by a small helper bone which the radius it attached to.
It is a little hampered by a very basic mesh (extruded cylinder briefly sculpted) and me being a total n00b - hopefully as I find the optimal ways to weight paint, how to use the pose mode constraints etc. it will improve.
have you tried B-bones? you can set the segments of the forearm to say, i dunno, 5 or so, and you’ll want to set the in and out both to “0.00”, or you’ll get weird “S” shapes on it. then you can twist the hand, and the forearm (as long as it’s the hand’s parent) will do a gradual twist, rather than JUST the hand twisting.
… now that i’ve read over that, it makes sense to me, but it might be confusing to others, was i clear at all?
I tried B-bones but they are limited because they are essentially one bone with different parts twisting. I got much better results much quicker this way - it just remains to be seen whether I can integrate it into a useful armature. I think the look is much more authentic this way (feel free to disagree!). I think if I adjust the mesh to a mid-rotated position I would ge even better results rather than the current one (mesh was in fully supinated position to start but still deforms well). This way is more biomechanically correct.
actually, i was just trying to test the skinning out with your arm mesh, and it doesn’t work very well. as just a plain skeleton, it looks good, but to try and use it to deform a mesh, i don’t know if it’ll work the way you want. go ahead and try it out, maybe you can do something i didn’t. but IMHO, i think b-bones is your best bet for rigging, no matter how unnatural the skeleton may look.
I like that rig - could almost just use it as a character. There is one fundamental problem though - you have modelled the radius and ulna wrongly. The ulna makes the elbow joint, and plays essentially no part in the wrist. The radius is the site of rotation at the elbow (as opposed to flexion / extension) but makes up the main part of the wrist. Try it with remodelling the ends of the forearm bones so that they are the other way around (i.e. the radius is big at the wrist end and is attached to the hand, the ulna is small and just hangs around but is the axis of rotation for the far and of the radius)
i don’t know your background in anatomy, but remember, the radius and ulna lay side by side when the palm is facing forward or upward and the thumb is facing out, whereas they cross as the thumb passed forward or upward moving toward the body and when it is pointing toward the body. i think your rig is designed to move backwards, or with the bones in the wrong position, but i could be wrong
I was trying to make a more anatomically correct rig to see if it would fix deformation issues - which I think it does - the problem is I’ve not been modelling or rigging long enough to optimise it so I can properly show it off.
At the moment I am trying to learn lots of things at once - hopefully in a few months I can come back to things like this and apply what I learn from all the tests I keep doing to get a better rig,
i wasn’t going for realistic anatomy at all, i was just creating it to work mechanically as you described. the “bones” i threw in for looks, i know they aren’t exact.
the construction of the rig is as follows: (i’ve had to refresh my knowledge on the skeleton for this ) we have the humerus, the radius and ulna are both children (the ulna is connected, the radius is not), tracking (pointing at) to the two carpals, which are children of the hand. so when the hand rotates, it in turn rotates the carpals, which rotate the ends of the radius and ulna. then we have the forearm control bone that controls the rest of the arm when IK is used, and the hand is moved, rather than rotated.
as i said, it looks good just as a skeleton, but i couldn’t get the mesh to look well when the weights were added. everything wanted to rotate in strange ways… perhaps with this basic setup, you can change it to work the way you want.
Well both your rigs seem interesting but (please don’t take this in a bad way) seem to over complicate the situation … You can get a good FK setup using just using the armature hierarchy and the transform properties locks …
The setup on the right simply creates a linked chain that goes HUMERUS>ULNA>ROT>RADIUS with the radius pointing back to the root tip of the ulna . The ROT bone is actually the bone that rotates not the radius itself . This is to 1) simulate the wide end of the humerus that pivots around the spur end of the ulna and 2) since the ROT bone is the parent of the radius when it rotates so does the radius …
There is no reason why the radius has to point to the wrist for the deformations to work properly … or have the radius be the child of the humerus … unless you want a round of “dem bones” …
And speaking of deformations … I also added a non anatomy based rig that is commonly used for animation on the left . In this setup all you do is to divide the forearm bone into radius/ulna bones but keep them inline … a very simple linked setup … and all I did was simply duplicate the mesh with its vertex groups (all are set to 1.0 influence - and I’ll admit this is not the greatest of models, but it only took me 5 min to do) and parented it to the rig … and well, other then the fact that with this kind of a setup you need to center the armature better (it’s a bit off - but then again I just eyeballed it) … I really don’t see a great deal of improvement with the more “anatomically correct” setup …
Most deformation issues have more to do with bad topology then anything else, especially since we have the new quaternion space option which fixes the shrinkage issue caused before by the subsurf modifier when a part of the mesh got rotated … that and understanding how weighting works …
Speaking as someone, who when I first started using Blender and CG in general, tried building anatomically based rigs and wound up with something way too complicated to animate easily, I have become a convert to the KISS principle (I have been studying anatomy/biomechanics for 20 + yrs … in fact I recently built an anatomically correct synthetic skeleton arm from scratch … and let me tell you the ratio between the hinge of the ulna and the rotation of the radius is a very tricky thing to do in real life) when it comes to animating …
Using constraints first to set up rigs I have found is usually a bad ideas … They can radically change (like with the 2.46 release) visually and even sometimes functionally since Blender’s animation system is still relatively young . It is better to use a more fundamental “system” like armature hierarchy to build your rigs … and only resort to constraints if you can’t get the desired result .
I am still very inexperienced with blender. The problems are:
my modelling is shit
my rigging is shit
my experience of different rigs and their advantages / disadvantages is shit
I am playing around with different things (as you did) to see what works - posting them in the forums here I find very useful because people give feedback (often because they’ve done it themselves and have already come to the conclusions that I haven’t yet reached).
Although there are a lot of rigs floating around, it can be quite difficult to figure out what’s going on under the hood until you do it yourself.
The other thing is - despite all the things I can’t do in blender, I do have a lot of anatomy knowledge. It figures that if I am having issues with a rig (either due to poor mesh, poor armature, poor vertex assignment, poorly placed armature, or simply not doing it a good way) I would turn to what I do know.
I get much more out of the forums when I post my own experiments and get told what the problems are - what the forum could do with are some humanoid rigging setup threads (e.g. just forearm, crotch, arms, etc) so that people like me could come along, see how they are done and compare different techniques without downloading something like mancandy / ludwig (which seem straightforward until you see all the layers and hidden bones).
Thanks for the input. I will look forward to more with my next experiment!
(I’m aware this is resurrecting a relatively old thread, but figured it better than starting a new one on the same subject)
I think the best arm setup is the one on the left in Vertex Pusher’s example blend above, with the forearm using two bones. Is there a way to achieve the same thing with b-bones? I’ve got my arm bones rotated so that the X axis is the primary angle of rotation, as described in Cessen’s tutorial on the BBB DVD, and when I segment the bone it pops into a crazy shape, twisting the mesh all out of whack.