as far as i know, UE4’s Trigger is implemented by overlapping the component with the scene, and this check is driven by a recursive UPrimitiveComponent::UpdateOverlaps, this may cost some CPU for very deep transform hierarchy.
i wander why not using PxShapeFlag::eTRIGGER_SHAPE for Trigger, a feature already implemented by PhysX, what’s the ration beind the choice?
I also want to avoid recursive UpdateOverlaps. I tried to use ISimEventCallbackFactory, but it doesn’t work for me. I’m not sure, but PhysX doesn’t support TriangleMesh triggers.
TriangleMesh and HeightField geometries are not supported for trigger shapes
So maybe the main reason is working with overlapping by convex collision.
Small update. I found some way to get overlap events from PhysX:
- Need to override GSimulationFilterShader by your PhysXSimFilterShader.
- FPhysScene::SimEventCallbackFactory.
And you can get onContact event between 2 actors.
But it can work only like OnBeginOverlap. I couldn’t find how to get OnEndOverlap