09-09-2024, 08:45 AM
(This post was last modified: 09-09-2024, 08:47 AM by josemendez.)
Hi!
This behavior you're talking about is called restitution, and is a result of an object being compressed upon collision. This stores potential energy in the object, which is then released when the object decompresses making it bounce off the surface. This is also related to the material's elasticity and plasticity, but it is often implemented separately for ease of authoring.
Most fluids in the real world have zero or very close to zero restitution under regular conditions (meaning they don't bounce off surfaces). Same can be said for cloth and ropes, so Obi does not implement an explicit restitution model.
In realtime engines restitution is often implemented by simply calculating the collision impulse in the normal direction such that instead of bringing the colliding objects to a position where they just touch each other without penetration, it causes the objects to separate (bounce).
The following article contains a very simple implementation of restitution for PBD solvers, it should be easy to add this to Obi:
https://matthias-research.github.io/page...Bodies.pdf
kind regards,
This behavior you're talking about is called restitution, and is a result of an object being compressed upon collision. This stores potential energy in the object, which is then released when the object decompresses making it bounce off the surface. This is also related to the material's elasticity and plasticity, but it is often implemented separately for ease of authoring.
Most fluids in the real world have zero or very close to zero restitution under regular conditions (meaning they don't bounce off surfaces). Same can be said for cloth and ropes, so Obi does not implement an explicit restitution model.
In realtime engines restitution is often implemented by simply calculating the collision impulse in the normal direction such that instead of bringing the colliding objects to a position where they just touch each other without penetration, it causes the objects to separate (bounce).
The following article contains a very simple implementation of restitution for PBD solvers, it should be easy to add this to Obi:
https://matthias-research.github.io/page...Bodies.pdf
kind regards,