Register      Login
Published Date:
AuthorCalvin – www.elysiun.com member
Hyperlinkhttp://blenderartists.org/forum/showthread.php?t=75193
CategoryAnimation
TitleFoot Rig (without action constraint)

TUTORIAL AS QUOTED FROM SOURCE

Introduction
I have attempted to replicate the functionality of Ludwig’s Foot Rig, but without using the action constraint. I think I think I accomplished the goal, here is theblend file if you wish to judge for yourself, before enduring the hardships of following a tutorial.

The following tutorial is NOT ment for first time blender users, so I’ll be just throwing out terms at you… hoping you know how to do it.

[update] If you are indeed a beginner, I’ve just discovered that a tutorial by YogYog has a similar rig (at least the beginning part) in a hopely more descriptive manner. Once completed that you should have enough knowledge to come back and complete my tutorial.. 

Getting Ready
Bones in an IK chain have a tendency to continue in the rotation they are in. So before you start rigging something I would recommend Deforming your mesh in the following way.

Here is a simple Leg rig.
 

– The Hip.L bone is parented to the LowerBody bone.
– The Thigh.L bone is parented to the Hip.L bone, but it not connected.
– The Thigh.L bone has an “IK Solver” Constraint at ChainLength 1, to the IKKnee.L bone.
– The Shin.L bone is pareted and connnected to the Thigh.L bone.
– The Shin.L bone has an “IK Solver” Constraint at ChainLength 2, to the IKLeg.L bone.

Blend: 01.blend

Create two more bones.

– The toe.L bone, and the Foot.L bone.
– Parent and connect the IKLeg.L bone to the Foot.L bone.

Go into Pose Mode and try to rotate the Foot.L bone. The Foot.L bone now controls the IKLeg.IK bone!
But we have a slight problem, there is no limitation to the Foot.L bone. As you recall in the Ludwig rig, Sketchy added a roll bone in the back which was able to limit the rotation/roll.

Blender has a limiting feature, but it can ONLY be appied to a bone in an IK chain. So we need to make the Foot.L bone part of a chain of somekind, in order to do so we will now create another IK bone.

Because we are going to be using the Rotation feature of an “IK Solver” Constright, the IK bone must have an exact rotation of the Foot.L bone at default and be positioned at the Tip of the Foot.L bone. The following is a little trick to get that done.


– Snap your Cursor the the tip of the Foot.L bone.
– Change pivot to 3d Cursor.
– Select the Foot.L bone duplicate and rotate 180 degrees.

– Change the pivot back to median point, and rotate again 180 degress.
– Change the name to FootRoll.L

Now Apply the following “IK Solver” Constraint to the Foot.L Bone.

Now go into Pose mode and try to Rotate the FootRoll.L bone. Yep, pretty much the same thing!

Side note: Some people don’t like to accidently rotate along a different axis, using the transform window you can lock the rotation of axis you don’t intend to animate. Heck, you can take it a step furthur and lock the location. Since we are going to only use the FootRoll.L bone for the rotation sake.

Now click on the Foot.L Bone, notice that you now have limiting features:

We are going to be limiting the X Axis.
– Click on the Limit X Button.
 
– Notice that Blender has a visual presentation of where that limit will occur.
– We don’t want the bone go back any further, so we set the Min at 0.0. We we want it to stop at about 70 degrees, so we set the Max to that.
– Enable the “Lock Y Rot” and the “Lock Z Rot.”

Now try to rotate the FootRoll.L bone. TaDA!

Now lets create an All masterful FootRoot.L bone that will tie everything together.

– Parent the toe.L bone to the FootRoot.L bone.
– Parent the FootRoll.L bone to the FootRoot.L bone.
– Parent the Foot.L bone to the FootRoot.L bone.

Blend: 02.blend

Now go ahead an experiment!

######################################## Intermission ############################################

 Now try to move the UpperBody Bone, high up.

Notice that the Shin.L bone disattachs from the IKLeg.L bone, and leaves the foot behind. A non-lazy person will look at this and say, just move the FoorRoot.L bone. But as you probabley recall ludwig’s foot continues on it’s journey with the shin.L bone.

In order to accomplish this task we need to create 4 more bones. 2 bones being the duplicates of the toe and foot bones, and 2 for parenting sake.

