PhysX InterCollision Test

Path: Particle View > Click or add a PhysX InterCollision test.

The PhysX InterCollision test registers inter-particle collision and redirects particles to other events based on the collision information. It does not control whether particles collide with each other. By definition, particles whose shape is defined with a PhysX Shape operator, and that participate in a PhysX simulation, can collide with each other.

Adding a PhysX InterCollision test to an event is roughly equivalent to turning on Test True If Particle in the PhysX Collision test  –  the plug-in starts collecting information about collisions. As with PhysX Collision, the job of collecting this information takes a toll on CPU resources, so if you don't need to redirect particles to other events based on collisions, you don't need to use this test.

Interface

Particles In Current Event - When this first option is set to Particles In Current Event, the test checks for collisions in the event in which the PhysX Collision test resides. In some cases, particles in the current event might collide with nearby particles after the latter have already moved on to another event; if this option is active, such collisions would not register.

Particles In Events: - The test checks for collisions in all highlighted events in the list (the list always contains all events in the flow). To check for collisions between particles in the current event and other events, highlight the events to check. PhysX InterCollision does not check for collisions between particles in other events only.

For example, you might have a large grid of particles that fall onto an object due to gravity; most of those will collide with one or more neighboring particles at some point in the first event (Event 01); using the Collides option, each colliding particle moves on immediately to the next event. But a few might not collide until all of their neighbors move on to the next event (Event 02). If you choose Particles In Events: and highlight both events, PhysX Intercollision will continue to test for collisions and the remaining particles will eventually pass the test and move to Event 02.

[event list] - Lists all events in the flow. When using the Particles In Events: option, highlight list members to check for collisions between particles in the current event and the highlighted events.

All/None/Invert - All highlights all events in the list; None removes highlighting from all events in the list; Invert removes highlighting from highlighted events and highlights the rest.

Test True If Particle group

The Collides, Is Slow After Collision(s), Is Fast After Collision(s), and Collided Multiple Times options and controls are similar to those in the standard Collision test, but with a few differences:

  • The Collides option does not have a drop-down list to define the following particle velocity; during simulation a particle has to collide and further velocity is a result of a deflection, so it doesn't make sense to provide the choice of bounce, or stop, or continue. By definition, it's always a bounce.

  • The collisions are counted during the whole integration step. The test directs particles to the next event only after simulation of the integration step is completed. Effectively, a particle can collide multiple times during an integration step; it will be redirected to the next event if you use the Collides option. The particle, however, is not redirected to the next event immediately after its first collision; it is redirected as a fact of a collision during the integration step.

    Similarly, with the Collided Multiple Times option, a particle is redirected to the next event if during the integration step (and in previous frames cumulatively) if it collided with the other particles at least the specified number of times. And again, it's not redirected to the next event right away, at the moment it collides for the Nth time; it's redirected to the next event at the end of the integration step if the cumulative number of collisions exceeds the value in # Times spinner.

  • There is no Will Collide option.

Report To Data Operator - When using Particle Flow Tools Box#3, enable this option if you need the number-of-collisions data to be used by a Data Operator; you can use the Input PhysX sub-operator to retrieve these data in a Data Operator. Typically you'd use this when the test is not wired to any following event.

Additive Count - When on, the reported data represent the total number of collisions a particle had while present in the current event. When off, the test reports only the number of collisions a particle experienced during the last integration step. Available only when Report To Data Operator is on.