diff --git a/spine-c/spine-c/src/spine/PhysicsConstraint.c b/spine-c/spine-c/src/spine/PhysicsConstraint.c index f15305281..4942e46d2 100644 --- a/spine-c/spine-c/src/spine/PhysicsConstraint.c +++ b/spine-c/spine-c/src/spine/PhysicsConstraint.c @@ -140,7 +140,7 @@ void spPhysicsConstraint_update(spPhysicsConstraint *self, spPhysics physics) { } if (a >= t) { float d = POW(self->damping, 60 * t); - float m = self->massInverse * t, e = self->strength, w = self->wind * f, g = self->gravity * f * (spBone_isYDown() ? -1 : 1); + float m = self->massInverse * t, e = self->strength, w = self->wind * f * self->skeleton->scaleX, g = -(self->gravity) * f * self->skeleton->scaleY; do { if (x) { self->xVelocity += (w - self->xOffset * e) * m; diff --git a/spine-cpp/spine-cpp/src/spine/PhysicsConstraint.cpp b/spine-cpp/spine-cpp/src/spine/PhysicsConstraint.cpp index 66334f6ac..2bed6f2f2 100644 --- a/spine-cpp/spine-cpp/src/spine/PhysicsConstraint.cpp +++ b/spine-cpp/spine-cpp/src/spine/PhysicsConstraint.cpp @@ -352,7 +352,7 @@ void PhysicsConstraint::update(Physics physics) { } if (a >= t) { float d = MathUtil::pow(_damping, 60 * t); - float m = _massInverse * t, e = _strength, w = _wind * f, g = _gravity * f * (Bone::yDown ? -1 : 1); + float m = _massInverse * t, e = _strength, w = _wind * f * _skeleton.getScaleX(), g = _gravity * f * _skeleton.getScaleY(); do { if (x) { _xVelocity += (w - _xOffset * e) * m;