I figured it would be time to try and figure this out, since this issue has been a constant problem on my mechanical models.
Okay so Basically i am trying to rig, A wooden puppet style thing, and with most of the joints they are those sort of balljoints style thing you see on mannequins, 2 Half Spheres Connected Together with a Peg connecting them to the limb, So naturally one of the Half Sphere, the Upper Arm one will only Rotate on the Peg, but im having alot of issues trying to rig this, to have the objects only follow part some of the Axises of the next bone.
A rough Mockery of the Design layout and the basic bones i have for it. My problem is i already tried Limit Rotation on the Blue one and that did not work, it still then just twisted and rotated in weird ways since through moving the bones they get a mix of X and Y rotations.
So my Question is of course, is their anyway to do this, to have certain objects only constraint to certain axises of a Ball Jointed Armature. While i understand i can just make many bones and use Limit Rotations i want to try and get something that at least gives me the ability to do some basic IK rigging on it.
Attached in the Blend File, i understand i probably did a fairly bad job of explaining it, but basically how do you rig a machine or robot with a Balljoint or IK Able Armature, when the Robot in question does not have Ball joints for its modeled joints and instead has more realistic mechanical joints that can only Rotate in specific directions.
He who does not apply rotation and scale before rigging ends up in a morose of unexplained movements with constraints. Also try euler to simplify your movements instead of quats. Consider making your balls part of the mesh that moves.
I had applied Rotation and Scale before, and had tested it but it seemed to make no major difference. I will try and look into EULER stuff but ill admit its all still rather confusing to me. With the above images my intention originally was to have the joint be able to rotate without it requiring to the upper arm to rotate aswell, that was why i had them separated.
Update i just tried a Basic IK Rig with it and tried to use Limit Rotation on the lower arm so it would not bend it ways i do not want, that did not work.
So i suppose a more streamlined version of my question, how do you IK rig a Robot or Machine that has dedicated objects that hinges and joints that are only meant to move in specific ways, considering that rotation constraints don’t seem to work.
EDIT: Solved it at least for the elbow, using the Limit and Rotation locks in the Bone tab for IK stuff, that seems to have it doing what i need it to do, Shoulder may present another challenge though
Hey, That is exactly how you do it - nice job on figuring that one out
The key to rigging mechanical stuff is to keep it as simple as possible and on as few axis as possible. Euler rotation mode is mainly all you ever need and locking axis that are un-needed/used is a must. Mechanical rigging tutorials are great learning tools along with Nathan Vegdahl rigging tutorials.
If you want to look at this file, it has a stuff that will help you , if not just ask me. https://drive.google.com/open?id=1k_GhI8pai2UX81ii_522z4sMqh6Mn8F4
DISCLAIMER : File saved in 2.76,if your using 2.7x it will open fine…IF your using 2.8x then ‘APPEND’ the ‘Objects’ into your version.
So another update, i managed to get most of it working now, i originally started and followed the tutorial in this thread Rigging mechanical joints
After some fiddling and stuff though it was not really working in a way a wanted, the shoulder bone tended to go a bit crazy with the twisting. So while it was a good experimentation, i ultimately dropped that method, luckily i managed to find a somewhat more straight forward method for this.
This seems to work while being quite a bit more simple, the biggest thing i got stuck on, was that i had to make sure my mechanical joint’s mesh was rotated the right way to line up with the bone constraints.
So the only issue them i am having with following that is that i cant set up IK Pole targets without it making stuff weird.
So it works somewhat fine without the pole target, the issue is of course then without a pole defining where the arm should rotate to it is tricky, and while you can define the rotation like a Pole using the topmost upper arm bone and rotating it, its still a little inelegant and causes some snapping issues.
Adding the Pole Target as normal causes other issues, the Elbow refuses to then move anymore.
Hey, Things I notice right away; all your bones are using quaternion rotation mode and you have not locked any axis. This is going to make things a little more difficult if your a beginner, keep things as simple and basic as you can, then build on that.You have built the arm & shoulder straight which will confuse your IK chain, it needs a little help to decide which(direction) to bend. You give it a slight bend when you build it in edit mode.Bone placement looks good but the upper arm and lower arm (bones) should be connected at the elbow joint, that is where you give it a slight bend for IK.
Also don’t know why there is an extra bone in the arm ,but I deleted it.The mesh parts have rotation on them which I cleared. The 'Pole" target is doing something bad , its causing the locked axis of the bones to rotate - not good at all. I rarely ever use pole targets (im more mechanical rigger) so I just would not use it, but I really can’t say why its acting like that.Here is the modified file.
DISCLAIMER : File saved in 2.76,if your using 2.7x it will open fine…IF your using 2.8x then ‘APPEND’ the ‘Objects’ into your version.
The bones were just two pieces because of the tutorial i followed.
Thank you so much for the help with all this, i may still have to look into pole target stuff, just because while that is great im just a bit concerned about not be able to rotate or twist the elbow as that somewhat limits some poses. IE with it in the current form, i cant do something like this
Just because i cant use Poles to define what direction the elbows should face. Unless im missing something and your Rig does somehow let you rotate the upper up to define the Elbow direction?