Blender Git Commits

Blender Git "master" branch commits.

Page: 2708 / 5574

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.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021