From BlenderWiki
[edit] Making a Spine Twist
This page discusses ways to make any of the four chain spine rigs twistable. Not all of the options here work for each rig, and results may vary for those that are compatible. The propagating rotations spine is different from the latter three because it doesn't use IK tracking. Because of this difference, option 1 doesn't apply for this rig. These options apply for the bend-o-matic rig, but keep in mind that it will behave differently if you offset the bones as described in the latter part of the tutorial.
- The Propagating Rotations Spine
- The Bend-O-Matic Spine
- The Bones-on-Curve Spine
- The Linear Curve Tracking Spine
[edit] Option 1
Give all the bones of the spine--except for the root--a copy rotation constraint using local space, and target some bone from outside the spine (a bone you would create as a rig element to control the twist). It would also be good to turn off X and Z in the rotation constraint of each bone, because we only use the Y axis for twisting, but this is not really necessary. I would suggest making the twist control bone a child of the head bone (at the tip end of the chain), and of course you should lock the axes of the control bone so it can only rotate on its Y axis.
This option is great because you can make the spine twist around many, many times. The reason is because each bone is the child of the one before it. If the first bone rotates 10 degrees, the next bone rotates 10 degrees on top of the previous bone, making for a total of 20 degrees of rotation. If you have a ton of bones in the spine, this method might create too much twist to control easily. If you want the spine to twist more slowly, then lower the influence value of all the copy rotation constraints to 0.5 or even 0.25, depending on the number of bones in the spine. However, if you do that, your maximum amount of twist will go down. If you want, you can instead hold the Shift key while rotating the control bone to make it rotate more slowly.
[edit] Option 2
This option is a considerable amount of additional work, because it involves writing a script. If you have a very long spine and you're going to animate it being tied into and/or out of knots, then you might want to consider this option.
You would need give each bone of the spine a child with an orientation matching its parent. You would then give the last child bone--at the tip end of the chain, not the root end--a Locked Track constraint. You would also need a new floating bone to act as the target.
Extreme amounts of bending (like tying the spine into a knot) will cause the end of your chain to spin. The only way to make the end of the spine orient itself independently is to use a Locked Track constraint. This will force the end bone to align with a target and not spin out of control. You might need to have this kind of control if you want the spine to interact with its environment, like picking up objects.
The issue then is making all of the other children bones rotate a portion of what this bone rotates. At the moment, copy rotation constraints can't copy the rotation of a locked track constrained bone, so the only option we have left is to write a python script to do the job. If you decide to take on this task, you'll probably need to use the bone's matrix to get its rotation result, and you'll need to run the script with a script link.
--Wavez 00:47, 15 July 2006 (CEST)
Redirects to fix
- BSoD/Introduction to Python Scripting → Doc:Manual/Extensions/Python/BSoD
- BSoD/Introduction to Rigging/Face Rigs → Doc:Tutorials/Animation/Armatures/BSoD/Face Rigs
- BSoD/Introduction to Rigging/The Bend-O-Matic Spine → Doc:Tutorials/Animation/Armatures/BSoD/The Bend-O-Matic Spine
- BSoD/Introduction to Rigging/The Bones-on-Curve Spine → Doc:Tutorials/Animation/Armatures/BSoD/The Bones-on-Curve Spine
- BSoD/Introduction to Rigging/The Linear Curve Tracking Spine → Doc:Tutorials/Animation/Armatures/BSoD/The Linear Curve Tracking Spine
- BSoD/Introduction to Rigging/The Propagating Rotations Spine → Doc:Tutorials/Animation/Armatures/BSoD/The Propagating Rotations Spine
- Blender Summer of Documentation → BSoD
- Manual/Manual → Manual







![[]](/skins/blender/open.png)
