Cloth and PhysX RBD interacion
#1
Hello everyone. 

I've made these separate simulations. Nothing special, just a voronoi fractured rigid body and a cloth tearing.

https://youtu.be/3aZM8A73vDM
https://youtu.be/HHaFkEb68tY

I was wondering what is the best practice to combine the two. I think it would be nice if the cloth covers the rigid bodies and tears when they explode. There is no need for two way interaction here. 

So I did some experiments in the past few days. And what I learned so far is:
Particle physics and PhysX don't really play together (not a surprise here). CUDA cloth is great when interacting with geometry in the scene, but picking a tyCached rigid body doesn't really work for some reason (perhaps some particle interface enabling/disabling?). It kind of works when Edit Poly modifier is applyed on top (forcing it to be exposed as geometry I guess), but it's not very stable. Maybe the rapid changes and the dynamic fracturing is playing a role here?

I've tried covering the cahed RB with particles with particle physics applyed to act as a some sort of deflector.
Birth=30000, Position Object=tyCache, Object bind=Lock to surface, Particle physics:
https://gyazo.com/8f1c6f0869cb97469749e41a8870d268

Tried to import the cached RB with Birth Flow -> Flow Update and giving it physX shape.
Similar to tyFlow_clothRigidbodyInteraction_001.max sample file.
https://gyazo.com/0bd3ef2257848feb50e6f44f15e3afac
Think the physX messes with the tearing somehow. Maybe someone that knows more about the internal workings of the software can confirm?

Even tried to import the TyCache and convert it to cloth itself, thinking that perhaps it'll stay rigid enough to serve as a deflector, thus bringing the two components "under the same roof' and handled by the same solver. Didn't have much success

Tried to retime the cached part and slow it down 50% and simulate the cloth with time scale 0.5 in hope that if it simulates properly, I can speed it up and it'll match the cache's original speed. 

Searched the Internet. The same question popped up a few times, even on this forum. But didn't find a real solution.

So I'll continue my search, but if anyone has a hint how this should be done properly, please share your wisdom Smile

Take care.
  Reply
#2
Quote:but picking a tyCached rigid body doesn't really work for some reason

Just have to disable GPU instancing on the tyCache, so that it generates usable geometry for collisions.

Quote: It kind of works when Edit Poly modifier is applyed on top (forcing it to be exposed as geometry I guess), but it's not very stable. Maybe the rapid changes and the dynamic fracturing is playing a role here?

Having a modifier on top auto-disables GPU instancing, so that's why it beings to work that way, but yea...animated mesh collisions are always going to be artifact-prone.

Having regular cloth interact with PhysX rigidbodies is always tough, because the solvers are completely independent. If you look at the official example scenes, you'll find one which contains cloth-PhysX interactions, and an explanation for how to set it up...but when you add tearing into the mix it can further complicate things.
  Reply


Forum Jump: