1
$\begingroup$

I am trying to make child cube scale properly when only inner surface of the parent object is scaled. It's better to show an image: enter image description here

I can easily make it so, that if whole parent object is scaled, child cube would be scaled as well, but I totally cannot figure out how to scale this inner cube only when selected faces are scaled. I have tried bunch of methods like vertex groups, copy scale/transformation constraints, hook modifiers, but nothing really worked, most probably I was doing something wrong.

$\endgroup$
  • $\begingroup$ Is it a true scale you're looking for, (which would also scale the gap between the cube and the frame) , or do you want the gap to have a consistent width? $\endgroup$ – Robin Betts Jul 17 '19 at 10:16
  • $\begingroup$ True scale I guess.. I want to achieve the same effect like parent-child object scaling. $\endgroup$ – Eugene Shatilo Jul 17 '19 at 10:49
1
$\begingroup$

In this particular case, to keep things simple, for a constant offset, you could assign a Shrinkwrap modifier to the cube, target the frame, set to 'Nearest Vertex', and with the Offset in the modifier adjusted to give the desired gap. Here, the frame is being animated using shape-keys.

enter image description here

Perhaps more generally. this time giving a true scale, so the gap scales as well as the cube and inner rim:

  • Create vertex groups of the inner surfaces of the frame and all of the cube
  • Create a single-bone armature at the scaling origin
  • Name the vertex groups the same as the bone
  • Assign an Armature modifier to the frame and the cube, both targeted on the armature, and both set to 'Vertex Group' using the named vertex groups.

enter image description here

Now scaling the bone will scale all the associated vertices.

$\endgroup$

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.