diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs index 3c47131a2..246e38171 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs @@ -395,9 +395,11 @@ namespace Spine.Unity { Vector2 position = GetPhysicsTransformPosition(); Vector2 positionDelta = (position - lastPosition) / meshScale; if (physicsMovementRelativeTo != null) { - positionDelta *= physicsMovementRelativeTo.lossyScale; + positionDelta.x *= physicsMovementRelativeTo.lossyScale.x; + positionDelta.y *= physicsMovementRelativeTo.lossyScale.y; } - positionDelta /= transform.lossyScale; + positionDelta.x /= transform.lossyScale.x; + positionDelta.y /= transform.lossyScale.y; skeleton.PhysicsTranslate(positionDelta.x, positionDelta.y); lastPosition = position; } diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs index 0e3311295..51cebc816 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs @@ -474,9 +474,11 @@ namespace Spine.Unity { Vector2 position = GetPhysicsTransformPosition(); Vector2 positionDelta = position - lastPosition; if (physicsMovementRelativeTo != null) { - positionDelta *= physicsMovementRelativeTo.lossyScale; + positionDelta.x *= physicsMovementRelativeTo.lossyScale.x; + positionDelta.y *= physicsMovementRelativeTo.lossyScale.y; } - positionDelta /= transform.lossyScale; + positionDelta.x /= transform.lossyScale.x; + positionDelta.y /= transform.lossyScale.y; skeleton.PhysicsTranslate(positionDelta.x, positionDelta.y); lastPosition = position; }