COMPUTER ANIMATION AND VIRTUAL WORLDS
Comp. Anim. Virtual Worlds 2012; 23:535–546
Published online 12 June 2012 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cav.1468
SPECIAL ISSUE PAPER
A navigation mesh for dynamic environments
†
Wouter G. van Toll, Atlas F. Cook IV and Roland Geraerts *
Department of Information and Computing Sciences, Utrecht University, 3584 CC Utrecht, The Netherlands
ABSTRACT
Games and simulations frequently model scenarios where obstacles move, appear, and disappear in an environment. A
city environment changes as new buildings and roads are constructed, and routes can become partially blocked by small
obstacles many times in a typical day. This paper studies the effect of using local updates to repair only the affected regions
of a navigation mesh in response to a change in the environment. The techniques are inspired by incremental methods for
Voronoi diagrams. The main novelty of this paper is that we show how to maintain a 2D or 2.5D navigation mesh in an
environment that contains dynamic polygonal obstacles. Experiments show that local updates are fast enough to permit
real-time updates of the navigation mesh. Copyright © 2012 John Wiley & Sons, Ltd.
KEYWORDS
navigation mesh; dynamic environments; medial axis; Voronoi diagram
*Correspondence
Roland Geraerts, Department of Information and Computing Sciences, Utrecht University, 3584 CC Utrecht, The Netherlands.
E-mail: R.J.Geraerts@uu.nl
1. INTRODUCTION
A navigation mesh is a data structure that uses a set of
two-dimensional (2D) regions to represent the walkable
space in an environment [1]. These regions are commonly
used to plan visually convincing paths through complicated
environments [2–6].
Current environments are largely static because it is a
relatively expensive operation to recompute the entire nav-
igation mesh each time the environment changes. The goal
of this paper is to show that a navigation mesh that is based
on a medial axis can be updated very quickly. We locally
repair only the affected regions of the navigation mesh
each time the environment changes. Our experiments show
that local operations can be performed quickly enough to
support dynamic environments where many obstacles are
frequently moved, added, and removed.
The navigation mesh that we choose to locally repair
is the Explicit Corridor Map (ECM) [2,6]. The ECM was
chosen because it can quickly produce smooth and short
paths with any feasible amount of clearance to the obsta-
cles. This navigation mesh can be used to plan paths for
characters that may have a variety of widths and clearance
preferences. The ECM has a small memory footprint and
has previously been used to plan visually convincing paths
for thousands of virtual characters in real time [7].
†
Supporting information may be found in the online version of this
paper.
To the best of our knowledge, this paper is the first to
describe how to perform dynamic updates in an exact 2.5D
navigation mesh. As illustrated in Figure 1, such a mesh
describes the walkable areas for a connected set of 2D
floors. Such a multilayered structure can be used to model
buildings with multiple floors.
1.1. Static Environments
Most path planners assume that the obstacles in an environ-
ment are fixed. This means that the environment is static.
Graph-based techniques such as probabilistic roadmaps
[8], rapidly exploring random trees [9], waypoint graphs
[10], and reactive deformation roadmaps [11] represent
the walkable environment (or a high-dimensional config-
uration space) using a set of one-dimensional edges. By
contrast, a navigation mesh partitions the walkable envi-
ronment into a set of 2D walkable areas. These walkable
areas permit virtual characters to control their movements
inside each 2D region so that they can more easily avoid
other moving characters [12,13].
There are many techniques to construct navigation
meshes. Pettré et al. [5] use a set of overlapping disks to
describe the walkable space. Mononen’s [3] open-source
Recast Navigation project discretizes the environment into
cubic voxels, extracts the walkable surfaces, and connects
all adjacent cells. Hale et al. [14] seed the environment with
a series of quads, and each quad grows until it is as large
Copyright © 2012 John Wiley & Sons, Ltd. 535