# Constrain armature movement based on child bone position

Fair warning: I'm new to rigging.

I am working on a snake-like creature's rig and have organized the bone hierarchy like so:

Basically the head bone is the parent of the neck, the neck is the parent to the next bone in the chain, etc.

I have successfully made this clip (albeit painstakingly):

Now I am trying to make an attack clip but the interpolation causes the tail to dip below the XY plane:

Is there a bone constraint that will prevent the armature from dipping below the XY plane? Could I have rigged it with some kind of IKs or a different bone hierarchy?

Any guidance or suggestions are greatly appreciated!

• Try Spline IK constraint. It almost does what you want. But it is hard to simulate the snake swing natually. Once upon a time there was an unofficial Spring constraint commit, which does work in this case. You may want to take a look. – Leon Cheung Jun 10 '16 at 4:30

To get a curved armature result, the splineIK constraint is very helpful. It allows you to use a curve object that the armature follows. You may also want to try using curved bones, which you need to enable B-Bone display for the armature.

As the curve defines the "shape" of the bones you animate the curve to move the armature. To achieve this go into edit mode for the curve and for each control point add a hook by pressing ⎈ CtrlH->Hook to new object which will create an empty for the point. Now when you animate the position of the empty, the corresponding point in the curve will follow and the armature will bend to match.

For the animation you are trying to do I would reverse the direction of the armature. I'm not sure if this will make the rest of your animation easier or not.

Here is an example with curved bones enabled

• I think this will work very well for me. Thanks so much for the insight and the effort to create an example file. I think having the bones reversed should also help me. – AndyPerlitch Jun 11 '16 at 4:19
• follow up question: how do you place keyframes for the locations of the empties? – AndyPerlitch Jun 11 '16 at 6:32
• Same as any object or bone, select and press I and choose what to keyframe or enable auto keyframing – sambler Jun 11 '16 at 7:13
• Thanks again @sambler. With your help I was able to accomplish what I set out to do. The last little step I did was create non-deform bones in the armature at each Empty and then parented the empties to those respective bones. This way I could keyframe just bones in the armature instead of keyframing the Empty positions in edit/object modes. – AndyPerlitch Jun 17 '16 at 18:21

Ah, the tentacle rig. I've also heard "rope rig." One of the more complex rigging challenges. Semi-relevant: check out this promo video for the Octopus character in pixar's upcoming Finding Dory. Very complex tentacle setup!

I'm no rigger, but you might find some useful info by looking into solutions that others have posted online. Those are not Blender-specific, but there seem to be some blender tutorials too that could get you started. Apparently I need more reputation points to post more than two links, but I found several on YouTube!