I am trying to get the surface of a cylinder to shrinkwrap to the surface of another object. That in itself is easy. The idea is have the original surface adjustable through procedural controls.
The object I want to shrink to has to be scale-able at the top, middle and bottom. I have done this with a standard mesh and bones. Created drivers to control the thickness of the bones but not the height. However the mesh does not distort evenly. Even with weight painting the results are uneven.
The best result I get so far is shrinking to a cylinder with a curve modifier on it. To scale the curve you need to use shrink/fatten (alt s), which has excellent results. I want to control that scale with a driver but I can't. I can put hooks on the curve control points and put drivers on the hooks but it does not control the shrink/fatten.
Can I control shrink/fatten, on a curve, with a driver?
Edit: I think an alternative solution will get the result I desire, but I will leave this question posted in case someone comes up with an elegant solution to controlling shrink/fatten.
The alternative solution is to use a very low res mesh, hooks and subdivision. A cylinder with 6 sides, with three subdivisions/loopcuts along it's length. In edit mode select one of the three edge loops, Ctrl H to add a hook. Repeat for the other two edge loops. In object mode add a subdivision surface modifier with a couple of subdivisions. Now drivers can be added to the hooks to easily scale the surface of the cylinder, which will deform smoothly and predictably. No vertex groups or weight painting are necessary.
This gets the desired result, which is a smoothly deformable, curved surface, with drivers control the radius at three points.