diff --git a/sources/engine/Stride.BepuPhysics/Stride.BepuPhysics/Definitions/StrideNarrowPhaseCallbacks.cs b/sources/engine/Stride.BepuPhysics/Stride.BepuPhysics/Definitions/StrideNarrowPhaseCallbacks.cs index e91f2d931c..df31848eb4 100644 --- a/sources/engine/Stride.BepuPhysics/Stride.BepuPhysics/Definitions/StrideNarrowPhaseCallbacks.cs +++ b/sources/engine/Stride.BepuPhysics/Stride.BepuPhysics/Definitions/StrideNarrowPhaseCallbacks.cs @@ -23,7 +23,9 @@ public void Initialize(Simulation simulation) [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool AllowContactGeneration(int workerIndex, CollidableReference a, CollidableReference b, ref float speculativeMargin) { - return a.Mobility == CollidableMobility.Dynamic || b.Mobility == CollidableMobility.Dynamic; + var oneDynamic = (a.Mobility == CollidableMobility.Dynamic || b.Mobility == CollidableMobility.Dynamic); + var bothKinematic = (a.Mobility == CollidableMobility.Kinematic && b.Mobility == CollidableMobility.Kinematic); + return oneDynamic || bothKinematic; } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -88,10 +90,10 @@ public bool ConfigureContactManifold(int workerIndex, CollidablePair pair, int c if (manifold.Count != 0) { contactEvents.StoreManifold(workerIndex, pair, childIndexA, childIndexB, ref manifold); - #if DEBUG +#if DEBUG Debug.Assert(configuredChildIndex >= configuredManifold); configuredChildIndex++; - #endif +#endif } return true;