Revision 3a77ea6 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 1, 2014, 15:46 (GMT) |
Partial response force for hair collisions. This implements a penalty force as well as a repulsion force to avoid further penetration, as suggested in "Simulating Complex Hair with Robust Collision Handling" (http://graphics.snu.ac.kr/publications/2005-choe-HairSim/Choe_2005_SCA.pdf) Friction forces are still missing. More problematic is handling of moving colliders, when face swap places with the hair vertex and a collision is missed, putting the vertex inside the mesh volume. Larger margins might help, but ultimately using Bullet collision detection is probably more reliable and failsafe. |
Revision 1cce769 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 1, 2014, 13:51 (GMT) |
Merge branch 'master' into terrible_consequencer |
Revision 670ee4c by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 30, 2014, 15:54 (GMT) |
Debug drawing for simulations, to aid in visualizing abstract data such as forces, velocities, contact points etc. This uses a hash table to store debug elements (dots, lines, vectors at this point). The hash table allows continuous display of elements that are generated only in certain time steps, e.g. contact points, while avoiding massive memory allocation. In any case, this system is really a development feature, but very helpful in finding issues with the internal solver data. |
Revision 881e2f8 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 30, 2014, 13:23 (GMT) |
Some initial collision code, without actual response forces still. This is still using the old BVH tree collision methods to generate contact points, similar to what cloth does. This should be replaced by a Bullet collision check, but generating contacts in this way is easier for now, and lets us test responses and stability (although in more complex collision cases the BVH method fails utterly, beside being terribly inefficient with many colliders). |
Revision 69f6ca6 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 29, 2014, 15:06 (GMT) |
Merge branch 'master' into hair_immediate_fixes |
Revision 42a02c6 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 28, 2014, 12:55 (GMT) |
Implemented internal hair pressure to prevent hair from collapsing in on itself. This uses the same voxel structure as the hair smoothing algorithm. A slightly different method was suggested in the original paper (Volumetric Methods for Simulation and Rendering of Hair), but this is based on directing hair based on a target density, which is another way of implementing global goals. Our own approach is to define a pressure threshold above which the hair is repelled in the density gradient direction to simulate internal pressure from collisions. |
Revision e7e2195 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 27, 2014, 16:12 (GMT) |
Fixed hair velocity smoothing. This is an important hair interaction feature that simulates friction between hairs in an efficient way. The method is based on the paper "Volumetric Methods for Simulation and Rendering of Hair" ( http://graphics.pixar.com/library/Hair/paper.pdf ) It was partially implemented already, but didn't work in this simplified version. The same voxel structure can be used for implemeting repelling forces on hair based on density, which can help a hair system maintain volume instead of collapsing in on itself. |
Revision bd1c736 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 27, 2014, 12:11 (GMT) |
Support for various data properties of the hair grid in the voxel texture. |
Revision 5d87f52 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 27, 2014, 10:33 (GMT) |
New voxel texture mode "Hair", for displaying the internal hair volume structure as a texture. This is mostly a debugging feature that may be removed again later. |
Revision 93d8e94 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 27, 2014, 10:33 (GMT) |
Fixed voxel grid initialization from hair points and colliders by using the suggested tent function from the original paper. Plain float->int conversion for the grid location otherwise leads to skewed data and unnecessary loss of information. |
Revision a5be383 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) August 27, 2014, 10:33 (GMT) |
Code cleanup: Use a variable-sized array for the hair volume velocity smoothing and collision code, split into multiple functions. |
Revision ab4da07 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) August 15, 2014, 14:58 (GMT) |
Add simple code to add (ctrl-P) and display parents. (WIP) This is not a serious attempt though and possibly a good solution should go through a dependency graph. Also there are some crashes on undo. |
Revision cb5b088 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) August 13, 2014, 18:48 (GMT) |
Merge branch 'master' into terrible_consequencer |
Revision 8ecb39a by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) August 5, 2014, 14:32 (GMT) |
Fix cuddly strips shading and drawing issues. Also now there are no issues on big zooms (they behave really cuddly) |
Revision ff66e9f by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) August 5, 2014, 10:34 (GMT) |
Cuddlification of strips complete. Still need to make corners shrink on big zoom |
Revision 4af1346 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) August 4, 2014, 20:47 (GMT) |
Strip drawing : Remove handle square, triangle is enough indicator here. Also add cuddly outline |
|