1
$\begingroup$

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.

$\endgroup$
2
$\begingroup$

Curves have Shape Keys. You can use these to define the shape and add the driver to them.

EDIT:

Actually I misread your questions. You can add a driver to a point's Radius in the Transform section of the Properties panel to get the same result as shrink/fatten.

$\endgroup$
  • $\begingroup$ Nice. I didn't think of that. I will give it a go. $\endgroup$ – Chris Lee Feb 9 '17 at 22:26
  • $\begingroup$ It does not work as easily as I hoped. The curve shape key does not hold the shrink/flatten data. Neither does the shape key of the mesh with the curve modifier on it. I can apply the curve modifier as a shape key though. However that applies the modifier, so it is removed. I would have to set up multiple curve modifiers with different shapes, or just use one, increase the max/min values to get more from that. It is possible, just needs to be properly set up in advance, in addition to the driver. $\endgroup$ – Chris Lee Feb 9 '17 at 22:43
  • $\begingroup$ I misread your question, please see my edit. $\endgroup$ – cmomoney Feb 9 '17 at 23:21
  • 1
    $\begingroup$ That's it! I didn't see the radius in the transform section of the properties panel. I was looking in the curve settings. $\endgroup$ – Chris Lee Feb 10 '17 at 3:00
  • $\begingroup$ I guess I could have said where it is as well, added to my answer. $\endgroup$ – cmomoney Feb 10 '17 at 3:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.