Revision 4bfd3c8 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fix for collision response, the impulse response was far too small. |
Revision 27ecda9 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Use the S matrix of the modifier CG algorithm for implementing collision responses. The S matrix together with the z Vector encodes the degrees of freedom of a colliding hair point and the target velocity change. In a collision the hair vertex is restricted in the normal direction (when moving toward the collider) and the collision dynamics define target velocity. |
Revision 02ab74e by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Better contact point near-test for hair. This simply uses the position above the triangle instead of the intersection point of the vertex path. The other method was broken anyway, but also has a problem catching all the contacts reliably. The new method might have a few false positives but that is acceptable. |
Revision 93194eb by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fixed for hair collision detection, old/new positions were swapped. |
Revision 971419c by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Reduced minimum for cloth solver substeps to 1. This is not very useful for artists, but helps with debugging. |
Revision b8a9579 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Removed own debug print. |
Revision ae162f6 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Added a comment and use the new CG solver as the "official" version now. |
Revision c6e5f6a by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fixed implementation of the Conjugate Gradient method for the cloth solver that properly supports constraints with some degrees-of-freedom. The previous solver implementation only used the S matrix (constraint filter matrix) for pinning vertices, in which case all elements are zero and the error doesn't show up. With partial constraints (useful for collision contacts) the matrix has non-zero off-diagonal elements and the algorithm easily diverges. There are also initial steps for implementing collision prevention as described in the Baraff/Witkin paper "Large Steps in Cloth Simulation" (http://www.cs.cmu.edu/~baraff/papers/sig98.pdf). |
Revision b386633 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Hair collision: Use the S matrix for enforcing contact constraints. This is a first test, the contacts are very explosive atm because they basically pin hair vertices globally on collision, which leads to stretching of the springs which is then suddenly released in the next frame. |
Revision fc083b4 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Preparation for collision code fixing. Instead of handling contact tests and collision response in the same function in collision.c, first generate contact points and return them as a list, then free at the end of the stepping function. This way the contact response can be integrated into the conjugate gradient method properly instead of using the hackish and unstable double evaluation that is currently used. |
Revision 0f45f4a by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Cleanup: added some comments to the members of Implicit_Data. |
Revision c6db1d0 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Cleanup: No point in passing all the implicit solver arguments individually. |
Revision e9849bd by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Cleanup: removed the unused olddV vectors from implicit solver data. |
Revision ccad968 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Some more debug elements for hair collisions. |
Revision f98d388 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Extended line/face collision near-check, to allow for distance margins. The original BLI method for line/triangle intersection returns false in case the line does not actually intersect, but in order to generate repulsion forces we need to also handle contacts inside the margin. |
Revision dbf7840 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fix bounce/repulse calculation. |
Revision d43f760 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Hair debugging: use "categories" (strings) for grouping debug elements and support clearing for categories. |
Revision 70df8f8 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fix for hair collision detection: need to use the second point of the timestep segment. This ensures the distance for a collision pair is the one of the current point position, and the response gets calculated accordingly. |
Revision a580be6 by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Use repulsion forces in combination with the one-time penalty forces in collision. |
Revision 67fdd5e by Lukas Toenne January 20, 2015, 08:29 (GMT) |
Fix for crash when going into particle edit mode with baked hair simulation. Note that this currently generates an extreme amount of points, by making a edit pathcache curve for each hair in every frame! But at least doesn't simply crash now. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021