January 19, 2017, 22:10 (GMT) |
Remove self collision quality (integrated with object collision) Self collisions are now impulse based, and utilize the same solver as the object collisions. Having separate quality controls would cause issues when self and object collisions occur simultaneously. |
January 19, 2017, 22:06 (GMT) |
Remove old repulsion stuff Repulsions were long unused, and are now more obsolete than ever, with the more stable collision response. |
January 19, 2017, 21:38 (GMT) |
Remove unused functions in collision.c |
January 19, 2017, 14:38 (GMT) |
Move fricion to collider object settings |
January 19, 2017, 04:13 (GMT) |
New self collision implementation (needs some cleanup) |
January 19, 2017, 01:06 (GMT) |
Fix stability issue and further make collisions inelastic The repulse when colliding points are approaching was being scaled incorrectly by the impulse, causing some undesired elasticity in the collision. I imagine this was a workaround to avoid penetrations because the collision responce was being calculated with respect to the incorrect state, but this is no longer necessary now that that has been fixed. (had missed this case in my previous elasticity commit) Other than that, I have bary interpolated the static repulses to avoid a nasty instability issue in some corner cases. |
January 18, 2017, 00:05 (GMT) |
Fix collision distance calculation (makes collisions perfectly inelastic) Collision distance was computed with respect to the positions before the pre-collision solve, but should rather be computed with respect to the newly solved positions. This fixes the issue of the collisions being semi-elastic (bouncy), making them pretty much perfectly inelastic. This also improves the effectiveness of the collision response, preventing penetrations even with far less collision steps. |
January 17, 2017, 01:31 (GMT) |
Implement single sided collisions |
January 16, 2017, 03:42 (GMT) |
Fix collision response scalings (had missed a few before) |
January 13, 2017, 22:10 (GMT) |
Make caching a bit more sane (fixes plasticity issue) This cleans up the cloth caching logic a bit. Now, a simulation step only occurs if the current time is exactly one frame after the last simulated step, thus preventing time gaps and runtime data corruption. Also, now the cloth is only re-initialized if the cache is actually outdated, instead of always being reset when on the first frame. This solves a bug where the cache was freed when moving the time to a point within the cached period. These changes also fix the issue of non-cached runtime simulation state properties (e.g. plasticity) being reset when going to the first frame or retaining a future state when simulating over an existing cache with time gaps. |
January 13, 2017, 00:41 (GMT) |
Apply collision responce on state before pre-collision solve (breaks selfcol) This uses the pre-collision solve result only to find the collisions and calculate the responce impulses, but rolls back to before the pre-collision solve when it is time to actually apply the responce. This prevents the cloth from undergoing a double solve per time-step, which essentially made colliding clothes move much faster than non-colliding clothes. |
January 12, 2017, 16:54 (GMT) |
Remove weird impulse scaling |
January 12, 2017, 04:05 (GMT) |
Fix collision extra solve update and remove redundant result applies |
January 7, 2017, 04:04 (GMT) |
UI Cleanup: Add new property scaling panel |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Add dedicated cloth shape panel |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Separate object collisions from self collisions |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Reorganize main cloth panel and improve tool-tips Also removed the "vel_damping" option from the UI, because it sucks, and nobody shall ever use, or speak of it again. (though I left its implementation and RNA definition, for historic reasons perhaps?) |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Remove cloth pin flag |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Separate shrinking from sewing |
January 7, 2017, 02:44 (GMT) |
UI Cleanup: Remove scaling flag |
|