Vivace implementation for fast cloths and soft bodies simulation - Proposal
The current algorithm used in Blender is almost getting quite old and I mean very old
I'd like to propose the idea of using its successors, like the Projective Dynamics framework or, for an eventual future, the more general and sophisticated Quasi-newton methods for hyperelastic material
This new implementation should be way more stable than the current one and it will avoid the explosions seen when the iteration count is too slow and, also, the simulation, through the algorithm Vivace, can be speed up considerably using multicore CPUs or even GPUs, by one or more order of magnitude .
On top of this a simple modification of the collision detection and reaction (as described in the Nucleus paper and by Provot), using continuous detection directly on the vertices and the faces of the dynamic objects and the collides may lead to a simple but effective two way coupling between all rigid and soft bodies , still reusing a big part of the current collision detection implementation
But there is more, this framework would unify all the soft bodies simulations in a single framework : cloths, soft bodies and hair simulation!
Lemme know what you think :)
Reference material for the proposed implementation:
- Projective dynamics paper
- Projective dynamics, PBA 2014 introduction lesson
- Vivace demo video
- Vivace paper
- Point-triangle and edge-edge continuous collision detection paper
- Nucleus paper
Hyperelastic materials simulation:
- ADMM ⊇ Projective Dynamics: Fast Simulation of General Constitutive Models - paper
- Quasi-Newton Methods for Real-Time Simulation of Hyperelastic Materials - paper
- Quasi-Newton Methods for Real-Time Simulation of Hyperelastic Materials - video
- Anderson Acceleration for Geometry Optimization and Physics Simulation - paper
5 Comments
I can not express how much I want this to become a thing...
That would be soo good. Now that the fluid and smoke is replaced this would be a great new step. Great proposal. I wish. My secret list has something like this pretty much in top 3.
I hope this gets implemented into blender, the perfect use for the node system, cause the current cloth physics is giving me such headaches from its use
I really hope this will be heard
Fantastico Pietro !!