Blender Git Commits

Blender Git "master" branch commits.

Page: 2704 / 5574

Revision 173bdfe by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Guide hair drawing for hair particles.

Without this the particle system only shows the actual non-simulated
hairs ("guide hairs") during edit mode. These hairs are used for goals
as well, so showing them in the regular viewport is pretty important.

Also the usual hair curves are interpolated along the entire length,
which makes it very difficult to see exact vertex positions, unless
using exact powers of 2 for the segment number and match the display
steps.

Conflicts:
source/blender/blenkernel/intern/particle.c
Revision acf4506 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Improved child hair curling for interpolated child particles.

The curl radius for children in interpolated mode was calculated using
the total offset from the parent particle. This leads to very large
radii when the distance is large due to sparse parents. Such behavior is
also very unrealistic because the curl radius is mostly constant and
defined by the material properties.

All the child hairs are roughly parallel by default. To simulate the
agglomeration of children into hair wisps the "flatness" parameter is
now used to clump them together.
Revision 64b9ba0 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Cloth solver data for edit mode is unused, removed it.
Revision 6097de2 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for scons files missing physics include folder.
Revision 48e67c4 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added separate damping for bending springs.

The bend damping factor was hardcoded to the same value as the stiffness.
Now it has its own factor in the settings and button in hair dynamics.
Revision e694b7c by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Set the length threshold for hair simulation to 10% again (from 1%).

With the default 5 substeps the simulation can otherwise still become
unstable. This is just a preliminary measure anyway until the length
variance can be fixed properly.
Revision 43424a6 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for outdated root array size when changing the particle amount
during simulation.
Revision d613c38 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for hair chain testing in the cloth modifier.

Bending springs are en-bloc and not interleaved with other springs, so
this can't be used as a test for hair roots. Use consecutive indices
instead.
Revision 577150c by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Completed the implementation of bent rest shapes for hair.

Basically follows the Pixar approach from "Artistic Simulation of Curly
Hair".
Revision 5209228 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Target calculation for local non-straight rest shapes.

This is more involved than using simple straight bending targets
constructed from the neighboring segments, but necessary for restoring
groomed rest shapes.

The targets are defined by parallel-transporting a coordinate frame
along the hair, which smoothly rotates to avoid sudden twisting (Frenet
frame problem). The rest positions of hair vertices defines the target
vectors relative to the frame. In the deformed motion state the frame
is then recalculated and the targets constructed in world/root space.
Revision 7d4799b by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Have to include BLI_utildefines before BKE_collision now to have bool
defined.
Revision 6394189 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Clear forces and constraints together at the start of the time step,
easier to verify.
Revision e44187c by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for missing initialization of local cloth modifier inside particle
systems.
Revision c036c72 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Proper implementation of angular bending springs including jacobian
derivatives for stabilization.

The bending forces are based on a simplified torsion model where each
neighboring point of a vertex creates a force toward a local goal. This
can be extended later by defining the goals in a local curve frame, so
that natural hair shapes other than perfectly straight hair are
supported.

Calculating the jacobians for the bending forces analytically proved
quite difficult and doesn't work yet, so the fallback method for now
is a straightforward finite difference method. This works very well and
is not too costly. Even the original paper ("Artistic Simulation of
Curly Hair") suggests this approach.
Revision 3a8ef0e by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Unused function declaration.
Revision 491e749 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Basic solver result feedback from the mass-spring (cloth/hair) solver.

This returns a general status (success/no-convergence/other) along with
basic statistics (min/max/average) for the error value and the number
of iterations. It allows some general estimation of the simulation
quality and detection of critical settings that could become a problem.
Better visualization and extended feedback can follow later.
Revision 00bb836 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Calculate bending targets based on the direction of previous segments.

This makes the bending a truely local effect. Eventually target
directions should be based in a local coordinate frame that gets
parallel transported along the curve. This will allow non-straight
rest shapes for hairs as well as supporting twist forces. However,
calculating locally transformed spring forces is more complicated.
Revision e5ae13b by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Simple debug drawing support inside the implicit solver.
Revision 14bd99b by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added a damping term for angular bending springs.
Revision 7a7778d by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Simple initial implementation of angular bending springs.

These are much better suited for creating stiff hair. The previous
bending springs are based on "push" type spring along the hypothenuse
of 3 hair vertices. This sort of spring requires a very large force
in the direction of the spring for any angular effect, and is still
unstable in the equilibrium.

The new bending spring model is based on "target" vectors defined in a
local hair frame, which generates a force perpendicular to the hair
segment. For further details see
"Artistic Simulation of Curly Hair" (Pixar technical memo #12-03a)
or
"A Mass Spring Model for Hair Simulation" (Selle, Lentine, Fedkiw 2008)

Currently the implementation uses a single root frame that is not yet
propagated along the hair, so the resulting rest shape is not very
natural. Also damping and derivatives are still missing.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021