07-24-2023, 06:59 PM
(07-24-2023, 05:59 PM)tyFlow Wrote: This is a tricky one, because your collider has self-intersections during the animation (ex: when the knee bends at its most extreme angle, the calf intersects the thigh), so you can't rely on the CCCS (which would otherwise fix all the problems - because it can't handle self-intersecting colliders).
On the other hand, the reason why the cloth is moving through the collider without the CCCS, even with a small timestep, is that because your collider is quite thin, it's just slipping between the particles in the collision step of the solver, and without the CCCS there's no face/edge collisions happening...so the cloth vertices themselves are colliding just fine, but during the collision phase of the solver they're being spread far enough apart from each other that the collider is slipping between them. You can observe this by disabling the playback cache and slowly scrubbing through the timeline, watching the movement of individual particles carefully around areas where the intersections are occurring.
There are some improvements I want to make to the cloth solver in the future that would remedy all this...but for now your option is just to enable the CCCS and try to resolve self-intersections in the collision mesh (in areas where it collides with cloth) for all frames (ex: by creative use of the relax modifier around joints). With no self-intersections and the CCCS enabled, you'll get a proper result. See attached.
Amazing, wow. I had no clue that self-intersecting colliders could be the cause of this. Indeed relaxing the shape helps as well. But your CCCS example is perfect, and did the trick. Thanks so much again!