Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  ObiCloth going through collider
#1
Pregunta 
Hello, I've started to explore Obicloth a few months ago, and I'm really impressed with what it does, and the very handy wiki! I've run into a bit of a wall however.

I have a swimsuit model resting on a manequin, with an attached Obicloth component. When hitting play, I'd expect the swimsuit to hang onto the surface of the mesh collider, settling there, however it seems to collapse inside the collider, and falls off through the bottom.

   
   
   
   

I did some investigation, and first checked if my ObiCollider was working, so i set up a square plane as a cloth (made in blender to have more vertexes). It is working and colliding with the model as expected, however, when released from above the manequin, a few frames after colliding with the head, the head starts to poke through the cloth, and eventually the whole cloth passes through the manequin when it should be resting on top of it.

   

Looking into the wiki, i have tried the following:

*Increase and reduce the number of particles (as well as try other bigger/smaller particle sizes) in the blueprint.
*Add more collision iterations and substeps to the ObiSolver (up to 16 for both, rip my pc)
*Enable surface collisions

Note: I'm aware of ObiSkinnedCloth, however i want a true simulation of cloth physics instead of following the mesh for my use case.

Any help would be greatly apreciated, thanks!
Reply
#2
Hi!

Concave MeshColliders are hollow: only their surface generates collisions. This means if any object (such as a cloth particle) gets inside or partially inside the collider, it won't be projected back out. What's worse, it will collide with the inner side of the MeshCollider. This makes collision detection of small objects against them quite brittle.

For this reason, Obi includes its own collision primitive for complex shapes: distance fields. They're both more robust and cheaper than MeshColliders, so I'd recommend using them instead.


(14-05-2025, 05:39 PM)Andreia Mendes Wrote: *Add more collision iterations and substeps to the ObiSolver (up to 16 for both, rip my pc)

16 substeps and 16 iterations = 256 iterations (16 iterations per substep, times 16 subteps), which will absolutely obliterate performance. Don't use more than 1 iteration unless needed, always increase the amount of substeps first as recommended in the manual:

Quote:, it's best to start by setting all constraint iterations to 1 and the solver's substeps to a value that yields acceptable quality. Once you're happy with the amount of substeps, you may want to spend a few extra iterations on specific constraint types that could use some extra strength.

(14-05-2025, 05:39 PM)Andreia Mendes Wrote: *Enable surface collisions

Surface collisions are only useful for quite low-resolution cloth, which yours isn't. They won't help in your case.


kind regards,
Reply