Collision error: dynamic convex mesh collides with a kinematic convex mesh [SOLVED]


I have a problem. I try to collide ship hull (dynamic convex mesh) with walls (kinematic convex mesh). In general all works wery good. But there are occurrences, when suddenly large force appears.
Debuging contact points, I have found, that there is a large separation (or penetration) (0.6 - 0.8m).

I tryed different skin width, it doesn’t solve the problem.

PhysX vesion

Maybe you have any ideas how to solve it?

Just before collision:

Just after collision. Pay attention to the separation value.

Collision video:

Have you tried using a contact modification callback?

Thank you very much!!!

Setting data.maxImpulse = 1e6 solves the problem!!!

But, it’s good only for temporary solution as it solves only consequences, not the reason.
And documentation says that using contact modification callback lead to performance degradation.

Maybe, it is something wrong with my data?
I tryed to simplify ship hull. Even with parallelepiped the problem is still exist.

Is the large penetration associated with a hitch in the frame rate? Unsteady frame rates can cause all sorts of nasty artifacts, especially when dealing with contacts between a dynamic body and an animated kinematic body.

We have fixed calc-step. The scene is quite simple, just 2 objects. Processor load is considerably below maximum.

I tryed higher and lower calc-step. Behaviour is slightly different, but it has no influece on the problem.

Experiments show, that maxImpulse should be 1e6 or less. Mass of the ship hull = 1.7e6.

P = mV -> V = 1e6/1.7e6 = 0.6 m/s.

It essentially changes the collision behaviour. Collision became inelastic!

The source of the problem was in large coordinates.
Centre of the actor was centre of the scene. Therefore a distance between centre of the actor and centre of it’s shapes was about 15 km.