Robot amarture - there has to be an easier way!

Hi blenderheads,

following situation: robot model, consisting of multiple objects, some joined, some not. Has four legs, two arms, all of them with joints.
Now the tricky part for me, I dug into some armature/rigging/IK tutorials and they give me a headache, so please let me explain what I would like to do. I don’t care for that hole IK resolver/IK chain crap. All I want to do, is to assign every bone a certain DoF and move them bone by bone. What I don’t understand is, that Blender insists of only giving me the DoF option when the bone is in an IK chain. Is there a way around that? I really don’t mind animating each bone by itself, as long as they stick together and do not overstretch the robots joints (hence the DoF).
Hope that was somewhat understandable. I drew a little sketch to visualize my problem. It’s not my actual armature, just an example.

http://img508.imageshack.us/img508/8745/blenderbonesnc5.th.png

Thanks. :slight_smile:

skypa

AFAIK, degree of freedom limits can only be used in rigs with IK setups. Sorry. That said, if you’re the one doing the rotations, why not keep the Transform Properties floating tab (NKEY) open and keep an eye on the rotations as you move them manually. If you’re controlling every bone, then you know where the limitations are and you don’t have to have preset DoF limits. In IK, the software figures out where some bones go, so the software needs to informed of what you already know (hence the need for limits when using IK rigs).

Long story short… unless you can convince someone to code it (or code it yourself), you’ve gotta keep track of the limits yourself.

Already done ;-). It’s in CVS, so the solution is on the way. The bad news:

CVS is unstable, so I would not really use it now…

Alright, I got that. Now let me ask another question. Is it possible to have multiple IK resolvers per chain? As an example, I pull the IK which is attached to a palm bone to drag an arm around. Now I might not be happy with the location of the ellbow, can I attach some sort of a handle to the ellbow bone to pull it back a little? If I do that with IK, nothing moves anymore.
Same thing with fingers. How do I move fingers, since if I attach an IK to each finger, grabbing the palm-bone IK resolver doesn’t move the “chain” anymore. :confused:

Thanks for your answer. :slight_smile:

edit: good news SoylentGreen :slight_smile:

You could put an IK-Solver Constraint on each bone with a ChainLen of 1, then set your DoF’s, or you could use an Action Constraint, or both.

%<

Thank you very much, this hint helped a lot! :slight_smile:

Haha, you’re right! My mistake. I’d totally overlooked those constraints in the list (I use the CVS version for most of my work).

For those interested, the DoF limits for non-IK bones aren’t in the same place as the ones for IK bones. You use the constraints system to implement them. This means that there’s (as far as I can see) no cool visualization for the limits like there is for IK bones, but at least it works.:slight_smile:

IK on the fingers should not affect IK on the arms unless you forgot to set the chainlen to limit the effect to just the finger bones.

To control elbows, you can use a floating target bone and, if I recall correctly, you use a TrackTo constraint on the upper arm to make it point toward the target bone. Parent the target bone to the root bone or maybe the lower torso bone to help keep them under control. The same solution is also usually applied to knees. You should see examples of this in numerous rig tutorials and presumably in some of the downloadable rigs.

IK chains aren’t crap - they just have their place. Arms should mostly be FK since 90% of the time you want the freedom to move them anywhere and IK limits that freedom. Legs are usually IK because 90% of the time you want to move everything except the feet.