JoltPhysics3D/RigidBody: Fix mass being overriden by Jolt

This commit is contained in:
SirLynix 2023-11-26 21:30:27 +01:00
parent 962a2e71c7
commit e6c5d95278
1 changed files with 9 additions and 3 deletions

View File

@ -386,11 +386,17 @@ namespace Nz
creationSettings.mObjectLayer = 1;
creationSettings.mRestitution = settings.restitution;
creationSettings.mMassPropertiesOverride = creationSettings.GetShape()->GetMassProperties();
creationSettings.mMassPropertiesOverride.ScaleToMass(settings.mass);
creationSettings.mMotionType = (settings.mass > 0.f) ? JPH::EMotionType::Dynamic : JPH::EMotionType::Kinematic;
float mass = settings.mass;
if (mass <= 0.f)
mass = 1.f;
creationSettings.mMassPropertiesOverride = creationSettings.GetShape()->GetMassProperties();
creationSettings.mMassPropertiesOverride.ScaleToMass(mass);
creationSettings.mOverrideMassProperties = JPH::EOverrideMassProperties::MassAndInertiaProvided;
switch (settings.motionQuality)
{
case JoltMotionQuality::Discrete: creationSettings.mMotionQuality = JPH::EMotionQuality::Discrete; break;