diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-12-12 15:48:36 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-04-20 13:24:00 +0300 |
commit | 48a86af3887c3d93e1a8cf34033e86b23d1edd12 (patch) | |
tree | fdef17d96173b9e3f35150055bd0cdfbb51c0552 /source/blender/physics/CMakeLists.txt | |
parent | eacc24ccf1f758597adbdd33c830229737e5839d (diff) |
IK solver for hair strands that provides a better solution for keeping
consistent segment lengths when transforming vertices.
Warning: The implementation is not correct yet, but all the steps should
be there.
The main idea is to treat strands as a sequence of joints that are
displaced out of their original locations by a transform or other tool.
The solver then tries to find a global per-strand solution that keeps
the segment lengths unmodified, with a minimum change in angles from
the original starting shape. Such a solution is much more usable and
efficient than the current O(n^2) attempt of "spreading the error"
across the strand.
The inverse kinematics method is very flexible. It can also include
stretching, which would be very welcome for features like the length
tool. Different parts of the strand could be weighted separately using
scaling factors for the angle/stretch parameters.
Conflicts:
source/blender/physics/intern/implicit.h
Diffstat (limited to 'source/blender/physics/CMakeLists.txt')
-rw-r--r-- | source/blender/physics/CMakeLists.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/physics/CMakeLists.txt b/source/blender/physics/CMakeLists.txt index 08ff1faca49..12080567585 100644 --- a/source/blender/physics/CMakeLists.txt +++ b/source/blender/physics/CMakeLists.txt @@ -28,6 +28,7 @@ set(INC intern ../blenlib ../blenkernel + ../bmesh ../imbuf ../makesdna ../../../intern/guardedalloc @@ -46,8 +47,10 @@ set(SRC intern/implicit_blender.c intern/implicit_eigen.cpp intern/eigen_utils.h + intern/strands.cpp BPH_mass_spring.h + BPH_strands.h ) blender_add_lib(bf_physics "${SRC}" "${INC}" "${INC_SYS}") |