Reusing MeshDeform's cage object on another object?

Hello guys,

I have an object A whcih i need to deform, rotate, bend etc. For that purpose I use MeshDeform modifier, create a cage (let’s call it tobject X) and all is working perfectly.

Now, imagine that i have another object B, which is pretty similar to A and i need to deform it as well, exactly the same way i did with A.

Question, how can I reapply the cage X to B now. As soon as I bind X to B - it works as current shape of X would be the default one and not the changing one.

Thank you

A and B each have their own modifier stack. So, if you put everything into their binding pose, then put a mesh deformer on A and B and both are bound to X, there shoudn’t be a problem… unless there’s something I’ve missed here?

Yeah, all is as you say, except that as soon as I want to bind X to B, B is not deformed according X. X for B at binding time is taken as is and treated as a starting point (e.g. doesnt deform B at all)

Try opening a fresh scene and just building a mockup with 3 cubes. It works.

If it’s not working for you, it’s probably because there’s something else in your scene that’s interfering.
Do you have any other modifiers on any of the three objects? Are there any shapes being used?

By the way, you can simply see that it is not working by doing the following steps: bind X to A, edit X’s vertices so it deforms A, now unbind it from A and bind it back to the same A. Once you bind it back to A - current X’s shape is considered as starting shape and will not deform A anymore.

Make the deformer edits in a shape key (or keys). This way you can bind any objects to it while it’s in default shape, then deform by changing shape key value.

If you don’t want to lose all your work (e.g. already have some complex editing on the cage), then you only need to have a way to create a new cage in default shape. Then you can:

  • select the existing (deformed) cage
  • shift + select the new cage
  • in shape keys specials menu (black triangle pointing down) choose “Join As Shapes” (can also just do a spacebar search for that operator)

This will create a shape key on the new cage that would allow you to morph it into your existing shape. What’d be left is to just bind your objects to this new cage while the shape key’s value is set to 0.

You don’t want to edit X’s mesh directly unless you just want to do something quick and dirty. As Stan mentioned, you can use shapes.

You can also use bones to deform X.