diff options
author | Joshua Leung <aligorith@gmail.com> | 2016-06-27 17:20:25 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2016-06-27 17:20:54 +0300 |
commit | 9466d1579df37e108ef52e03984b88c64c926dbe (patch) | |
tree | a74ca7a7d53127f6505d7ac3a77d96aaa7473c6e | |
parent | e2c7ee773311734450a229051673fbfea61b641a (diff) |
Bendy Bones: Temporary workaround for instability caused by D2001 when using custom handle bones
It's probably some numeric precision issue, but until we figure out exactly what's
going wrong here, let's just revert back to the hardcoded value that was used here
successfully for years without issues.
-rw-r--r-- | source/blender/blenkernel/intern/armature.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 038993777cf..99c9d0a0a79 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -634,7 +634,12 @@ void b_bone_spline_setup(bPoseChannel *pchan, int rest, Mat4 result_array[MAX_BB } { - const float circle_factor = length * (cubic_tangent_factor_circle_v3(h1, h2) / 0.75f); +#if 0 // <--- this is currently unstable, disabling until we find a good fix + const float circle_factor = length * (cubic_tangent_factor_circle_v3(h1, h2) / 0.75f); +#else // <--- temporary workaround, using the old hardcoded value + const float circle_factor = length * 0.390464f; +#endif + const float hlength1 = bone->ease1 * circle_factor; const float hlength2 = bone->ease2 * circle_factor; |