Ok, took a look at it and really I think the easiest way to fix it would be to start over. That’s not as bad as it sounds… here’s why: you have 162 bones in the spline IK chain and I’m not sure how you created them all (perhaps starting with one bone and subdividing it until you ended up with 162), but the naming of all those bones is a bit of a mess. Bone.096 parent is Bone.015, Bone.015 parent is Bone.097, etc, etc, so the naming isn’t logical - it isn’t like Bone.001 parent is Bone.002, Bone.002 parent is Bone.003 and so on. So trying to figure out the problem is confusing from the start. So that’s the first reason why I would start over.
The second reason why I would start over is you don’t need 162 bones. At the very most, you’d only need 65 bones. Your snake has 65 edge loops on it’s body and the mesh can only deform/bend where you have edge loops. So you have about 100 extra bones in there that really won’t be doing much of anything other than making it confusing. And really, I think it might work good enough if you only had maybe 40 bones.
It’s really not as bad or as much work as you might think (although some of it might be boring stupid work). I would do it in this manner:
- select the mesh and delete the armature modifier
- go to the object data panel (icon looks like upside down triangle) scroll down to vertex groups and delete all them
- select the curve in object mode, tab into edit mode and select the control point closest to the head and snap the cursor to it
- select the spline armature in object mode, tab into edit mode and select all bones & delete them
- add a new bone
- select the curve again in object mode, enter edit mode and select the last control point at the tail end, snap the cursor there
- select the new bone just created and in edit mode, select the tip (the ball at the top pointy end) and snap that to the cursor
- now select the whole bone (not just the tip that is selected) and subdivide it until you have 40-65 bones
- add the spline IK constraint like you did before, to the last bone in the chain and check that it works
Once it’s working, you get the fun (bull$hit, pain in the a$$) job of renaming all those bones so they have some sort of order to them. No easy way to do it, but to make the job less work, I’d name the first bone something like ‘bone’, copy the name ‘bone’ with ctrl-c, then rename the ‘bone’ to ‘bone.1’. Now when you select the next bone, you can select it’s name and paste with ctrl-v, and just add .2 to the end of the name, then just repeat this process until they are all renamed…this is why I would go with only 40 or so bones.
If you work and get the file to this point, paste it up and post the link, and I’ll take a look and show you how to finish it. By the way, there are 2 or 3 other things that should be changed, but they are minor.
I’m more than willing to help, but you have to get the above part finished first.