Our research focuses on the problem of path planning in 3D virtual world applications. The characters we consider are heterogeneous, as they have different sizes, and can perform surface or volumetric motion. In this paper, we propose an enhanced waypoint graph, which consists of point nodes equipped with radius, as well as edges connecting those nodes. Each edge is labeled with the motion type it can support. Given a polygon soup representation of a virtual world, the proposed algorithm starts by subdividing the virtual world into regions. This enables us to process large virtual worlds. Each region is then locally voxelized, one at a time. Two kinds of waypoints are generated: local waypoints using corner detection on the voxelization, and border waypoints at the region boundary. Waypoints are then sparsely connected to form a local waypoint graph, and local graphs are finally connected via the border waypoints to create the final global enhanced waypoint graph. To plan paths between arbitrary points using this graph, the points are connected to the graph using nearest neighbor search and traversability test, then Dijkstra/A* algorithm is used to calculate the final path, taking into account the appropriate size and motion type.
Read full abstract