Ability for the static triangle meshes to be 'Both Sided' (PhysX 3.3 - Windows)


I have a simple scene with:

  • one static actor, with a triangle mesh geometry
  • one dynamic actor, with a convex mesh geometry, that I can move with a WiiMote

The point is I want the static actor to block the motion of the dynamic actor from both sides of the static triangles.

I found a parameter on the web that is called eMESH_BOTH_SIDES but it seems to be used only when we make a sweep query by hand. I was hopping PhysX could use this parameter for its collision detection, but it seems it’s not the case.

Is there a way to do what I want ?

I think you will need to create two shapes, each from a PxTriangleMesh that is created from your source data, but one of the PxTriangleMesh objects should have the flag eFLIPNORMALS set.

I already tried this solution, but it was with PhysX 2.8.

The results were not better…

Do you think it will with PhysX 3.3?

In any case, I’ll try this ASAP and keep you updated once I have results.