deform while keeping smooth mesh reshaping?

I want to deform the snake along a nurbs curve. But I am not satisfied with the result

First, some parts of the snake are not so smooth, and the width of the section changes

Second, I thought the nurbs curve would act as the wire bone in a real model, but I find that is not true. As we can see some part of the nurbs curve runs out of the model.

Third, when I move the very first point on the nurbs curve, the whole snake reshapes.

To add more control-point for the nurbs curve can solve this problem to some degree. But is there any more nice solution? Thanks

btw, you can find the original 3dsmax work at http://www.3dmax-tutorials.com/graphics/mat_inknpaint_overview.gif

cartoon_snake.blend (174 KB)


Why not using armature instead of curve?

I suggest a spline ik http://www.blender.org/development/release-logs/blender-254-beta/spline-ik/

thank you, jawra and Quandtum.

The octopus spline ik seems too impressive.
but I get lost even with the tut(http://users.xplornet.com/~gimble/blender/tutorials/spline_ik/spline_ik.htm)). Maybe I should do more exercises later.

Let’s come down to my snake. The original snake from 3dsmax 5 uses a curved LINE to control the straight snake body, and the body effect looks more natural than what I have gotten in Blender.

So is there an easy and intuitionistic way in Blender to reshape my snake? Currently I don’t need to animation the snake.

I’ve made some modifications to your setup and I hope this is it:

  1. make curve modifier ‘real’ to move it below subsurf to allow smooth mesh bending - more faces = smoother mesh - modifiers order in modifiers stack does matter
  2. subsurf up to 3
  3. nurbs curve isn’t best to use - Bezier is much better to control with handles
  4. curve resolution 16 is enough and it depends on mesh density
  5. 3D curve button to allow manipulating in all directions
    Now just move, scale, rotate curve points or handles to pose.
    Try to set up different types of handles : auto, vector, align and free to see how it behaves.
    You may also try CurveStretch button under curve tabs to force mesh stretching along curve.

The file:
cartoon_snake_mod.blend (48.6 KB)