algorithmic modeling for Rhino
I'm the first time here and ask me, is Kangaroo the right tool for placing tablecloth over a table or a sheet over a bad? I need this for photoreal still rendering. I tried several example files, but nothing works. Would it be difficult to work with Kangaroo on scenes like this?
It depends on the level of realism you want, but yes, draping over objects is possible.
For the cloth you need springs to resist stretching and shear, then hinges between each triangle to resist bending. (the video above shows the result of varying the bending strength)
Also, bear in mind the collision detection in Kangaroo is fairly basic - it works on points/solids only, so some edges may penetrate the volume, and it can be quite slow compared to other functions. There is also no self-collision, so cloth cannot pile up on itself.
Here's an example definition
Did you already install the Kangaroo plugin ?
(download and installation instructions here http://www.food4rhino.com/project/kangaroo)
and some links to instructional videos here http://www.grasshopper3d.com/group/kangaroo
also, there are some more great intro videos here:
It's now 2015 and you've thankfully done many wonderful updates to this. Would you mind updating the above definition to work with the latest Kangaroo? It reports it doesn't know the "hinges" component, which I assume means you've rewritten it quite a bit.
Thanks in advance.
Here is an updated definition.
I also now included the "SphereCollide" component for self-collision to prevent to cloth passing through itself
Thanks so much Daniel.
Unfortunately though, the mesh just scans through my solid without any effect. It's a bit more complicated polysurface. When I try it with a Rhino primitive, it seems to work. I double checked for naked edges on my polysurface and it has none.
What could be the problem?
The definition is actually now using the CollideMesh component, as I've found this is generally much faster than CollideSurf.
So although the table is being input as a Brep, the component is converting it to a mesh. Probably when you are giving it a more complex polysurface, this meshing is going wrong.
Try converting it to a mesh in Rhino first, and making sure that the mesh is a closed solid.
I am trying to follow along with the table cloth definition but no luck so far. It seems that the Kangaroo drape operation doesn't run - the surface remains still - and not sure how to set it motion. I've tried various scripts online and tried both CollideMesh and Collide Surf. Not sure what I'm doing wrong. I'm new to Kangaroo so apologize if I'm missing something obvious. My script attached.
Here is an updated version of this example using Kangaroo2. Let me know if you have any issues.