5
$\begingroup$

I need to have a rope being slowly let down from a constant point forming a spiral or coil shape

$\endgroup$
1
  • 1
    $\begingroup$ You might be able to adapt the mechanism from this youtube tutorial. If you wind the rope around something that's not visible in the render and don't anchor the other end, it might give you what you want. $\endgroup$ Commented Apr 12, 2022 at 16:40

1 Answer 1

10
$\begingroup$

Winding around the outside of a coil or spiral while keeping the inside static is an old rigging bugbear .. (rolling carpets, scrolls, etc) Most tutorials cheat.. the item slides along a spiral towards the middle, and the inside of the coil is made progressively tighter.

Geometry Nodes come to the rescue.. they give you great control over curves. A curve can be trimmed from either end, it can be resampled at any stage, and its endpoints can be located after trimming.

enter image description here

Here:

  • A smooth Bezier spiral is created
  • It's progressively (un)trimmed on the loose (outside) end
  • The outside pair of control points are raised a little
  • The outermost point is raised a lot (more than the total rope-length), and drawn towards the center in XY
  • The whole curve is trimmed from the raised end to a constant rope-length

enter image description here

Finally the curve is converted to a rope, using the GN group from this answer

You could get a lot more sophisticated about centering the loose end, etc., if you wanted to, with more nodes.. GN lets you in at any stage, to move end-points, trim to length.. almost whatever you like.

$\endgroup$
3
  • $\begingroup$ Very nice, simple and clear! +1 $\endgroup$
    – quellenform
    Commented Apr 13, 2022 at 0:21
  • $\begingroup$ @quellenform Thank you! I've been enjoying your GN solutions. There are a couple of places I've been tempted to play 'Node Golf' with you, pulling some GN tricks to save nodes: (eg the bisector of 2 curve edges is the X direction of the curve normal at that point.. using extrusion and Edge Angle to find the angle between 2 edges..). But while the tricks might save nodes, they are often actually more expensive, so I wind up preferring your way.. doing the hard maths :D. $\endgroup$
    – Robin Betts
    Commented Apr 13, 2022 at 7:47
  • 1
    $\begingroup$ Thank you so much for this feedback! I learn a lot from you! In fact, my solutions are mostly based on trial and error, and there are definitely people with more mathematical knowledge. However, I often like to think outside the box and use unconventional approaches. As a result, I sometimes come up with ideas that others like to keep hidden, and solutions that you wouldn't even think of as such at first ;-) $\endgroup$
    – quellenform
    Commented Apr 13, 2022 at 11:41

You must log in to answer this question.

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