Leg rig bends for no apparent reason

Hey Blender-ers.

Original thread about the not-bending legs has been resolved thanks to Ridix and Animynous. thanks guys :slight_smile:
Now moving on to a follow-up problem.

I now have a rig with two identical leg rigs set up, but for some reason the left leg bends while the right leg remains straight.
specifically: the head of the upper leg bone jumps away from the empty it’s been parented to (through bone contraint), causing the leg to bend. however, this doesn’t happen to the other leg.

all the bones in both legs and all their empties have identical constraint and transformation settings (with exception for their x-axes, since they’re on either sides of the model), yet for some reason the problem only occurs in the left leg. I’ll post some pictures.

so if anyone recognizes this problem, please tell me about it and how you solved.
I’ll be here…
waiting…

thanks in advance :slight_smile:

Attachments


You got Emptys all over the place. Are they all IK targets?

As for knee not bending properly, try adding a little bend at the knee. Right now the leg bone chain and IK target is all lined up perfectly and Blender is clueless which way to bend. Bend at the knee tells Blender which way to bend.

To ensure a limb such as an arm or leg bends correctly, make sure the bones have a slight bend in them to begin with.

Make sure the Chain Length in the IK Constraint settings is set to the right number of bones involved in the IK, in this case 2 bones, currently you have it at 0

thanks guys. I did this, and it worked :slight_smile:
I was surprised it worked, since i made the exact same rig before without a bend in a differend blend file, and it worked perfectly.
however, I do have a different problem now. If you guys 'd be nice enough to stick around i’ll just update the original post, so I won’t have to make two posts about the same rig. If not, I still say thank you. it is much appreciated :slight_smile:

This kind of thing can also happen when you don’t have your bones axis aligned properly in edit mode… check that… the Upper Leg and Shin bone should both have their Axis pointing the same way… you can turn ‘axis display’ on by going into Edit mode… > Object Properties Panel… > Bone Data (the man icon) > Display… check ‘axis’… now you can see all your axis for all your bones and which way they are pointing… Use… Ctrl+R to adjust bone Roll to align all your axis to other bones… You also can adjust bone roll in the Transform Panel on your Right hand tool bar in the 3D view…

Hi ChocolateCake,

What flavor is the frosting today? Personally, I like a light ganache if the cake is rich and dense. Thick fudgy frosting on a dense cake is only suitable if your trying to kill yourself eating…

Anyhow, joking aside and I’m joking and hope I don’t sound like a snob, but allow me to point out a few things that might help you and others as well.

Around here, (on this forum), instead of editing your post with a new problem, it’s just best to start a new post. This way, if another user searches for the problem you originally had, finds your original post and reads the original replies you had, might be helpful to them. Think of it as an archive of solutions to problems.

Posting a .blend file will help others to help you. Just like calling your car mechanic and telling him a problem your having with your car, he’ll tell you to bring it in so he can look at it. Get under the hood and look at things…

Looks to me like you’ve rigged in max/maya or some other package where using empties as controls is common. It’s not common in blender. In blender it’s best to use bones as controls like you knee targets and here’s why. In the dopesheet editor you’re bone’s keyframes will be set in different channels than your empties will be. At the same time, your camera keyframes will be in the dopesheet as a different channel, add in another character with empties as controls and you’ve added 2 more channels. So now you got lots of channels in the dopesheet. The dopesheet can be switched to an action editor and with an armature in pose mode, now only the channels and keys for the armature are visible. If you use empties as controls they won’t be visible in the action editor, you’ll have to use the dopesheet with all those extra channels.

Now, as to your problem, and this is why I’m responding.

I now have a rig with two identical leg rigs set up, but for some reason the left leg bends while the right leg remains straight.
specifically: the head of the upper leg bone jumps away from the empty it’s been parented to (through bone contraint), causing the leg to bend. however, this doesn’t happen to the other leg.

Couple thoughts, the head of the bone moving away from the empty could be because the constraint not set up right. And what norvman mentioned about the axis. Does the leg that doesn’t move when switching to edit mode behave as you expect?

Here’s a stupid question, have you moved the empty any? There’s an orange dot for the empty’s origin when the empty is selected in object mode, is it where the head of the bone is, or where the empty is?

Yea, ya better bring it on down to the shop and let us have a look at it… (aka, post the .blend file)

Randy

thanks you for the helpful replies :slight_smile:
That’s a good point about the changing the thread. I come from a number of forums where editing the original thread is preffered because otherwise the users clog the feed and memory.

Also, I’ve never used maya or any other 3D modelling software before, but I am pretty new to rigging (or animating in general, since my models so far either required no animation, or animations simple enough to make with simple keyframing and basic bones). I used the empties because the tutorials i watched told me to, but I do have to admit that i do like being able to freely change the shape of my controllers (through empties or curves). as for the channels, NLA editor and stuff story, I’m still too new to this to actually understand what the function of the NLA editor is, and how to use actions and stuff, so you might as well tell me the advantages of it in ancient latin :stuck_out_tongue:

now, back on track:
As i mentioned in the original post, both the empties and bones have the same transform settings (including their roll), and the empties and bones line up. The constraint settings are also the same.

I usually don’t feel comfortable about posting my blend file. I’m not really sure why. I’ll post a blend file with the rig in a minute. perhaps I made a weird mistake somewhere. Hold on…

