[csharp] Port of commit d769c1a: Fixed noRotationOrReflection with skeleton scale.

This commit is contained in:
Harald Csaszar 2024-09-02 13:50:01 +02:00
parent c85000b5f8
commit c9c6b98211
2 changed files with 8 additions and 8 deletions

View File

@ -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;

View File

@ -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",