14
$\begingroup$

Moving a Golf-Ball through a Garden-Hose

I am trying to create a setup that will let me send meshes along a path deforming a mesh that surrounds that same path. Pretty much like in a cartoon fluids travel on the inside of a strawer, bulging the strawer or garden hose or whatever object outward in the process.

I have found a video that illustrates the concept, but it is a setup for 3DS and I cannot replicate that in Blender.

https://www.youtube.com/watch?v=e0Iq_cTS1uo

So far, I have tried using the warp modifier, but that does not take the objects shape into consideration.

Is there a way to move one object through the other and displacing the outer object's vertices by those of the inner one?

Cast Shape Demo Cast Modifier Ignoring Shape, Using only Origin Point Poke-Through with Excentric Shapes

$\endgroup$
24
$\begingroup$

The cast modifier should let you do exactly what is in the video, with only a couple of steps.

To set it up, you will need a hose object with fairly dense geometry, and an object to pass through the hose.

To set up the system, you will need to have the object (I'm going to use a sphere as an example since that was the object in the video) positioned at one end of the hose, and animated to move through it. I would think a curve would be the best way to animate the object, and you could also use the same curve to bend the hose.

Once you have the animation set up, simply add a cast modifier to the hose, select the sphere in the control object box and then adjust the radius until the hose completely covers the object.

enter image description here

$\endgroup$
  • 2
    $\begingroup$ This works really well and does not give the "sticky points" artifacts that the shrink-wrap method occasinally produces. Additionally, the shape of the control object does not really matter, the deformation is controlled by the cast type. I would recommend using some type of empty as a control object, since those have no mesh parts that can poke through the cast object in tight corners. $\endgroup$ – Ben Dec 11 '17 at 22:10
  • $\begingroup$ Thanks for adding those points. For consistency's sake I would still recommend using the original object and not an empty to ensure the deformation from the cast modifier is always big enough for the object and the deformed 'lump' never changes size (although it would definitely be subtle). $\endgroup$ – Brenticus Dec 11 '17 at 22:51
  • $\begingroup$ Is there a method to ensure the controller does not penetrate the hose? I had some success with the Radius Parameter, but that is not 100% reliable. !Test Setup, Several Primitives and an Empty !Irregular Shape Penetrates !Radius Increased, Still a Bit Wonky $\endgroup$ – Ben Dec 12 '17 at 13:19
  • $\begingroup$ There are numerous ways to go about it, you could simply hide the controller as soon as it enters the hose, or you could try adding a shrinkwrap modifier to the hose as well. $\endgroup$ – Brenticus Dec 12 '17 at 16:43
2
$\begingroup$

There are some results you can archive with the shrinkwarp modifier.

important is to set the mode of the shrinkwrap to project.

what I did in my test scene:

I created path with a circle as bevel object to create the tube. I also but a follow path constraint on the bulge object to deform and follow the tube at the same time.

With standard settings of the shrinkwrap there can be glitches.

Glitches

but after some tweaking of the shrinkwrap limit it works fine.

I found out that you have to make a change in the blendfiles timeline to see the deformation. it looks like blender gets confused when using the tubes curve as constraint target of the bulge object.

But after reading the most upvoted post I also would recommend to use the cast modifier.

$\endgroup$
  • 2
    $\begingroup$ Could you provide more detailed answer? Maybe some image/animation examples of final result and overview for the steps? $\endgroup$ – cgslav Dec 11 '17 at 16:00
  • $\begingroup$ Yes sorry I weren't able to find a way to upload my blendfile. But I admit, that the cast solution gives a way better result. $\endgroup$ – monatsend Dec 12 '17 at 9:07
  • 2
    $\begingroup$ You can use both! Place the cast after the shrink-wrap to ease the distortion in on both sides. $\endgroup$ – 3pointedit Dec 12 '17 at 11:53

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.