here it is :slight_smile:
Bobby2.blend (705 KB)

(also, i can’t get the fingers to rotate correctly, so if anyone has any tips on that, i’m open to it :slight_smile: )

Looked over the file you posted and I don’t really understand what is going on there. As I’ve said before the use of empties as you are using them is not normal rigging practice, perhaps this use is a bit buggy. Here’s what I noticed about your file…

Just like the mis behaving leg, that jumps around when going from edit mode to pose mode in the leg, the lowest spine bone also scales on the y-axis at the same time. And just now noticed/found a spline IK constraint on the spine. That constraint isn’t set up properly and could be the cause of most of your problems. Never looked at that until just now.

Anyway, last night when I was combing thru the file, noticed the leg problem, noticed the spine problem, and a few other things. On the leg that is behaving correctly, if you select the bone with the child of constraint on it, hit the ‘clear inverse’ button on the constraint, then hit the ‘set inverse’ button, the good leg acts like the bad one. Typically, when I use this constraint, that’s the process I have to go thru to get the object lined up with it’s parent object. So, I’m not sure what’s going on there.

Your hands not moving is because there is a conflict with your constraints & empties. Open up a console window (windows machine, top most menu next to ‘help’ - choose ‘window’ and ‘toggle system console’ to open. On linux, launch blender from the console), and go from object or pose mode on the armature into edit mode, then back to the mode you were in (tab, then tab again) and you’ll find error messages in the console telling you there is a conflict with the hand empties and the constraints.

As to using empties as controllers because you like the shapes, you can create custom mesh objects and use them as shapes for bones. Oh, and almost forgot to mention, if you replace the child of constraints with copy transformation constraints on the legs, they appear to act normally. But here again, other errors might be causing problems.

I’m sorry, if I had more time, I’d show you better ways to rig this. I’m curious as to what tutorials you learned this method from…

Randy

Lissen to Revolt Randy this guy knows how to Rigg…

in addition to RR’s comments… my suggestion after looking at your file… lose the Spline IK on the spine… even though Spline and Spine sound the same… they really don’t do the same things especially when using them in character Rigging… you have taken on a whole passle of problems by trying to use a Spline IK constraint on your characters spine… there are much much easier ways to do this and get great results… do this and you will have a better rigg…
I understand the want of using a Spline Spine… I come from XSI Rigging where we used these on a regular basis and they work great in that Software… but not in Blender… you just simply get way way better results without using Spline IK on a Character Rigg…

also… all Riggs need a Root bone… you don’t have one…

another problem I clearly see is that you have used empties as Parents of other bones and objects… then Scaled these empties along only one axis… resulting in skewed transformations of all the children below… because you have parented the leg bones to an empty that has been scaled in an odd fashion your legs bones have also been skewed as well… the commands… Apply Scale don’t work on Empties… (at least not in my experience) So however you have changed that Empty all the Children below it are going to be changed right along with it… So in the current configuration you using you can’t scale your Empty to make it look better… you have to leave it at is full size or you mess up all it’s children below it…

What really needs to happen in this Rigg is you need use bones to as your Controllers… then use Empties as a “Custom Shape” such that your Ctrl bones show as if they were the Empties… This option can be found on any Bone by going to the properties menu > Bone (the bone Icon) > Display > Custom Shape and select the Empty you want to use there…

Also if your going to use IK to control your Arms… you must have a Pole Target for the elbows to point at… or you will not get good results…

On your IK constraints on your Arms you have a limit Rotation Constraint… Throw that away…
Instead use the IK limit Rotations… Goto Properties Panel > Bone > Inverse Kinematics (this panel will only be there if you have placed an IK constraint on that bone) and lock off any Axis you don’t want the bone to Rotate in… In this case you want the Forearm to only Rotate in the X axis… so lock off Y and Z…
Remember that bones opperate in Local or normal space… not Global…

Here’s your Reworked file…

[ATTACH]220475[/ATTACH]

I by far did not fix everything… but I study what I did with the spine… I got this spine idea from Nathan Vegdahl… who has a training DVD on the Blender site called “Humane Rigging” I highly recomend it…

note that the 3 controlers on the back of the character control the head and spine Rotations only… also note that I reworked the Arms so study those also…

have fun and good luck…

Hey guys, sorry it took so long to get back to you. I’ve been busy studying.
However, I read your comments and redid the entire rig. this time I used an armature instead of empties, as you guys recommended, and the original problem didn’t occur. I also used the example you gave me, norvman. I used the spine rig you showed me, and although i’m not sure if I like using that one better than my original, it does work smoother, and with less problems. I also fixed my additional problem with the hands. not sure what I did different from my original, but it works now, and that’s what matters.

thank you guys so much for the advice. It was very helpful :slight_smile:

I understand where your coming from on using ‘spine’ based riggs… alot of 3D software ‘need’ that Spline… in the Armature to make it work smooth… XSI is very much this way and I have been told this his how you Rigg in Maya to get good results… however it is an unnessary element in Blender… for what ever reason Blenders Rigging model is very stable in this Area… probably because it incorporates Quarternion mathimatics from by default… most other 3D softwares traditionaly have not had this… anyway… Glad your moving along with it… Blender interestingly enough is an excellent Rigging platform… I have Rigged… or attempted Rigg in many different softwares in times past… Lightwave, Maya, Max, XSI… Blender IMHO opinion is all these equal in the Area of Rigging…