Nav Mesh: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Clarify what?)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|Nav Mesh}}
{{LanguageBar}}
A [[w:Navigation mesh|'''Navigation Mesh''']] (or shorter: '''nav mesh''') is a data structure that stores data used for path finding, which is typically used by bots. In {{source|4}}, navigation meshes are used by the following entities:
 
A [[w:Navigation mesh|'''Navigation Mesh''']] ('''NavMesh''' or '''nav mesh''') is a data structure that stores data used for path finding, which is typically used by bots. In {{source|4}}, navigation meshes are used by the following entities:
# [[Bot]]s and Hostages in:
# [[Bot]]s and Hostages in:
#* {{css|4}}
#* {{css|4}}
Line 9: Line 10:
#* {{gmod|4}}
#* {{gmod|4}}
#* {{tf2|4}}
#* {{tf2|4}}
#* {{p3|4}}
#* {{jb3|4}}
#* {{bms|4}}
…to realize what's navigable in their environment, and path to their desired destination.
…to realize what's navigable in their environment, and path to their desired destination.


==NAV files==
==NAV file format==
{{main|NAV}}
{{Main|.nav}}
Navigation Mesh data is stored in a [[NAV]] file corresponding to the map file ([[BSP|.bsp]]) for which it is used. For example, the nav mesh for <code>cstrike\maps\de_dust.bsp</code> is stored in <code>cstrike\maps\de_dust.nav</code>.
 
==NAV files ==
Navigation Mesh data is stored in a [[NAV]] file corresponding to the map file ([[BSP|.bsp]]) for which it is used. For example, the nav mesh for <code>cstrike\maps\de_dust[[.bsp]]</code> is stored in <code>cstrike\maps\de_dust[[.nav]]</code>.


==Navigation Mesh Editing==
==Navigation Mesh Editing==
Line 24: Line 30:
! Game !! Nav Mesh Class !! Subversion !! Notes
! Game !! Nav Mesh Class !! Subversion !! Notes
|-
|-
| {{gmod|2}}
| {{source|2}}
{{gmod|2}}
| TheNavMesh
| TheNavMesh
| 0
| 0
| Garry's Mod is using the base navigation mesh (It doesn't use it's own implementation unlike Valve games)
| Garry's Mod uses the base navigation mesh (It doesn't use its own implementation unlike Valve games)
|-
|-
| {{css|2}}
| {{css|2}}
Line 57: Line 64:
* [[L4D Level Design/Advanced Nav Editing]]
* [[L4D Level Design/Advanced Nav Editing]]


==External Links==
==External links==
* Official forums for the bot system (down) - [http://web.archive.org/web/*/http://www.turtlerockstudios.com/forums/csbot/ Archived version].
* Official forums for the bot system (down) - [http://web.archive.org/web/*/http://www.turtlerockstudios.com/forums/csbot/ Archived version].
* [https://www.editlife.net/tutorial.php?tutid=60 Waypointing for CS:S Bots/Hostages (Edit Life)]
* [https://www.editlife.net/tutorial.php?tutid=60 Waypointing for CS:S Bots/Hostages (Edit Life)]


[[Category:Level Design]]
[[Category:Source]]
 
[[Category:Level Design]]<!--Why?-->

Latest revision as of 00:14, 8 July 2025

English (en)Deutsch (de)Esperanto (eo)Español (es)日本語 (ja)中文 (zh)Translate (Translate)

A Navigation Mesh (NavMesh or nav mesh) is a data structure that stores data used for path finding, which is typically used by bots. In Source Source, navigation meshes are used by the following entities:

  1. Bots and Hostages in:
  2. NextBot entities in:

…to realize what's navigable in their environment, and path to their desired destination.

NAV file format

Main article:  .nav

NAV files

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.

Navigation Mesh Editing

Main article:  Nav Mesh Editing
Main article:  Nav Mesh Commands

The Navigation Mesh Editing is done in-game. A (new) .nav file can be generated with nav_generate (which requires sv_cheats 1 and nav_edit 1).

Game Specific SubVersions

Game Nav Mesh Class Subversion Notes
Source Source

Garry's Mod Garry's Mod

TheNavMesh 0 Garry's Mod uses the base navigation mesh (It doesn't use its own implementation unlike Valve games)
Counter-Strike: Source Counter-Strike: Source

Counter-Strike: Global Offensive Counter-Strike: Global Offensive

CSNavMesh 1 * Appends approach area data to each area.
Team Fortress 2 Team Fortress 2 CTFNavMesh 2 Appends TF2-specific attribute flag to area data.
Left 4 Dead Left 4 Dead TerrorNavMesh 13
Left 4 Dead 2 Left 4 Dead 2 TerrorNavMesh 14

See also

External links