One thing you can do is get rid of all the empties, they really don’t offer any advantage over using bones. In the example rig I posted, that’s what the two anchor bones act as, they are for the location of the bones cylinder & piston, then just position the piston & cylinder meshes in the correct locations and parent the meshes to the bones cylinder & piston. Please note, when the armature is in pose or object mode, everything lines up correctly, but when you enter edit mode, bone’s shift just a bit - the cylinder & piston ones that is. The reason why is my ‘eye balling’ the alignment of those two bones isn’t as accurate at blender’s track-to constraint. So if the cylinder & piston meshes are parented to the bones, when you enter edit move for the armature, the piston and cylinder won’t line up correctly and the whole thing will appear broken. It’s no big deal, as you would never render the thing while the armature is in edit mode. Edit mode is only for working on the armature, not using it.
Anyway, as to your real question, yea those limits you set won’t do any good. You are looking at this arm as it actually exists in real life, the piston & cylinder define the movement & limits of movement based on their mechanical abilities & limits. In cg rigging, it’s sometimes easier to do the reverse of real life, like in this case. In the example I posted, the arm is what you would pose, the piston & cylinder are passive - they are just here for appearances. You pose the arm using the arm bones, where as in real life the arm would be posed by the piston & cylinder bone. It’s done this way because it’s easier to animate, you can position the arm precisely where you want it, where as posing the arm via the piston bone would be alot more tedious to get precise control. So to limit the rotation of the arm so it doesn’t go past the limits of the piston/cylinder, you’d use a limit rotation constraint on the lower arm bone. See attached .blend…
Take a close look at the constraint and how it’s set up, it limits the rot of the lower arm from 90 to 20 degrees. It 's also a good example of what I mean by the model moving when entering edit mode. With that said, I rarely even bother to limit things like this, only if it is necessary for some reason or effect. When animating it’s up to you not to move or rotate the parts in ways that it can’t be moved in. Good example - airplane rudder, without limiting the rotation of it, it would be possible to rotate the rudder 180 degrees so it backwards and inside the tail fin. In real life this could never happen, so when posing the rudder, just don’t pose it in such a way.
sorry for the wall of text,
Randy
Attachments
exampleArm.blend (319 KB)