How to best rig a worm?
I would just use about 10 armatures, with the root in the middle and IK solvers at each end with chain length of 3 or 4.
Or just a string of bones with AutoIK turned on. But then not all worms are nematodes; an earthworm is as different from a tapeworm as an inchworm is from a maggot.
%<
I’m experimenting with something… using target objects and “track to”+“stretch to” constraints. Maybe I could also add IK to it and make it even better.
I’ll post an example blend if I got something useful as soon as possible
Hi… after 2 hours of trying things… I do not have any good results yet.
Does anybody have a blend with an example?
I’ve tried IK, but then you do not have much control…
Damn, I thougt rigging a worm was easy, but …not.
Hi!
For my own, I have used the Curve Deform feature.
Once the worm mesh is linked to the curve by the Curve modifier, you can animate the curve with hooks or shape keys.
You can move the worm along the curve and it will deform and follow the shape of the curve.
You can also apply a wave modifier to the mesh of the worm and give it a very realistic motion.
Philippe.
Thanks Fligh and ROUBAL.
Fligh I’ve had a look at your example and I’ll try to add these techinques into the thing I have.
If possible I’ll post a blend of what I have, but I’m currently at work.
Your post gave me the urge of playing with an old blend file with a snake.
The snake was moving on a simple flat ground, and I’d want to add moving grass where the snake goes… I have tried with static particles and deflectors, but it is not easy to add deflectors all along the snake, because Duplivert seams to not support objects set as deflectors…
Hi,
Here are 2 blend files:
1: With a curve modifier + short animated frames
http://home.scarlet.be/~matrix64/images/WORM5.blend
- With bones and emtpies as target for lock / stretch to constraints.
http://home.scarlet.be/~matrix64/images/WORM4.blend
Both ways have advantages… maybe there’s a way to combine them?
Also, I tend to like the 1. solution with the modifier, but I need to add bones to for control of the head. + I also need to add shapekeys for facial animation. I do not know if all those deformers will work fine together.
Hi!
The Blend file using the armature give you a total control on the Worm mesh, but you need to keyframe each position.
The way you used the curve modifier is surprising.
The curve modifier is a very powerfull feature,and you don’t use it’s power.
Here is an example showing what you can achieve with using the Curve and Wave modifier.
http://3d-synthesis.com/blender_miscellaneous/WormOnCurve.blend
With this method, you have only to insert one LocX keyframe for the worm at the starting point of the trajectory, and an other one at the ending point.
You can add keyframes along the LocX displacement if you want speed variations.
You can use it for a worm or a snake as well.
I have not yet tested if you can mix the armature system with this solution, but if itis not possible, you could probably use hooks directly linked to some vertex groups of the mesh.
Philippe.
Hey Roubal,
That’s a nice way to use the modifiers!
I will need to try out combining some of the techniques used.
I need to use it for my character worm in my little animation with Ruby the bird. (called “The Beast” as topic in the "Work in progress section.)
I need to add facial animation and also have some control over the body itself… I guess it needs some experimenting.
EDIT: Looks like Flight had already thought of keyed curves, so ignore me…
Instead of shape keys, bones or keyed empties controlling the curve have you considered curve keys?
It is an alternative to deforming, without shape keys: http://upload.kokcito.tk/blender/WORM.blend (it is not moving forward, but you get the idea).
For some reason it doesn’t work if the mesh doesn’t have at least one basis key…
- having a dream of spline IK *
http://www.rubberbug.com/reptiles.htm
I tried to do a snake once, and had the same problem. But as I know how to use python, I tried to script a basic spline IK stuff and bumped on the armature coordinates…
never managed to understand how to obtain the right coordinates…
A lot of things on armature would be possible with python if it was easier to get+modify the bone matrix in the world space instead of the armature space… Never got the hang of it
One thing I would like, is if it was possible from python to obtain and modify the position of the head and tail of bones. would be possible to associate a softbody curve and make the bones follow it (braid, hairs, tentacles) using python scripts.
But I don’t know the state of the python API and armature/bone right now…
:o so I ended up using the snake as a staff… haw haw freakin’ haw…
Thanks tolobán and aws357 for the interesting new stuff to look at !!
It looks like this thread is becoming a nice resource for people when they want to get some snake like rigs! great!
The idea explored in the link (“hooking” curve modifier to an IK chain of bones) is looking great… would this be possible in Blender some way (not using python) ? I’ll have to try this out.
I haven’t tried recently, but when I did my winch animation, I had noticed that animating a curve with hooks was not accurate, because there was a 1 frame delay between the hook motion and the curve motion… it was with 2.41 or 2.42, I believe.
I should make an other trial now with 2.43. It is probably fixed now.
Here’s my latest attempt and this rig will be the one I’m going to use.
(I still have to add shapekeys for the face)
A short testrender (not perfect, but you get the point (+/-550KB, 80 frames, 7/sec)):
http://home.scarlet.be/~matrix64/images/Worm01.mov
A screenshot of the simple rig:
I use 1 stretch bone to control the body and an Empty as the target for it.
Another empty is used to be the driver for a shapekey which curls the body.
The neck bone can be used to move the front of the body and the stretch-to ‘empty’ target can be used to move the tail. (good thing is that I can move the head independent from the body)
aws357, regarding the spline rig:
I’ve found something in the BSOD rigging tutorial:
http://wiki.blender.org/index.php/BSoD/Introduction_to_Rigging/The_Bones-on-Curve_Spine
tried it and it’s really a cool stuff… Although there might be place for improvement… But it’s definitely lighter than the similar solution in Maya.
By now, I’m sure a lot of you have seen the 3D World tutorial that goes into a pretty complex rig for making a cartoon worm move. I’m working through the tutorial, but have found myself baffled by Step #7, the bone to fix twisting. It just doesn’t seem to work, and it’s frustrating on a number of levels. Is anybody working through the tutorial, too that I can bounce questions off?