Going back to basics
After trying a few more “realistic” cloth techniques, I realised I’d made the simulation worse instead of better.
The biggest problems were all my own:
- Self-collision pushed overlapping particles apart in position space without changing their velocity, so the springs immediately snapped them back and the whole cloth could launch itself across the scene.
- Replacing bend springs with angle constraints made the cloth feel soft and unstable because the position-based constraints were fighting the force-based spring solver.
- Per-triangle aerodynamic forces changed the way the cloth fell and settled, but not for the better.
Sometimes the simplest solution really is the right one.
I rolled the simulator back to the model that was already producing the best results:
- Structural, shear, and bend springs
- Per-particle wind
- Linear air drag
- Strain limiting as the only position correction
I removed self-collision and the angle-based bending entirely. Fabric presets now just adjust the bend spring stiffness, so materials like silk and leather still behave differently without adding unnecessary complexity. The settings menu was cleaned up to match.
The rendering improvements all stayed, including the updated shader, high-resolution offscreen exports (1080p, 1440p and 4K), and the quality-of-life improvements to the presets and UI.
I also added a --selftest mode that automatically runs a standard cloth drop onto the sphere and checks that the simulation stays stable. It verifies that particle positions remain finite, the cloth doesn’t explode or fling itself away, and structural springs stay within the configured strain limit.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.