a tutorial by Calvin
Have you played around with Sketchy's Ludwig? Or Calvin's mouth rig? Ever wonder how the effect was achieved?
In the following tutorial I will try to outline how to create a stretchy chain of bones.
The New Feature
In Blender 2.40 a new feature was introduced, the ability to set a bones stretch limit. From 0.00 to 1.00. Even though it doesn't matter what number you enter to stretch the bones, since they will stretch endlessly. The number matters when you want certian bones to be stretch more then others in a chain of bones.
Note: This input field pops up only if the bone is part of an IK chain.
SideNote: Learn about other Features introduced
Here is a chain of bones.
Just incase you want to follow along: 01.blend
When the IK bone is moved around the other bones follow.
But when the IK bone is pulled too far, the bones point toward the direction but don't do much.
Now lets set the stretch input to 0.3 for bone A.
Since A was the only bone given a stretch property it will be the only bone that stretches.
At this point we want all the bones to stretch the same so give ABC all a 0.3 stretch input.
(But you can go ahead and play around, giving them different numbers.)
Create simple cylinder with 3 sections (since we have 3 bones)
Create 3 Vertex Groups...(A, B and C) and assign corresponding Vertices.
- Select the Mesh, followed by selecting the armature and clik Ctrl+P (shortcut for parenting).
- Select "Armature"
- "Don't name Groups" (we already made the groups)
- Clik on the armature.
- Disable the "Envelopes" button in the armature menu.
Now try moving the IK bone around.
The Blend File: 02.blend
There is a PROBLEM!!
The bones not only stretch the mesh but alos scale it. The more the bones stretch the "fatter" the mesh becomes.
This is a problem... but there is a trik around it.
- Clik on the armature, and go into edit mode.
- Select bones A, B and C and duplicate them.
IMPORTANT Hold down ctrl when moving the duplicates, So we can later snap them "ontop" of the original bones.
- Clik on each duplicate bone (B.001 and C.001) and remove it's parent.
Go into Pose mode, Clik on Bone A.001 and add the following Constraints to it.
This is a bone.
When we added the "Copy Location" Constraint, that made the Ends of Bone A, and A.001 match up.
When we added the "Stretch to" Constraint that made the tip of A.001 stretch to the End of B.
We alos added a "Copy Rotation" Constraint, which will later copy the rotations of the A Bone.
Now clik on B.001, have it copy the location and rotation of B, and stretch to C.
- Clik on C.001, have it copy the location and rotation of C, and stretch to the IK Bone.
- Clik on the Armature, and go into edit mode.
- Select the duplicate bones and snap (hold Ctrl) over the original bones.
Now we want the mesh to use the duplicate bones, so change the names of the vertex groups (A to A.001, B to B.001 and C to C.001)
Now Judge the results!
The Blend File: 03.blend
- You can go ahead and hide (or if using 2.42 place in a different layer) the original bones.
Bak in the day when I was breaquíng ludwig apart for learning, I attempted to recreate the spine. Which "you" should now be able to do with the knowledge you gained reading the tutorial above. Anyways, Enjoy!
The Blend File: LudSpine.blend
a tutorial by Calvin