PhysX Collision operator

The PhysX Collision operator allows you to add colliders to a PhysX simulation, and set test conditions for colliding particles.

Only mesh colliders are supported. Spacewarp colliders are not supported.


Colliders

  • Input collider objects: the geometry colliders to add to a PhysX simulation.
Hull Type
  • Hull Type: allows you to choose the collider collision hull.

Sphere: a perfectly spherical hull.

Box: a bounding box hull.

Convex Hull: a convex hull encapsulating collider mesh vertices.

Mesh: the collider’s mesh will be used as the hull.

  • Display Hull: displays the collider hull in the viewport.
Shape Dimensions
  • Fit Bounding Box: controls whether spherical hulls will encapsulate the bounding box of the collider’s mesh.
Bounce and Friction
  • Restitution: the restitution coefficient for the collider. Similar to “bounce”.

  • Static/Dynamic friction: friction coefficients for the collider.

Collider Simulation Groups
  • Simulation groups: controls which particle simulation groups will be used to filter collisions.

Contact generation

  • Future collisions (sweep): a sweep test will be performed, which implicitly moves a particle along its trajectory, checking for collisions along the way. If a collision is found, the contact will be registered to the particle. Registered contacts can be used by PhysX Collision operator tests, as well as any other operators that use PhysX contact information.

If a hit is found along the sweep, the implication is that the particle will collide during the next frame of the simulation. This allows you to check if a “future” collision will occur…which can help in various scenarios. For example, if you’d like to fracture geometry before it collides with an object (as opposed to after it collides), you can perform a sweep test to check for future collisions which can be used to trigger a pre-collision fracture operation.

  • Inflate hull: controls how much to inflate the sweep hull during sweep tests.

Sweep testing ignores the angular velocity of particles and will only perform a sweep using their linear velocity. Therefore, collisions from spinning particles may be missed. Increasing the inflation parameter may help to catch those missed collisions, as the hull used to sweep the scene will be inflated by the specified value.

Test For:

  • Inter-particle collisions: collisions between particles may satisfy the test condition.

  • Geometry collisions: collisions between particles and geometry colliders may satisfy the test condition.

  • Ground collider collisions: collisions between particles and the default PhysX ground plane may satisfy the test condition.

Extra Test Conditions

If any extra conditions are enabled, they will factor into whether a particle satisfies the test condition.

  • Test operator: the logical operator controlling how extra test conditions are considered.

AND: all enabled extra conditions must be satisfied in order for a colliding particle to satisfy the test.

OR: any enabled extra conditions must be satisfied in order for a colliding particle to satisfy the test.

Collision Count

A particle must collide a certain number of times before it will satisfy this condition.

  • Min: the minimum number of collisions.
Minimum Impulse

The minimum impulse of a particle’s collision must be above a certain value before it will satisfy this condition.

  • Min: the minimum impulse value.
Maximum Impulse

The maximum impulse of a particle’s collision must be below a certain value before it will satisfy this condition.

  • Max: the maximum impulse value.
Minimum Penetration

The penetration value of a particle’s collision must be above a certain value before it will satisfy this condition.

  • Min: the minimum penetration value.
Mass coefficient

When greater than one, the ratio between the mass of a particle and its collider must be greater than a specified value in order to satisfy this condition. When less than one, the opposite is true. When equal to one, a particle and its collider must have the same mass in order to satisfy this condition.

  • Value: the test value.
Volume coefficient

When greater than one, the ratio between the volume of a particle and its colliding particle must be greater than a specified value in order to satisfy this condition. When less than one, the opposite is true. When equal to one, a particle and its colliding particle must have the same mass in order to satisfy this condition.

  • Value: the test value.
Event Age

A particle’s event age must be within a defined range before it will satisfy this condition.

  • Min/Max: the event age range.
Frame

The current simulation frame must be within a defined range before particles will satisfy this condition.

  • Min/Max: the frame range.
Collider type

Only particles with a certain PhysX collider rigidbody type will satisfy this condition.

  • Dynamic/Kinematic: the PhysX collider rigidbody type.
Simulation Groups

Only particles matching a certain set of simulation groups will satisfy this condition.

  • Simulation groups: the simulation groups.