[csharp] Fix rotation spinning out of control.

Port of: 7996f2b
This commit is contained in:
pharan 2018-08-17 23:19:49 +08:00 committed by GitHub
parent 9b259c66e0
commit 671c921089
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -334,10 +334,10 @@ namespace Spine {
// Mix between rotations using the direction of the shortest route on the first frame while detecting crosses. // Mix between rotations using the direction of the shortest route on the first frame while detecting crosses.
float r1 = pose == MixBlend.Setup ? bone.data.rotation : bone.rotation; float r1 = pose == MixBlend.Setup ? bone.data.rotation : bone.rotation;
float total, diff = r2 - r1; float total, diff = r2 - r1;
diff -= (16384 - (int)(16384.499999999996 - diff / 360)) * 360;
if (diff == 0) { if (diff == 0) {
total = timelinesRotation[i]; total = timelinesRotation[i];
} else { } else {
diff -= (16384 - (int)(16384.499999999996 - diff / 360)) * 360;
float lastTotal, lastDiff; float lastTotal, lastDiff;
if (firstFrame) { if (firstFrame) {
lastTotal = 0; lastTotal = 0;