mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Simplified disable inherit scale math.
This commit is contained in:
parent
f6a6af0643
commit
a42ce71796
@ -286,24 +286,16 @@ public class Bone implements Updatable {
|
|||||||
case noScale:
|
case noScale:
|
||||||
case noScaleOrReflection: {
|
case noScaleOrReflection: {
|
||||||
float cos = cosDeg(rotation), sin = sinDeg(rotation);
|
float cos = cosDeg(rotation), sin = sinDeg(rotation);
|
||||||
float za = pa * cos + pb * sin, zb = za;
|
float za = pa * cos + pb * sin;
|
||||||
float zc = pc * cos + pd * sin, zd = zc;
|
float zc = pc * cos + pd * sin;
|
||||||
float s = (float)Math.sqrt(za * za + zc * zc);
|
float s = (float)Math.sqrt(za * za + zc * zc);
|
||||||
if (s > 0.00001f) s = 1 / s;
|
if (s > 0.00001f) s = 1 / s;
|
||||||
za *= s;
|
za *= s;
|
||||||
zc *= s;
|
zc *= s;
|
||||||
s = (float)Math.sqrt(zb * zb + zd * zd);
|
s = (float)Math.sqrt(za * za + zc * zc);
|
||||||
if (s > 0.00001f) s = 1 / s;
|
float r = PI / 2 + atan2(zc, za);
|
||||||
zb *= s;
|
float zb = cos(r) * s;
|
||||||
zd *= s;
|
float zd = sin(r) * s;
|
||||||
float by = atan2(zd, zb), r = PI / 2 - (by - atan2(zc, za));
|
|
||||||
if (r > PI)
|
|
||||||
r -= PI2;
|
|
||||||
else if (r < -PI) r += PI2;
|
|
||||||
r += by;
|
|
||||||
s = (float)Math.sqrt(zb * zb + zd * zd);
|
|
||||||
zb = cos(r) * s;
|
|
||||||
zd = sin(r) * s;
|
|
||||||
float la = cosDeg(shearX) * scaleX;
|
float la = cosDeg(shearX) * scaleX;
|
||||||
float lb = cosDeg(90 + shearY) * scaleY;
|
float lb = cosDeg(90 + shearY) * scaleY;
|
||||||
float lc = sinDeg(shearX) * scaleX;
|
float lc = sinDeg(shearX) * scaleX;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user