Shape keys and unfolding a non-linear shape

Hi all,

I’m trying to animate the unwrapping of a bottle: a paper is wrapped around the bottle (following the curvature of the neck and bottom), and then folded out away from the bottle. Of course this will cause some deformation in the animation but that’s OK.

So I drew a bottle, then from that shape created a wrapper around it (duplicate, scale a bit larger). It’s the object “Wrapper” in the attached file. That wrapper I want to straighten and then animate the thing.

I have learned about shape keys, and that part is basically OK. I can set a basis, then start changing the shape of the wrapper, and the animation follows it. The problem is that I have not found a way to rotate out the wrapper - basically increase the radius of the shape (but of course Blender is only doing staight lines and flat faces and knows nothing about circles, radiuses, etc).

Then I decided to make a copy of the shape, remove 3/4 of it, and re-add the same number of faces but now in the unwrapped way (object “Wrapper unwrapped” in the attached file). I can add this unwrapped version through “join as shapes” as shape key, but not too surprisingly this fails terribly as the vertices are not mapped properly (just try to increase the shape key value of “Wrapper” and you see what I mean, it’s a mess).

In my final animation I’m not going to unwrap it completely, but only about 1/3 of the way or even less, enough to expose the bottle that’s going to be inside that wrapper.

So now I’m looking for suggestions of how to make this work. I’m thinking of:

  1. manually map all the vertices of the two shapes so the shape changes correctly, or
  2. find a way to edit the shape “Wrapper” to get towards “Wrapper unwrapped”, or
  3. a totally different way that I don’t know about.

Thanks in advance!


wrapper.blend (524 KB)

That will be difficult to do in one go with just shape keys. You could try using the simple deform modifier to bend the wrapper around the bottle and keyframe the angle. Duplicate the wrapper (Wrapper2) and apply the deform modifier. Add a shrink-wrap modifier to Wrapper2 and adjust the offset until it above the bottle; then apply the modifier as a shape key. You can use then keyframe this shape key to shrink the wrapper to the bottle. In the example blend I have wrapped the bottle, in you case you would reverse the key framing so that it started wrapped and then unwrapped. You would have the wrappers in the same place and animate their visibility.
wrapper2.blend (645 KB)

Mmm… Looks like a step in the right direction but not completely there; the shrinkwrap shape should remain applied at all times. Gotta try other stuff again I guess.

Got it, the shape key was indeed what I needed, but not the shrinkwrap!

What I did: I applied a shape key on the unwrapped part, played a little with the length of this mesh (had to scale it a few times, then Apply the scale, so finally it closed perfectly), and then simply animate between two angles.

I did find I need many segments in the straight bit, otherwise it doesn’t work. I tried it with a single segment, but that just won’t bend. Hereby my final result, hope it’s a useful example for others: wrapper3.blend (493 KB)

Now how to mark this as SOLVED?? (OK, found it… Too hidden!)