How to get multiple blocking hits?


I want emulate beam divergence effect. Currently, I create a virtual footprint area around actual single line trace and take four samples around it by performing four more single traces. This approach is producing very low performance. Can anyone suggest me a better approach?

Use case: I want to measure distance to a given object using Lidar. Due to beam divergence of lidar the beam takes up cone shape. This phenomenon causes multiple returns around object edges (Mostly happens when beam is projected on leaves of a tree).

What I have also tried: Sphere trace, Box trace -> this would generate only list of Overlapping collisions and First blocking collision. I have all blocking collisions and need multiple blocking collisions without performing four single traces.

Thank you