From 40a641b731f187b96d245e26e3387e049c5155ca Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Mon, 7 Apr 2025 17:23:03 -0500 Subject: [PATCH] Fix scale not being applied to physics center. --- Source/Engine/Physics/Colliders/Collider.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Physics/Colliders/Collider.cpp b/Source/Engine/Physics/Colliders/Collider.cpp index 5a03e9c46..39ef47686 100644 --- a/Source/Engine/Physics/Colliders/Collider.cpp +++ b/Source/Engine/Physics/Colliders/Collider.cpp @@ -53,7 +53,7 @@ void Collider::SetCenter(const Vector3& value) return; _center = value; if (_staticActor) - PhysicsBackend::SetShapeLocalPose(_shape, _center, Quaternion::Identity); + PhysicsBackend::SetShapeLocalPose(_shape, _center * GetScale(), Quaternion::Identity); else if (const RigidBody* rigidBody = GetAttachedRigidBody()) PhysicsBackend::SetShapeLocalPose(_shape, (_localTransform.Translation + _localTransform.Orientation * _center) * rigidBody->GetScale(), _localTransform.Orientation); UpdateBounds(); @@ -271,7 +271,7 @@ void Collider::CreateStaticActor() _staticActor = PhysicsBackend::CreateRigidStaticActor(nullptr, _transform.Translation, _transform.Orientation, scene); // Reset local pos of the shape and link it to the actor - PhysicsBackend::SetShapeLocalPose(_shape, _center, Quaternion::Identity); + PhysicsBackend::SetShapeLocalPose(_shape, _center * GetScale(), Quaternion::Identity); PhysicsBackend::AttachShape(_shape, _staticActor); PhysicsBackend::AddSceneActor(scene, _staticActor);