Final physics OnCollision flow


Final dependency tree of phases (meaning (6) calls (5) etc.

(1 ST) -> (2 MT)  -> (4 ST) -> (5 MT in batches) -> (6 MT)
       -> (3 sys)
  1. JointCreationJob
  2. jointsQuery
  3. CollisionJob
  4. ConvertNativeQueueToListJob
  5. GatherContactsJob
  6. Physics simulation

Produces the following logging.  Numbers at the start are the frame number followed by the thread number:

UpdateBefore StepPhysicsWorld

26:1:    UGS.StickyCollisionEarlySystem    OnUpdate()
26:1:    UGS.StickyCollisionSystem    scheduleCallbacks()
26:1:    UGS.StickyCollisionSystem    allocate(0)

During StepPhysicsWorld in the PostCreateContacts phase

26:1:    UGS.StickyCollisionSystem    onPostCreateContacts()

UpdateAfter StepPhysicsWorld

26:1:    UGS.StickyCollisionSystem    OnUpdate()

EndFramePhysicsSystem calls Complete() on HandlesToWaitFor so jobs run in other threads:

26:260:    UGS.StickyCollisionSystem+GatherContactsJob    Execute()
26:260:    Contact(A:Entity(115:1), B:Entity(1:1), at:float3(0.464232f, -0.4572195f, 4.335997f) dist:0.3038583 along float3(0.10108f, 2.235174E-08f, -0.9948784f)
26:260:    UGS.StickyCollisionSystem+GatherContactsJob    Execute()
... (all other contacts without a StickCause) ...
26:260:    UGS.StickyCollisionSystem+GatherContactsJob    Execute()
26:260:    UGS.StickyCollisionSystem+ConvertNativeQueueToListJob`1[UGS.StickyCollisionSystem+ContactData].Execute()
26:254:    UGS.StickyCollisionSystem+CollisionJob    Execute()
26:254:    Entity(115:1) (A) is a StickCause and hit something
26:254:    connecting Entity(115:1) at float3(0.5f, -0.4572195f, 3.983951f) to Entity(1:1) at float3(0.494946f, -0.4572195f, 4.033695f) which is float3(-0.005053997f, -0.001145959f, 0.04973054f) on sticky and float3(-7.505054f, -6.45722f, 4.033695f) on other
26:254:    UGS.StickyCollisionSystem+JointCreationJob    Execute()
26:254:    connecting Entity(115:1) to Entity(1:1) at float3(-0.005053997f, -0.001145959f, 0.04973054f) and float3(-7.505054f, -6.45722f, 4.033695f) respectively
26:254:    Entity(115:1) has no joint either:          already [] or          queued []
26:254:    Creating new joint connecting Entity(115:1) to Entity(1:1) at float3(-0.005053997f, -0.001145959f, 0.04973054f) and float3(-7.505054f, -6.45722f, 4.033695f) respectively

UpdateAfter EndFramePhysicsSystem

26:1:    UGS.StickyCollisionLateSystem    OnUpdate()
26:1:    UGS.StickyCollisionSystem    tidyUpActual(0)

<-PREV | NEXT->

Leave a comment

Log in with itch.io to leave a comment.