# Trying to achieve stretched or tight cloth or rope

Im trying to achieve something similar to this where a strap is tightly wound around objects - I have tried using both cloth simulators with negative pressure and the shrink wrap modifier but the results are nowhere near this clean.

Thank you!

• Do you want to animate this, or can you manage doing it by hand? Nov 11, 2022 at 10:10
• I was hoping to do it with a simulation so I could automate as much of it as possible to get different results for different scenes, rather than having to do it custom every time Nov 11, 2022 at 15:40

Notice that the rope follows the Convex Hull of all combined tied objects. So it's easy to model this - or better - use Geometry Nodes.

How to Tighten the Ropes

1. Create the convex hull (duplicate & join objects, then use menu Mesh > Convex Hull)
2. Shrinkwrap the curve rope on the convex hull (use a Shrinkwrap modifier and extrude the curve)

The Geometry Nodes Example

With Geometry Nodes you need a few nodes and a few collections but it works fully interactively.

The Geometry Nodes Setup

The nodes are straightforward. Calculate the convex hull with the help of a collection, resample the curve to smooth it, shrinkwrap it to the hull and extrude it to give it thickness.

The muted nodes Set Spline Type and Set Handle Type were some tests to see if this creates a smoother curve with less geometry. But it does not. In fact, it creates a lot more geometry. You can see it in the Spreadsheet.

The robes are actually BezierCircle curve objects with the Geometry Nodes modifier. It's important that they are either completely outside of the convex hull or completely inside so that shrinkwrapping works. Also, apply the Scale (Ctrl+A in Object mode) so the thickness is calculated correctly.

The sign (+/-) of the Offset value of the Geometry Nodes modifier depends on where the curves are (inside/outside). The Offset moves the rope to the surface. Otherwise, it's sunken in the tied objects.

The Purpose of the Collections

The collections (Tied Objects, Tied Objects 2, etc) contain the objects that a robe should be wrapped around. The objects can be linked duplicates (Alt+D in Object mode).

In this example, the collections Tied Objects 3 and Tied Objects 4 contain an edited torus. All other objects are linked to duplicates. Half of the edited torus has been removed so that the convex hull is smaller and the rope is wrapped tightly around the cylinder and the visible original torus.

With the original torus that you can see as a wireframe object, the convex hull would have the shape of the pink annotation and in consequence, the rope would protrude from the cylinder on the right side instead of fitting tightly around it.

For the render only the Tied Objects collection which contains all objects is visible, the other collections are hidden and only used for the Geometry Nodes modifiers.

• +1 great!!!!!!!!! great idea and execution! just a tiny question: instead join mesh + duplicate + convex hull, couldn't you just do that in GN with join geometry + convex hull? then no copy + all procedural ;) Nov 13, 2022 at 8:33
• This is incredible - Thank you so much for being so thorough - Can't wait to dig back into this. Nov 14, 2022 at 2:46