0
$\begingroup$

I'm still a beginner at Blender and leaned a bit about bone rigging, however I cannot find information on one particular animation that I want to do.

Essentially I have a hollow cylinder with several loop cuts. I have created it using the following technique:

  1. Create a circle in the X-Y plane.
  2. Extrude it several times in the Z direction.
  3. Use the solidify modifier.

This is what I end up with: Image of a simple cylinder that I have created using the method described above

Essentially what I want to achieve is an animation where a the bottom two parts of the cylinder open up radially with respect to the axis of the cylinder. For example I want the portion labelled in red below to open up 90 degrees outwards and the bottom portion labelled in blue to turn 180 degrees, so that it point up. Essentially getting the effect of the end of the cylinder folding up/rolling up on itself. Image of what I am trying to achieve as an animation on the cylinder

I have figured out how to do this folding linearly with a simple slab. However I cannot figure out how to do it with a cylinder with a rotational symmetry around the central axis. Can someone explain or point me to some resources I can read?

Just to add, I have simplified the problem to the simplest possible case. I am actually trying to achieve this effect with a much more complex object that I have already imported from a CAD model, so starting from a slab, doing the modification on the slab and creating a circular array wouldn't really work. I would like to know how to achieve that with a ready-made mesh. I was envisioning to create some kind of a 3 bone armature and have that armature control the entire mesh, but not sure how to do that or even whether it is even possible.

Any help is appreciated.

$\endgroup$
4
  • $\begingroup$ Unfold your mesh to a slab, deform it, fold it back. $\endgroup$
    – Leander
    Commented Aug 4 at 9:59
  • $\begingroup$ What is it supposed to be? $\endgroup$ Commented Aug 4 at 11:26
  • $\begingroup$ @Leander do you mean UV unwrapping. Also does it matter how the deformation is done? Should it be done with simple deform or a armature rig, or it doesn't matter? $\endgroup$
    – jopeto
    Commented Aug 4 at 11:28
  • 1
    $\begingroup$ @MartynasŽiemys It is a hollow solid object with rotational symmetry around the z axis. It is a rubber teat for feeding babies from a bottle. I want to animate the teat being rolled back so that it can then be put around the bottle. $\endgroup$
    – jopeto
    Commented Aug 4 at 11:31

1 Answer 1

0
$\begingroup$

By capturing the positions of vertices relative to a curve and then offsetting them along the curve you could approach such an effect with geo nodes.

deformed meshes result

Collapse the mesh onto a 2D plane.

Store the angle of the XY plane.
storing the angle (geo nodes)

Apply the reverse of the angle.
geo node setup and result

Sample the curve

Since we only have the Sample Nearest Surface node, we need to convert the curve into a mesh, transfer the factor attribute $[0, 1]$ and the sample that factor for each point.
geo nodes: sampling curve

Sample the curves values and store the position and rotation for each point.
geo nodes storing location and rotation

Sample the curve a second time, but offset the factor to move along the curve. This would shift the points along the curve. At the same time translate the curve upwards to make the undeformed points stationary.
geo nodes sampling the curve a second time

Store the second samples as well.
geo nodes combined

Shifting the points

  1. Subtract the position of the unmodified curve's sample.
  2. Inverse rotate the points around the unmodified curve's sample.
  3. Rotate the points around the modified curve's sample.
  4. Add the position of the modified curve's sample.

geo nodes: shifting the points

This is what the 2D deformation looks like.

shifting curves: result

Apply the angle (position) back again

Since we stored the angle as a named attribute, we can rotate the points to their correct position again and reconstruct a 3D shape.

geo nodes and result: reconstructing the 3d shape

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .