CSS Bot Navigation Meshes

NAVIGATION EDITING


Mesh Generation

nav_generate
Generate a Navigation Mesh for the current map and save it to disk.

nav_mark_walkable
Mark the current location as a walkable position. These positions are used as seed locations when sampling the map to generate a Navigation Mesh.

nav_generate_incremental

Run the generation process again without altering the existing mesh. If there are additional walkable areas and or walkable_marks, new areas will be generated and added to the mesh. However these areas will have to be connected manually to the existing mesh.

nav_clear_walkable_marks
Erase any previously placed walkable positions

nav_quicksave 0/1
Set to 1 to skip the time consuming phases of the analysis. Useful for data collection and testing.

nav_save
Saves the current Navigation Mesh to disk

nav_load
Loads the Navigation Mesh for the current area.

nav_analyze
Analyze the current Navigation Mesh and save it to disk. The analysis phase computes the second-order data needed by by the bots and hostagesfor their planning and attention systems.


Editing Commands

nav_delete
Deletes the currently highlighted area.

nav_split
To split an area into two, align the split line using your cursor and invoke the split command.

nav_merge
To merge two areas into one, mark the first area, highlight the second by pointing your cursor at it and invoke the merge command.

nav_mark
Marks the area or ladder under the cursor for manipulation.

nav_unmark
Clears the marked area or ladder.

nav_connect
To connecr two areas, mark the first area, highlight a second area, then invoke the connect command. Remember this creates a one-way connection from the first to the second area. To make a two-way connection, reverse the commands, connect the second are to the first area.

nav_disconnect
To disconnect two areas, mark an area, highlight a second area, then invoke the disconnect command. This will remove all connections between the two areas.

nav_splice
To splice, mark an area, highlight a second area, then invoke the splice command to create a new, connected area between them.

nav_begin_area
First of a two part command. Defines a corner of a new area or ladder. To complete the area or ladder, drag the opposite corner to the desired location and issue a 'nav_end_area' command.

nav_end_area
Second of the two part command. Defines the second corner of a area or ladder and creates it.

nav_corner_select
Slect a corner of the currently marked area. Use multiple times to access all four corners.

nav_corner_raise
Raise the selected corner of the currently marked area.

nav_corner_lower
Lower the selected corner of the currently marked area.

nav_corner_place_on_ground
Place the selected corner of the currently marked area on the ground.

BOT NAVIGATION AND MODIFICATION


Bot Navigation

nav_crouch
Toggles the 'must crouch in this area' flag used by the AI system.

nav_precise
Toggles the 'don't avoid obstacles' flag used by the AI system.

nav_jump
Toggles the 'traverse this area by jumping' flag used by the AI system.

nav_no_jump
Toggles the 'don't jump in this area' flag used by the AI system.

nav_stop
Toggles the 'must stop when entering this area' flag used by the AI system.

nav_walk
Toggles the 'traverse this area by walking' flag used by the AI system.

nav_run
Toggles the 'traverse this area by running' flag used by the AI system.

nav_avoid
Toggles the 'avoid this area when possible' flag used by the AI system.

nav_transient
Toggles the 'area is transient and may become blocked' flag used by the AI system.

nav_dont_hide
Toggles the 'area is not suitable for hiding spots' flag used by the AI system.

nav_stand
Toggles the 'stand while hiding' flag used by the AI system.

nav_no_hostages
Toggles the 'hostages cannot use this area' flag used by the AI system.


Bot Controls

bot_debug 0/1
Used for debugging info of bot behavior.

bot_freeze 0/1
Used to freeze all bots 0/1

bot_goto_mark
Sends a bot to the selected nav area (for editing nav meshes).

bot_show_nav 0/1
Shows the bot's nav mesh.

bot_traceview 0/1
See the bot's feild of view while navigating a map.

bot_traceview_extended 0/1
New command...

bot_zombie 0/1
Used for playtesting nav meshes.

PLACE NAME COMMANDS


Place Painting

nav_toggle_place_mode
Toggle the editor in and out of place mode. Place mode allows labelling of area with place names.

nav_toggle_place_painting
Toggles place painting mode. When place painting, pointing at an area will 'paint' it with the current place.

nav_use_place
If used without arguments, all available places will be listed. If a place argument is given, the current place is set.

nav_place_replace
Replaces all instances of the first place with the second place.

nav_place_list
List all place names used in the map.

nav_place_floodfill
Sets the place of the area under the cursor to the currentplace, and 'flood-fills' the place to all ajacent areas. Flood-filling stops when it hits an area with the same place, or a different place than that of the initial area.

nav_place_pick
Sets the current place to the place of the area under the cursor.

nav_mark_unnamed
Mark an area with no place name. Useful for finding stray areas missed when place painting.


OTHER COMMANDS


sv_cheats 0/1
Must be set to 1 to enable navigation tuning.

nav_edit 0/1
Set to 1 to interactivly edit the navigation mesh. Set it to 0{zero} to close the editor.

mat_fullbright 0/1
Use this instead of the flashlight to nav dark areas or maps, makes it daylight.

nav_check_file_consistency
Scans the maps directory and reports any missing/out-of-date navigation files. (this doesn't work right)

nav_check_connectivity
Reports ant areas that are not connected to every hostage rescue zone and bomb site on the map.

nav_update_blocked
Updates the blocked/unblocked status for every nav area.

nav_check_floor
Updates the blocked/unblocked status for every nav area.

nav_remove_unused_jump_areas
Removes jump areas with at most 1 connection to a ladder or non-jump area.

nav_strip
Strips all hiding spots, approach points, and encounter spots from all areas in the mesh.

nav_warp_to_mark
Warps the player to the marked area.

nav_build_ladder
Attempts to build a nav ladder on the climbable surface under the cursor.

nav_ladder_flip
Flips the selected ladder's direction.

nav_show_ladder_bounds
Draws the bounding boxes of all func_ladders in the map.

nav_show_area_information (duration)
Duration in seconds to show nav area ID and attributes while editing.

nav_show_danger 0/1
Show current 'danger' levels.

nav_compress_id
Re-orders area and ladders ID's so they are continuous.