An interface that when implemented by a UnityEngine.Object, can be called as a target when a PhysicsShape has PhysicsShape.preSolveCallbacks set to true. The PhysicsWorld the PhysicsShape is in also has to have its PhysicsWorld.preSolveCallbacks set to true.
Method | Description |
---|---|
OnPreSolve2D | Called when a contact between a pair of shapes is updated. This allows a contact to be disabled before it goes to the solver. A typical use-case would be to implement a one-way behaviour. This is only called if the PhysicsWorld has PhysicsWorld.preSolveCallbacks set to true. An event is only produced if one of the PhysicsShape have PhysicsShape.preSolveCallbacks set to true. This is only called for Awake Dynamic bodies. This is not called for triggers. This callback occurs during the simulation and must be thread-safe as it can be called from any thread therefore extreme care must be taken. Do not perform any write-operations during this callback for any PhysicsWorld, PhysicsBody, PhysicsShape or PhysicsJoint. A write operation would include setting any property or creating objects. Any attempt to perform a write operation may result in a crash, deadlock or hard to detect corruption. In most cases, performing a read operation is safe and should be limited to simple state read operations such as reading velocities etc. |