11
$\begingroup$

I have a chain of three bones and I want them to follow a curve (bezier curve). I've tried to do this creating a bone constraint follow path but it doesn't work. I've tried putting four emptys and creating two constraints for each bone: one constraint child of and another one track to. It doesn't work. In both cases the bones move but not aligned following the curve.

Also, I've noticed that sometimes the bones are in different positions in Edit Mode or Object Mode.

This is the screenshot:

enter image description here

Please help me. Thank you!

$\endgroup$
  • $\begingroup$ I think I have a better way. Spline IK to curve. Curve controlled by hooks tracking on second curve. $\endgroup$ – Tony May 17 '17 at 22:10
4
$\begingroup$

I first created my bone chain and the path I wanted my bone chain to follow. Bone chain and first path

Then I added another bezier curve with the same length than the armature and one vertex for each bone head or tail. By pressing "V", I turned the handle type first to "Automatic" and then to "Vector". Editing the second curve

Next, I selected the last bone of the chain and added under the bone constraint panel a "Spline IK" constraint, targeting the second curve (Length 3, Y Stretch). At last, I added a "Curve" modifier to the second curve, targeting the first one as shown on the picture. Adding a "Curve" modifier Don't forget to select the right deformation axis (in my example "Z") and to check "Apply this and all preceding deformation modifiers on splines' points rather than on filled curve/surface".

Now, by moving the curve along the Z-axis, the bone chain moves along the curve.

This is not a perfect solution since the Spline IK is deforming the first bone (don't know why) and since the curve modifier is also modifying a bit the length of the second curve, but it worked pretty well for what I needed, and I hope this will help.

$\endgroup$
  • $\begingroup$ That's a pretty smart solution. My bones spin arund along the path-axis and I don't know why. $\endgroup$ – copy paste May 11 at 9:30
2
$\begingroup$

While you may not be able to automate the armature following the curve the way you want, you can use it as a guide.

  1. Enable auto keyframing.
  2. Start at frame one, pose the armature as you want it to start.
  3. Goto the last frame and pose the armature at the other end.
  4. Goto the middle frame and pose the armature along the curve.
  5. Repeat 4 until you have the armature animated the way you want.
$\endgroup$
1
$\begingroup$

Andrea, I also tried to do the exact same thing and nobody I talked to could figure out how to do it. It seems Blender does not have a way to have all the bones in an armature follow a curve. So if you have a snake armature, it doesn't seem there is any way to get all the bones to follow the curve path. Sorry.

$\endgroup$
0
$\begingroup$

You can do this with a Spline IK Constraint. Add the constraint to the last bone of the chain and set the Chain Length to the number of bones (3 in your case). If you check Even Divisions every bone will have the same length, regardless of their original length. The Chain Offset lets you offset the location of the bones from the path. Furthermore you can have the bones stretch to the full length of the path by checking Y Stretch.

Without Y Stretch: Without Y Stretch

With Y Stretch: With Y Stretch

$\endgroup$
  • $\begingroup$ An how would you animate that along that path? I don't think thats possible with this solution. $\endgroup$ – copy paste May 11 at 9:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.