From e5e1f945ea03ffa0b493abedc42538f22715cca4 Mon Sep 17 00:00:00 2001 From: Olly Rybak Date: Wed, 17 Jul 2024 10:04:14 +1000 Subject: [PATCH] Added eDETECT_CCD_CONTACT to PairFlags, hopefully properly enabling CCD --- Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp b/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp index 80d264857..ea05851a6 100644 --- a/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp +++ b/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp @@ -666,6 +666,8 @@ 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)) { @@ -697,6 +699,8 @@ PxFilterFlags FilterShader( pairFlags |= PxPairFlag::eNOTIFY_TOUCH_LOST; pairFlags |= PxPairFlag::ePOST_SOLVER_VELOCITY; pairFlags |= PxPairFlag::eNOTIFY_CONTACT_POINTS; + if (!settings.DisableCCD) + pairFlags |= PxPairFlag::eDETECT_CCD_CONTACT; return PxFilterFlag::eDEFAULT; }