I made a model to illustrate but since I’m new here I can’t attach it. I have a chain of five bones in a horizontal line. I want bone 1 and 5 to stay still if I move bone 3 up or down. Imagine a cat raising its back when frightened. I feel like there is something really basic that I am missing here… I have learned so much about Blender these past two years but this simple thing has stumped me completely.
Use two IK chains, one starting at the hip and ending mid-back, the other starting mid-back and ending at the shoulders
Can you spell this out for me a little simpler? Do you mean to set a bone as the target of the IK or set chain length? I have copy location on the first and last bones, is this needed? I’m not even sure if it’s working correctly, I haven’t used copy location before but heard it might help
Start with the controls. You need a hip control, a shoulder control, and in the middle, a “back” control. Create one chain that connects the hip to the back, then another chain that connects the back to the shoulders. Make these two chains IK, have the first target the back controller and the second the shoulder controller. Add 0.001 stretching to all bones (in bone properties) and you should have a nice spine.
That’s only one solution. Another one would be using two b-bones. Depending on the style of animation you’re going for this might be better
Do i need the controls to make the back move or is it just a preference thing? On most of my rig i have bones that i just select and rotate to move the character. I’ve been wondering why people use controls
Hi, i think a spline IK setup will do that.
Just an idea, you could add a control bone and constrain center bones to stretch to it. I do not do 3d work but i can give a 2d example. You can replace each bodybone with an ik chain of 2-3 bones and stretch the head bone of the chain to the controller bone. “Stretch to” is useful for flexible objects or characters.
In blender, controllers are just bones. Usually you put them on a different bone collection and you give them shapes, but they’re bones, yes.
I tried doing this and attached the spine to a Bézier curve, but how do I pose the spine if the curve can only be changed in edit mode?
You can add a hook modifier to the curve and (from inside the modifier) assign some curve’s vertices to a bone but i do not know how does one get a smooth deform result. I still think that stretch to is the obvious solution but i haven’t figured out the setup.
I’m relatively new to blender and haven’t worked in 2d very much, I can’t see your file doing anything when I press play? I don’t know if you had an animation saved… I can’t see the bones either
No animation, just go to pose mode and move up the small controller bone with G that is all. The other two have half the body assigned to each and stretch to the controler. You can switch their view to octahedral, no need for bendy bones.
0000-0060.mkv (396.8 KB)
As for the hook modifier if you add curve- circle and delete half the circle it seems to work smoothly(you will have to delete a segment). CTRL-H is a shortcut to create a hook for selected vertex.
hook_modifier.blend (1.8 MB)
Ah, those bones don’t show on my window, maybe I don’t have the right layers showing? anyway, yeah that is the effect I’m trying to get! I made a “back lifter” bone but when I move it the “neck” also moves, and it deforms…
Hook the bezier curve center to the lifter, edit the curve to match exactly the bone chain you will use and only then proceed to the spline ik. If the curve is off parts off the character will be all over the place because the bones do not maintain volume in a spline ik.
If I could just make the green bone stay still it would work, but copy location seems to do nothing with it. I tried to set the target to another bone and set the target to an attached bone but it moves just the same
I believe @digitvisions offered the best solution (spline IK), i had to switch direction of the curve to match the bone chain direction, good luck with your project @tobiano
cathookspline.blend (1.9 MB)
cathookspline2.blend (1.9 MB)
In the second example i removed some weights around the legs