Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2016-06-27 17:20:25 +0300
committerJoshua Leung <aligorith@gmail.com>2016-06-27 17:20:54 +0300
commit9466d1579df37e108ef52e03984b88c64c926dbe (patch)
treea74ca7a7d53127f6505d7ac3a77d96aaa7473c6e
parente2c7ee773311734450a229051673fbfea61b641a (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.c7
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;