What is the best way to create fabric (for example sheets on a bed) naturally

Here’s a go at this with Kangaroo:


I should warn though - this approach does currently have several issues, and will probably require some patience to make it work for your application.

  • It is very slow because of the mesh collision
  • There is no friction between the cloth and the obstacle, so it will tend to slide off if left long enough
  • Since the collision is only calculated for the vertices of the cloth, the faces can end up penetrating slightly. Offsetting the mesh slightly can help avoid this, but means the cloth will no longer lie exactly on the surface.
  • Different properties for the fabric can be achieved by varying the mesh resolution and strengths of the stretch/shear/bending forces, but for those not familiar with Kangaroo/Grasshopper tweaking these might take a while.

I think there is potential for improvement on most of these points though.
Also - I’ve recently been testing some Rhino commands using the Kangaroo library without going through Grasshopper, for some simple applications, such as dropping objects onto the ground plane. This might be another good candidate for this.

Here’s the definition. It requires Kangaroo 2.1.4 and Weaverbird.
sofa_drape.gh (19.3 KB)

6 Likes