Nav Mesh: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(this was probably just a reference to the vague notion that computers don't have a true understanding of anything. the nav mesh is what bots use to know things. it's simple.)
m (Clarify what?)
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{lang|Nav Mesh}}
{{LanguageBar}}
A '''Navigation Mesh''' (or shorter: '''nav mesh''') represents the "walkable areas" of a map. This data is '''required''' by [[Bot]]s and Hostages in {{game name|css|name=Counter-Strike: Source}} and {{game name|csgo|name=Counter-Strike: Global Offensive}}, and all [[NextBot]] entities in {{game name|l4d|name=Left 4 Dead}}, {{game name|l4d2|name=Left 4 Dead 2}}, {{game name|GMOD|name=Garry's Mod}} and {{game name|tf2|name=Team Fortress 2}}, allowing them to know where they can go and how to move around in the environment.


== NAV files ==
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:
{{main|NAV}}
# [[Bot]]s and Hostages in:
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>.
#* {{css|4}}
#* {{csgo|4}}
# [[NextBot]] entities in:
#* {{l4d|4}}
#* {{l4d2|4}}
#* {{gmod|4}}
#* {{tf2|4}}
#* {{p3|4}}
#* {{jb3|4}}
#* {{bms|4}}
…to realize what's navigable in their environment, and path to their desired destination.


== Navigation Mesh Editing ==
==NAV file format==
{{main|Nav Mesh Editing}}
{{Main|.nav}}
{{main|Nav Mesh Commands}}
The Navigation Mesh Editing is done in-game. A (new) .nav file can be generated with <code>nav_generate</code> (which requires {{ent|sv_cheats|1}} and {{ent|nav_edit|1}}).


== Game Specific SubVersions ==
==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==
{{Main|Nav Mesh Editing}}
{{Main|Nav Mesh Commands}}
The Navigation Mesh Editing is done in-game. A (new) .nav file can be generated with <code>nav_generate</code> (which requires {{Command|sv_cheats|1}} and {{Command|nav_edit|1}}).
 
==Game Specific SubVersions==
{| class="standard-table"
{| class="standard-table"
! Game !! Known as !! Subversion !! Notes
! Game !! Nav Mesh Class !! Subversion !! Notes
|-
|-
| {{game link|Garry's Mod}}
| {{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)
|-
|-
| {{game link|Counter-Strike: Source}}
| {{css|2}}
{{csgo|2}}
| CSNavMesh
| CSNavMesh
| 1
| 1
|
| * Appends approach area data to each area.
|-
|-
| {{game link|Team Fortress 2}}
| {{tf2|2}}
| CTFNavMesh
| CTFNavMesh
| 2
| 2
|
| Appends TF2-specific attribute flag to area data.
|-
|-
| {{game link|Left 4 Dead}}
| {{l4d|2}}
| TerrorNavMesh
| TerrorNavMesh
| 13
| 13
|
|
|-
|-
| {{game link|Left 4 Dead 2}}
| {{l4d2|2}}
| TerrorNavMesh
| TerrorNavMesh
| 14
| 14
|
|-
| {{game link|Counter-Strike: Global Offensive}}
| CSNavMesh
| 1
| (Ported from Counter Strike: Source?)
|}
|}


== See also ==
==See also==
* [[Navigation Mesh Commands|Navigation Mesh Console Command Reference]]
* [[Nav Mesh Commands|Navigation Mesh Console Command Reference]]
* [[Left 4 Dead Navigation Meshes]]
* [[List of L4D Series Nav Mesh Attributes]]
* [[L4D Level Design/Nav Meshes]]
* [[L4D Level Design/Nav Meshes]]
* [[L4D Level Design/Nav Flow]]
* [[L4D Level Design/Nav Flow]]
* [[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