Centipede (animation test)

For some unknown reason I thought it’d be fun to animate a centipede. Unfortunately, it turned out to be ungodly difficult (surprisingly not because of the legs) but finally I’ve managed to get a decent result. The downside to the system I’ve used is that I can basically only animate the guy walking on a flat surface otherwise he flips around like he’s on some kind of insectoid roller-coaster (which I cannot for the life of my figure out how to stop). Also, to enable me to animate the legs in a way that wouldn’t take me an entire lifetime to complete there are 18 different leg armatures, which means animating him for anything other than running about is going to be, urm, tricky…

Rendered with Blender Internal, cos my machine hates Cycles for animations.

That looks incredible!

Smooth and very realistic.

I’m impressed with how well the leg movement fits the overall distance covered. With something this complex, it’d be easy to get slippery feet syndrome. I’d be interested to see how you rigged it.

Great! I think you made a very goog rig, hope i will see how it works someday! Would be great to see a video with it walking in different speeds. Slower can be great too. Good job!

Thanks everyone!

The rig is set up like this:

  1. This is the rig for the Centipede’s body & head. The ‘spine’ part is Spline IK’d to a Nurbs Curve. I had to use Limit Rotation constraints to keep the guy planted on the ground and stop him from rotating around randomly as he moved.

  1. This is the Nurbs Curve, which has a Curve Deform modifier to the path, which is a Bezier Curve. Animating the Nurbs Curve forwards in the Y direction moves it along the path at a regular speed, thus moving the body rig as well.

  1. Each pair of legs is a seperate object with a separate armature. Each armature is parented to the corresponding bone in the body armature. This is a lot easier than using a single armature with loads of legs as I could use the NLA editor to offset the ‘walk’ action by a single frame on each leg progressively down the creature, although I think this could cause problems later on if I want to animate it doing anything different!

As for dealing with slipping, it was really just trial and error to get the scaling of the NLA strips vs the speed of the Y axis animation right, and even then there’s a small amount of slipping which is sort of masked by the number of legs & motion blur etc.

There’s probably a more efficient way of doing this (perhaps with Python scripting) but this was the only workaround I could find that gave decent results (the set up is based on one I found after hours of trawling through old BlenderArtists threads and seeing someone who had suggested a similar method for animating a snake).

I have a tentacle rig that might have saved you some headache on the body and worked well with the legs, but first I need to A) find it, and B) try it out to see if I’m talking nonsense. But it’s the result that matters, and you definitely succeeded there in any case.

Brilliant setup and animation. Thanks for sharing!


Thanks everyone!

@Wanderdragon, I’d love to see it if it works!

Bravo! Very realistic motion for a centipede! I’m impressed that making the legs separate objects and then parenting them to the body worked so well. I tried something like this with an insect rig and it never worked (but it was my first rig and absolutely everything seemed to go wrong at least once or twice.)