6
$\begingroup$

What I need is to control bones of an armature by segments of a stretchy B-Bone in the same armature. To build what I had in mind, I would at least need the location and rotation of the segments.

If I had an idea how to fake the behaviour of a stretchy B-Bone (an equally subdivided curve with two handles), that would also be a solution.

What I tried so far:

  • Parenting the bones to the B-Bone. This doesn't respect the segments.

  • Using a mesh deformed by the B-Bone and Transformation constraints with vertex groups to control the bones. Doesn't work for the roll - which is important. Leads to cyclic dependencies because the mesh depends on the armature and the armature on the deformation of the mesh.

  • Using curves and Spline IK constaints to drive a bone chain. Doesn't distribute the curves tilt to the roll of the bones. Needs to be animated outside of the armature.

I made a small animation to show what I was trying to achieve, but I am basically out of ideas. The yellowish bones are the handles driving the B-Bone. The red bones should follow the segments (.gif unfortunately animated by hand).

enter image description here

Maybe there is a way to rebuild the behaviour of a B-Bone with some constraints or using a script that updates the bones while animating?

$\endgroup$
1
$\begingroup$

This is a very late answer, I didn't see in until now and if somebody had answered it, I would not have jumped in, since I am struggling with the same issue myself. But I might be a baby step ahead of you, so I thought I should share: You'll want to use a spline-ik constraint on the last bone of your chain, set the chain length accordingly (the selected bone included), as in the manual: https://www.blender.org/manual/rigging/posing/inverse_kinematics/spline_ik.html You'll need a target curve. To control the curve you will need hooks, those can be bones, too, but whatever you do, don't use the same armature as the one controlling your bones because you will get strange effects: if you use bones as hooks, you'll need 2 armatures. I still need to work on the last part and I did have my trouble with tutorials, but I hope this was useful.

$\endgroup$
0
$\begingroup$

spline-ik constraint will create artifacts. You pose your character and choose ctrl+z, and then the pose breaks. Until spline-ik is fixed in this regard I don't use it at all.

"For the bone rotations just copy and mix between the control bones, that's all." – Jerryno

Jerryno's reply should work. Just that you will need this to work while posing, not by running a script.

$\endgroup$

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.