Blender Git Commits

Blender Git "master" branch commits.

Page: 2705 / 5574

Revision 86a4da1 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Replace the dynamic root transform in the implicit solver data with a
single transform matrix.

Dynamic properties of the transformation are only needed during the
setup phase when they should be read from external data (hair system
roots) and generate fictitious forces on each point.
Revision fa1c2ba by Lukas Toenne
January 20, 2015, 08:30 (GMT)
More scons fixes for physics lib.
Revision 09ad433 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fixed scons build files for new physics subfolder.
Revision f03d253 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Disabled the velocity filtering feature for now, since the weighting is
incorrect.

The voxel grid needs better tool support to make it usable, so fixing
the filtering is not high priority right now.
Revision 226beb9 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added basic filtering feature for velocity smoothing.

This is part of the original method from "Volumetric Methods for
Simulation and Rendering of Hair". The current filter is a simple box
filter. Other energy-preserving filters such as gaussian filtering
can be implemented later.

The filter size is currently given as a cell count. This is not ideal,
rather it should use a geometrical length value, but this is too
abstract for proper artistical use. Eventually defining the whole grid
in terms of spatial size might work better (possibly using an external
object).
Revision bbae8f8 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Made the voxel grid size for hair interaction configurable and increased
the default to 32.

Conflicts:
source/blender/blenloader/intern/versioning_270.c
Revision be016da by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Reduced the length threshold for disabling short hairs from 0.1 to 0.01.
Revision 0ddea77 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for rB71271bb, was replacing the force vectors entirely instead of
adding.
Revision 59d76a4 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for effector force fields on hair, using the world-to-root
transformation.
Revision d43170d by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Add weak repulsion forces to hair collision response to keep the hair
at a the margin distance ("outer" softbody margin).

This has to be clamped arbitrarily unfortunately, otherwise the
repulsion force can add too much energy into the system. A factor of
4 * restitution impulse seems to give good results for now, this can
be refined later on if necessary.
Revision 8876429 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added back the velocity smoothing implementation.

This is now also decoupled from the internal solver data. The grid is
created as an opaque structure, filled with vertex or collider data
(todo), and then forces can be calculated by interpolating the grid at
random locations. These forces and derivatives are then fed into the
solver.
Revision a8cf092 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for Sintel hair bug.

The hair solver needs sane input to converge within reasonable time
steps. In particular the spring lengths must not be too difference
(factor 0.01..100 or so max, this is comparable to rigid body simulation
of vastly different masses, which is also unstable).

The basic hair system generate strands with equally spaced points, which
is good solver material. However, the hair edit operators, specifically
the cutting tool, can move points along the strands, creating tightly
packed hair points. This puts the solver under enormous stress and
causes the "explosions" observed already during the Sintel project.

The simple solution for now is to exclude very short hairs from the
simulation. Later the cutting tool should be modified such that it
keeps the segments roughly at the same length and throws away vertices
when the hair gets too short (same goes for the extension tool).

The hair system should have a general mechanism for making sure that
situations such as this don't occur. This will have to be a design
consideration for replacements in any future hair system.
Revision 6623395 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Minor fix when gravity code is disabled.
Revision 58e33ab by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Removed unused code.

Conflicts:
source/blender/physics/intern/implicit_blender.c
Revision d0379f8 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added a calculation function for the fictitious forces introduced by
moving hair root reference frames.

This calculates Euler, Coriolis and Centrifugal forces which result
from describing hair in a moving reference frame.
http://en.wikipedia.org/wiki/Fictitious_force
Revision a49b170 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Fix for own misconception of fictitious forces in the moving hair root
frames.

These forces don't have to be calculated for each individual
contribution. Rather they can be split off and be calculated on top of
the basic force vector rotation (todo).
Revision 02c8bf9 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Added back spring force definitions outside the implicit solver.

There are currently 3 types of springs: basic linear springs, goal
springs toward a fixed global target (not recommended, but works) and
bending springs.

These are agnostic to the specific spring definition in the cloth system
so hair systems can use the same API without converting everything to
cloth first.

Conflicts:
source/blender/physics/intern/implicit_blender.c
Revision dd0a744 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Main cloth force calculation function outside of implicit core code.

Still misses spring forces.
Revision 64de714 by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Hair volume calculation is now in its own file.

Code is currently disabled until the other main forces are in place.
Revision b9b784f by Lukas Toenne
January 20, 2015, 08:30 (GMT)
Moved the unused goal force calculation function to the main mass-spring
source file.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021