瀏覽代碼

[ts] Port of commit 877e705dd. Fix NaN in IKConstraint due to fp precision.

Davide Tantillo 1 年之前
父節點
當前提交
e4df0c0dff
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      spine-ts/spine-core/src/IkConstraint.ts

+ 3 - 2
spine-ts/spine-core/src/IkConstraint.ts

@@ -270,8 +270,9 @@ export class IkConstraint implements Updatable {
 				q = -(c1 + q) * 0.5;
 				let r0 = q / c2, r1 = c / q;
 				let r = Math.abs(r0) < Math.abs(r1) ? r0 : r1;
-				if (r * r <= dd) {
-					y = Math.sqrt(dd - r * r) * bendDir;
+				r0 = dd - r * r;
+				if (r0 >= 0) {
+					y = Math.sqrt(r0) * bendDir;
 					a1 = ta - Math.atan2(y, r);
 					a2 = Math.atan2(y / psy, (r - l1) / psx);
 					break outer;