Rigging / Skinning an organic tube .. how?

Hi Guys,

Before anybody says it - yes I know that 3D World Mag has a tute on rigging a Worm in PDF format at www.3dworldmag.com :slight_smile:

What I have is an organic Letter W mesh. I want to rig this mesh so I can make this W crawl across a floor. How it would look - from front view the W starts at the left - the right hand V ‘arm’ drags forward first then the centre contracts and so on. I think its easy to visualize. I hope.

Anyway from what I can see you add 4 Bones - one for each part of the W. Problem is when I go into pose mode and try and move the bones they seem to rotate, also the left most tip of the left bone stays put.

My question so is - how do I best rig / skin the W so it is free to ‘crawl’ from left to right in a concertina fashion?


I would use a rig similar to the picture I’ve attached. In it you’ll see the bones coming from the outside in, and using stretch to and copy location constraints, so that it can wiggle. So you have a bone, bone 1 that stretches from the top left part of the W to the bottom of that segment stretching to a helper bone placed at the bottom of that segment, and so on and so forth.


Hi bgstratt,

Thanks for this, that works out OK. Just one thing - Where bone 3 meets Bone 2 up at S2 - if you say pull S3 to the right, Bone 3 and Bone 4 move to the right leaving Bone 1 and 2 behind. Is this an IK thing or more Constraints?


Nope, that’s an animation thing, I thought you wanted it to slink, and kind of compress and expand to crawl across the stage. The other thing is I didn’t have any bones parented to each other, otherwise the stretchto constraint doesn’t work quite right. When you move S3, then bones 3 and 4 should move, but 3 should remain attached to S2 and subsequently 2, then you can animate S2 moving over and S1 and bone 1 so that you can make it walk.

Hi BGStratt,

Thanks for this reply - I have the file set up the way I think you mentioned. Here it is as a .blend:

www.tidalsound.com/3dstuff/w.blend [ 118kb]

Maybe you can see what I mean from this. What seems to happen - when you move / keyframe S3 and then do the same with S1, S2 stays behind in a static position. It does not move along with the slinky movement :slight_smile: Maybe I am missing something, a constraint or something,


No worries.

I see the problem now, the way to fix it is to move the copy location constraint up for both of the S helper bones, S1 and S3. I had to move them around a bit when I was testing it, I didn’t think to mention it. Weird how that stack works sometimes, like keeping the armature modifier first, heheh.

edit** you also might want to mess with the “Vol:” scaling options on your “stretch to” modifiers so that it doesn’t get too deformed while moving.

edit2** you also should check the parenting, some of the vertex groups have oddball vertices included.

Hi Bgstratt,

Thanks for all your help - Yip it was the stacking order - sorted it.

Re parenting - All the bones are seperate units, no IK. Non of them are parented to the other. Is parenting in that sense required?

Oddballness - yes, if you look the mesh without Subsurf you will see its low poly. Does it need some more edge loops to refine it a little?


I guess parenting is the wrong word, some of your vertex groups have vertices in them that they probably shouldn’t, I guess the grouping is what I meant. I think one of your middle groups has the one of the vertices from the opposite side included in it.