diff --git a/spine-csharp/src/IkConstraint.cs b/spine-csharp/src/IkConstraint.cs index e8a72c8f9..66c3dcb58 100644 --- a/spine-csharp/src/IkConstraint.cs +++ b/spine-csharp/src/IkConstraint.cs @@ -328,8 +328,9 @@ namespace Spine { q = -(c1 + q) * 0.5f; float r0 = q / c2, r1 = c / q; float r = Math.Abs(r0) < Math.Abs(r1) ? r0 : r1; - if (dd - r * r >= 0) { - y = (float)Math.Sqrt(dd - r * r) * bendDir; + r0 = dd - r * r; + if (r0 >= 0) { + y = (float)Math.Sqrt(r0) * bendDir; a1 = ta - (float)Math.Atan2(y, r); a2 = (float)Math.Atan2(y / psy, (r - l1) / psx); goto break_outer; // break outer;