Airsim: LIDAR Doesn't Detect Whole Mesh, But Only a Bounding Box

Created on 18 Aug 2020  路  1Comment  路  Source: microsoft/AirSim

I have imported my own mesh from Blender into Unreal Engine. (export as .fbx from Blender and then import into Unreal Engine)

Screenshot from 2020-08-18 10-05-04

As you can see, there is a detailed mesh.

Screenshot from 2020-08-18 10-01-51

But unfortunately the LIDAR does not recognize the details of the mesh. It only detects a bounding box around the objects.

Is this caused by the LIDAR implementation of AirSim or do I have to modify some settings in Unreal Engine to make the LIDAR "see" the detailed mesh?

Most helpful comment

Unreal uses two collision standards: simple and complex. By default simple will be used. You are looking into using the complex collision. More information on it here: https://docs.unrealengine.com/en-US/Engine/Physics/SimpleVsComplex/index.html#:~:text=Simple%20Collision%20are%20primitives%20like,will%20use%20the%20corresponding%20shape.

Two ways to achieve this:
1) Alter AirSim Plugin
https://github.com/microsoft/AirSim/blob/bd8ee6be4183c28d402e4c34cce114312da46358/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp#L593
Edit the FCollisionQueryParams to trace the complex collision

FCollisionQueryParams trace_params;
trace_params.bTraceComplex = true;

2) Alter the mesh
Alter your meshes in Unreal to use the complex collision in all cases by choosing _UseSimpleAsComplex_.
image

>All comments

Unreal uses two collision standards: simple and complex. By default simple will be used. You are looking into using the complex collision. More information on it here: https://docs.unrealengine.com/en-US/Engine/Physics/SimpleVsComplex/index.html#:~:text=Simple%20Collision%20are%20primitives%20like,will%20use%20the%20corresponding%20shape.

Two ways to achieve this:
1) Alter AirSim Plugin
https://github.com/microsoft/AirSim/blob/bd8ee6be4183c28d402e4c34cce114312da46358/Unreal/Plugins/AirSim/Source/AirBlueprintLib.cpp#L593
Edit the FCollisionQueryParams to trace the complex collision

FCollisionQueryParams trace_params;
trace_params.bTraceComplex = true;

2) Alter the mesh
Alter your meshes in Unreal to use the complex collision in all cases by choosing _UseSimpleAsComplex_.
image

Was this page helpful?
0 / 5 - 0 ratings