JoltPhysics3D/RigidBody: Fix mass being overriden by Jolt
This commit is contained in:
parent
962a2e71c7
commit
e6c5d95278
|
|
@ -386,11 +386,17 @@ namespace Nz
|
||||||
creationSettings.mObjectLayer = 1;
|
creationSettings.mObjectLayer = 1;
|
||||||
creationSettings.mRestitution = settings.restitution;
|
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;
|
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)
|
switch (settings.motionQuality)
|
||||||
{
|
{
|
||||||
case JoltMotionQuality::Discrete: creationSettings.mMotionQuality = JPH::EMotionQuality::Discrete; break;
|
case JoltMotionQuality::Discrete: creationSettings.mMotionQuality = JPH::EMotionQuality::Discrete; break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue