Browse Source

[libgdx] One bone IK clean up.

NathanSweet 5 years ago
parent
commit
d94ebeae7a

+ 3 - 6
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java

@@ -186,12 +186,9 @@ public class IkConstraint implements Updatable {
 			break;
 			break;
 		case noRotationOrReflection:
 		case noRotationOrReflection:
 			rotationIK += atan2(pc, pa) * radDeg;
 			rotationIK += atan2(pc, pa) * radDeg;
-			float ps = pa * pa + pc * pc;
-			if (ps > 0.0001f) {
-				ps = Math.abs(pa * pd - pb * pc) / ps;
-				pb = -pc * ps;
-				pd = pa * ps;
-			}
+			float ps = Math.abs(pa * pd - pb * pc) / (pa * pa + pc * pc);
+			pb = -pc * ps;
+			pd = pa * ps;
 		default:
 		default:
 			float x = targetX - p.worldX, y = targetY - p.worldY;
 			float x = targetX - p.worldX, y = targetY - p.worldY;
 			float d = pa * pd - pb * pc;
 			float d = pa * pd - pb * pc;