Blender Git Commits

Blender Git "hair_immediate_fixes" branch commits.

Page: 16 / 32

October 31, 2014, 15:30 (GMT)
Removed arbitrary factor 2.0 on volumetric hair friction factor.

This was introducing energy into the system for any factor beyond 0.5
and caused major instability.
October 31, 2014, 14:20 (GMT)
Fill the hair volume grid with the _new_ velocities from the first
solver step, instead of using the previous step's velocities.
October 31, 2014, 13:45 (GMT)
Merge branch 'master' into viewport_experiments
October 31, 2014, 13:23 (GMT)
Debug drawing feature to visualize the hair continuum grid.
October 31, 2014, 10:59 (GMT)
Perform grid-based velocity smoothing for hair outside of the implicit
solver step.

Calculating forces and jacobians from linearly interpolated grid values
is problematic due to discontinuities at the grid boundaries. The new
approach of modifying velocities after the backward euler solver step
was suggested in a newer paper

"Detail Preserving Continuum Simulation of Straight Hair"
(McAdams, Selle 2009)
October 30, 2014, 21:34 (GMT)
Merge branch 'master' into gooseberry
October 30, 2014, 15:26 (GMT)
Experimental color wire-frame (for testing in the studio)
October 30, 2014, 15:17 (GMT)
Fix for warnings/errors
October 30, 2014, 15:02 (GMT)
Merge branch 'master' into hair_immediate_fixes
October 30, 2014, 14:59 (GMT)
Removed unused variable.
October 30, 2014, 14:59 (GMT)
Reorganizing hair dynamics UI layout a bit to make settings slightly
more intuitive.

Also removed a couple of unused or useless features from the UI:
* collider friction is unused and replaced in favor of true collision
* spring damping refers to structural springs (stretch), which is
not noticable in hair due to extreme stiffness atm.
* pressure factors are not sure since this feature is too unstable atm.
October 30, 2014, 14:59 (GMT)
Unified the main Eigen solver function a bit for constrained/unconstrained
solver variants.
October 30, 2014, 14:59 (GMT)
Moved render simplification function for particle distribution into the
distribution code.
October 30, 2014, 14:59 (GMT)
Disabled the hair preview feature in the code, due to limited usefulness.

Interpolating hairs in a meaningful way is a quite difficult problem.
It works ok-ish for child hairs as long as they don't move, but with
motion the direction of interpolated hairs can become quite nonsensical
quickly.

Probably a better way to create simulation previews is to limit
simulation to a particular well-defined area (like render preview
borders), but run it in full detail in that area. The error from
omitting some interaction should still be much less than orientation
errors from interpolation.
October 30, 2014, 14:59 (GMT)
Updating Eigen implicit dynamics solver implementation to adhere to the
new mass-spring solver API.
October 30, 2014, 14:59 (GMT)
Removed unused line.
October 30, 2014, 14:59 (GMT)
New hair editing feature "Shape Cut", for cutting hair based on a mesh
shape instead of a brush tool.

The brush cutting tool for hair, while useful, is not very accurate and
often requires rotating the model constantly to get the right trimming
on every side. This makes adjustments to a hair shape a very tedious
process.

On the other hand, making proxy meshes for hair shapes is a common
workflow. The new operator allows using such rough meshes as boundaries
for hair. All hairs that are outside the shape mesh are removed, while
those cutting it at some length are shortened accordingly.

The operator can be accessed in the particle edit mode toolbar via the
"Shape Cut" button. The "Shape Object" must be set first and stays
selected as a tool setting for repeatedly applying the shape.
October 30, 2014, 14:59 (GMT)
Switched back to blender implicit solver for merge.
October 30, 2014, 14:59 (GMT)
Moved particle code for distributions into own file to make hacking
easier.

This code is badly broken and needs to be replaced, but at least having
a workable code structure might help with quick hacks to fix the worst
cases.
October 30, 2014, 14:59 (GMT)
Ported the remaining implicit solver functions for Eigen.

Also added a couple of utility wrapper functions for Eigen types to make
interfacing with plain float arrays and blenlib math easier.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021