From 92ed8a29ffaa97895631f3b787df635b357073b3 Mon Sep 17 00:00:00 2001 From: Diren D Bharwani Date: Wed, 21 Dec 2022 19:04:10 +0800 Subject: [PATCH] Fixed bug with non-dynamic masses being overriden --- Assets/Scenes/PhysicsSandbox.shade | 2 +- SHADE_Engine/src/Physics/Dynamics/SHRigidBody.cpp | 1 + SHADE_Engine/src/Physics/Interface/SHRigidBodyComponent.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Assets/Scenes/PhysicsSandbox.shade b/Assets/Scenes/PhysicsSandbox.shade index 8323a26e..f2a5dd95 100644 --- a/Assets/Scenes/PhysicsSandbox.shade +++ b/Assets/Scenes/PhysicsSandbox.shade @@ -72,7 +72,7 @@ RigidBody Component: Type: Static Auto Mass: false - Mass: 1 + Mass: .inf Drag: 0.00999999978 Angular Drag: 0.00999999978 Use Gravity: false diff --git a/SHADE_Engine/src/Physics/Dynamics/SHRigidBody.cpp b/SHADE_Engine/src/Physics/Dynamics/SHRigidBody.cpp index 542b6082..b724321b 100644 --- a/SHADE_Engine/src/Physics/Dynamics/SHRigidBody.cpp +++ b/SHADE_Engine/src/Physics/Dynamics/SHRigidBody.cpp @@ -319,6 +319,7 @@ namespace SHADE { if (bodyType != Type::DYNAMIC) { + invMass = 0.0f; SHLOG_WARNING("Cannot set mass of a non-Dynamic Body {}", entityID) return; } diff --git a/SHADE_Engine/src/Physics/Interface/SHRigidBodyComponent.cpp b/SHADE_Engine/src/Physics/Interface/SHRigidBodyComponent.cpp index 1d1c06bf..04bb5b6b 100644 --- a/SHADE_Engine/src/Physics/Interface/SHRigidBodyComponent.cpp +++ b/SHADE_Engine/src/Physics/Interface/SHRigidBodyComponent.cpp @@ -20,7 +20,7 @@ namespace SHADE /*-----------------------------------------------------------------------------------*/ SHRigidBodyComponent::SHRigidBodyComponent() noexcept - : type { Type::STATIC } + : type { Type::DYNAMIC } , interpolate { true } , rigidBody { nullptr } {}