Nav Mesh

From Valve Developer Community
Revision as of 15:39, 28 June 2005 by MikeBooth (talk | contribs)
Jump to navigation Jump to search


Introduction

A Navigation Mesh represents the "walkable areas" of a map. This data is required by Bots and Hostages in Counter-Strike:Source, allowing them to "know" how to move around in the environment.

Navigation Mesh data is stored in a .nav file corresponding to the map file (.bsp) for which it is used. For example, the nav mesh for cstrike\maps\de_dust.bsp is stored in cstrike\maps\de_dust.nav.

Automatic Navigation Mesh Generation

To support the many community-created maps, Counter-Strike:Source includes an automatic mesh generation system. The first time you attempt to play a custom map with bots, the generation system will build a .nav file for that map. Depending on the size and complexity of the map, this may take a few minutes to a few hours. Most maps take about 5 minutes to auto-generate a .nav file. Once the generation is complete, a .nav file is saved to your hard drive for future use.

What is Computed During Generation

The following steps occur during Navigation Mesh generation:

  • Starting at a player spawn point, walkable space is sampled
  • Rectangular Navigation Areas are constructed from the sampled data
  • Hiding and Sniper spots are computed
  • Encounter Spots and Approach Points are computed (this can take awhile)
  • Initial Encounter areas are computed

Manually Starting the Generation Process

To start the generation process manually, type nav_generate from the console.

Viewing the Navigation Mesh

To see the resulting Navigation Mesh, type nav_edit 1. To turn the mesh editor off, type nav_edit 0.


Addition information can be found here.