diff --git a/spine-csharp/src/Bone.cs b/spine-csharp/src/Bone.cs index 93624c0f4..e05f0290a 100644 --- a/spine-csharp/src/Bone.cs +++ b/spine-csharp/src/Bone.cs @@ -221,11 +221,12 @@ namespace Spine { break; } case Inherit.NoRotationOrReflection: { + float sx = 1 / skeleton.scaleX, sy = 1 / skeleton.ScaleY; + pa *= sx; + pc *= sy; float s = pa * pa + pc * pc, prx; if (s > 0.0001f) { - s = Math.Abs(pa * pd - pb * pc) / s; - pa /= skeleton.scaleX; - pc /= skeleton.ScaleY; + s = Math.Abs(pa * pd * sy - pb * sx * pc) / s; pb = pc * s; pd = pa * s; prx = MathUtils.Atan2Deg(pc, pa); @@ -334,10 +335,9 @@ namespace Spine { switch (inherit) { case Inherit.NoRotationOrReflection: { float s = Math.Abs(pa * pd - pb * pc) / (pa * pa + pc * pc); - float sa = pa / skeleton.scaleX; - float sc = pc / skeleton.ScaleY; - pb = -sc * s * skeleton.scaleX; - pd = sa * s * skeleton.ScaleY; + float skeletonScaleY = skeleton.ScaleY; + pb = -pc * skeleton.scaleX * s / skeletonScaleY; + pd = pa * skeletonScaleY * s / skeleton.scaleX; pid = 1 / (pa * pd - pb * pc); ia = pd * pid; ib = pb * pid; diff --git a/spine-csharp/src/package.json b/spine-csharp/src/package.json index 6a83e51bb..b922e8219 100644 --- a/spine-csharp/src/package.json +++ b/spine-csharp/src/package.json @@ -2,7 +2,7 @@ "name": "com.esotericsoftware.spine.spine-csharp", "displayName": "spine-csharp Runtime", "description": "This plugin provides the spine-csharp core runtime.", - "version": "4.2.29", + "version": "4.2.30", "unity": "2018.3", "author": { "name": "Esoteric Software",