@@ -569,6 +569,7 @@ namespace
|
||||
Array<PxBase*> DeleteObjects;
|
||||
|
||||
bool _queriesHitTriggers = true;
|
||||
bool _enableCCD = true;
|
||||
PhysicsCombineMode _frictionCombineMode = PhysicsCombineMode::Average;
|
||||
PhysicsCombineMode _restitutionCombineMode = PhysicsCombineMode::Average;
|
||||
|
||||
@@ -671,8 +672,6 @@ PxFilterFlags FilterShader(
|
||||
{
|
||||
const bool maskTest = (filterData0.word0 & filterData1.word1) && (filterData1.word0 & filterData0.word1);
|
||||
|
||||
auto& settings = *PhysicsSettings::Get();
|
||||
|
||||
// Let triggers through
|
||||
if (PxFilterObjectIsTrigger(attributes0) || PxFilterObjectIsTrigger(attributes1))
|
||||
{
|
||||
@@ -704,7 +703,7 @@ PxFilterFlags FilterShader(
|
||||
pairFlags |= PxPairFlag::eNOTIFY_TOUCH_LOST;
|
||||
pairFlags |= PxPairFlag::ePOST_SOLVER_VELOCITY;
|
||||
pairFlags |= PxPairFlag::eNOTIFY_CONTACT_POINTS;
|
||||
if (!settings.DisableCCD)
|
||||
if (_enableCCD)
|
||||
pairFlags |= PxPairFlag::eDETECT_CCD_CONTACT;
|
||||
return PxFilterFlag::eDEFAULT;
|
||||
}
|
||||
@@ -1229,6 +1228,7 @@ void PhysicsBackend::Shutdown()
|
||||
void PhysicsBackend::ApplySettings(const PhysicsSettings& settings)
|
||||
{
|
||||
_queriesHitTriggers = settings.QueriesHitTriggers;
|
||||
_enableCCD = !settings.DisableCCD;
|
||||
_frictionCombineMode = settings.FrictionCombineMode;
|
||||
_restitutionCombineMode = settings.RestitutionCombineMode;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user