Hurrah! The Nintendo Switch port I’ve been working on is finally done - Moonring is out today!
https://www.nintendo.com/en-gb/Games/Nintendo-Switch-download-software/Moonring-DX-2963719.html
| Blog | https://donw.io/ |
| Personal Github | https://dwilliamson.github.io/ |
| Company Github | https://github.com/Celtoys |
Good point. It's C0 continuous but not C1.
Conflictingly, that's fine for old explicit integrators that break down under high stiffness. But not ideal for implicit integrators that handle high stiffness well.
We deal with asymmetry all the time in explicit integrators (e.g. Coulomb friction, which isn't even C0) by managing time steps, force magnitudes and integrator type.
A solution to make it C1 if there is trouble is add a quadratic smooth on the boundary.
@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.
Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))
Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.
You could also make the <d_min spring exponential for possibly better animation.
@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.
Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))
Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.
You could also make the <d_min spring exponential for possibly better animation.
@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.
Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))
Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.
You could also make the <d_min spring exponential for possibly better animation.
@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.
Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))
Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.
You could also make the <d_min spring exponential for possibly better animation.
Hurrah! The Nintendo Switch port I’ve been working on is finally done - Moonring is out today!
https://www.nintendo.com/en-gb/Games/Nintendo-Switch-download-software/Moonring-DX-2963719.html
@dougbinks Thankfully I don't get that, as early morning (5am+) is when my brain is at its most active.
Caffeine dependence used to cancel that out and I'd feel relative bored and unmotivated most mornings.