Autonomous agents typically need a navigation mesh of a 3D virtual environment to allow efficient path planning. This mesh needs as input a continuous representation of the walkable areas. However, the walkable environment, i.e. the parts of the 3D environment that an agent can walk on, may contain gaps due to the filtering steps performed to compute it, because of modelling errors in the 3D model, or simply be part of the geometry.
We provide an algorithm that identifies and fills these gaps. We detect gaps, up to a given size, between pairs of boundary edges of the walkable environment, and fill them with polygons. We employ a heuristic for choosing which pairs of edges should be connected.
We compare our algorithm to Recast, a voxel-based method for navigation mesh generation. We find that our method gives more accurate results in many environments: it retains the exact representation of the walkable environment, semantically separates the gaps from the walkable areas, and requires no tweaking of parameters to obtain good results. However, our method is currently slower than Recast, and requires more memory.
Jordi L. Vermeulen, Arne Hillebrand and Roland Geraerts. Annotating traversable gaps in walkable environments. In International Conference on Robotics and Automation, pp. 3045-3052, 2018, (Brisbane, Autralia).
We used the following test environment in our study.