What we are going to do is create extra bones that will always be attached to the shin.L bone, but copy the transformation of our setup.

 – Snap your cursor at at the tip of the Shin.L bone.
– Create a bone, called ShinAttach.L

– Parent and connect the ShinAttach.L to the Shin.L

This bone will follow the Shin.L bone whereever it goes, we will later attach things to it.


– Root starting at the same place create another bone. Call it DeformAttach.L

To this bone the duplicates of the foot and toe bones will be parented to later.

– Parent this bone to the IKLeg.L bone.
– Go into Pose Mode, Select DeformAttach.L bone and add a Copy Location Constraint to copy the location of the ShinAttach.L bone.

Now the fun part,
 – Select the Toe.L and Foot.L bones.
– Duplicate them.
– Grab them and move down a bit. (Hold shift while moving, we want to snap them back in place later.)
– Select the original toe and shin bones, and click “H” for hide. Or you can put them in a different layer.
– Rename the duplicate bones:
Toe.L.001 to DeformToe.L
Foot.L.001 to DeformFoot.L
– Snap Bone back into place. (Again hold shift while moving.)
– Parent both of the bones to DeformAttach.L

Go into Pose Mode
– Add a Copy Rotation constraint to DeformToe.L to copy the rotation of Toe.L

ALMOST DONE!
– Click on your Mesh and rename your Vertex Groups to use these Duplicate/Deform bones!
– Now either hide, or move into a different layer the bones we are not going to be using.

Choose which layer to place the bone in.Choose which layers to display!
Hold Shift key to display more then one.



Blend: 03.blend

######################################## Intermission ############################################
hehehehe…
ok, the Ludwig Foot Rig has another feature, when the FootRoll.L bone is rotated the other way… the foot rotates at the back tip of the foot. This is important because when a character walks, it’s leg/ankle bends to compensate for the fact that the foot is on the ground: being the toe, or the back of the foot. Well, alright lets do this thing!

First off, good thing we hid all the other bones or this would be really confusing… 

– Create a new bone, root at the back tip of our shoe and tip at the root of the toe.L Bone. Lets call it Backtoe.L

Parenting TIME!
– Parent Backtoe.L to FootRoot.L
– Parent Toe.L to Backtoe.L
– Parent Foot.L to Backtoe.L (if following along with included blend files, should be in 2nd layer.)

– Snap your cursor at the root of the FootRoll.L bone.
– Create another bone, call it BackRoll.L


– Parent BackRoll.L to FootRoll.L

As mentioned before, the effecting bone must have the same rotation as the effected bone. We are not using the FootRoll.L as our effecting bone because it has a different rotation, heck it’s even pointing the wrong way. But, since we want to utilize the FootRoll.L rotation, we parent the BackRoll.L bone to it.

Go into Pose Mode

– Add an IK Solver Constraint to Backtoe.L with BackRoll.L acting as the IK bone. (We want the rotation of BackRoll.L to effect the rotation of Backtoe.L)
– Now that Backtoe.L is an IK bone, you can set a Rotation limit.

Now try to rotate the FootRoll.L bone.

What happens is that when the FootRoll.L button rotates one way the limits of the Foot.L bone allow it to rotate in that direction, but when ithe FootRoll.L bone rotates the other way the limits of the Backtoe.L bone allow it to rotate in that other direction.

If there was no limits set, both the Foot.L bone and the Backtoe.L bone would rotate at the same time. But through limits we turn on and off the bones we want to rotate.

Blend: 04.blend

[update] Little bug discovered, this is a simple fix.
Even though I tried to disable the position aspect of the IK Solver Constraint effecting the Backtoe.L bone, the position of the BackRoll.L still seems to effect the rotation of the Backtoe.L bone. In order to fix this, we’ll just go ahead an mimic the position.
– Select the BackRoll.L bone and move it down, so the Root matches up with Backtoe.L‘s Root. (The length does not matter.)

Blend: 05.blend

############################### Conclusion #######################################
I am not sure whether this turned out any easier or any less complex then what Sketchy did with his foot rig. But I’m happy I found a different way to do the same thing.

No votes yet.
Please wait...
NoImage
Comments
One Response to “Foot Rig without Action Constraints”
  1. drago says:

    is pretty cool, entertaining and useful

    No votes yet.
    Please wait...

Comments

Leave your reply