NPC Navmesh Navigation
This mod allows NPCs to use the navigation mesh as an alternative to AI nodes.
This means you can play on pretty much any map with NPCs.
All you need to do is ensure the map has a navmesh, If not you can use the nav_generate console command to generate one.
The navigator will monitor all the NPCs in the game and detect if they want to move to somewhere. If the navigator detects that the NPC can’t reach its destination, The navigator will then take control and try to guide the NPC to its destination using the navmesh.
* Compatible with maps that have or don’t have AI nodes.
* Customizable settings in the spawnmenu.
* You can disable the entire mod in one click of a button using the spawnmenu.
* NPCs can actually use dropdowns on the navmesh, Which can lead to some more advanced movement which they could not do easily with AI Nodes.
* A debug tool, ( Found in your tools section of the spawn menu ) This lets you preview the path an NPC is following VIA the navmesh.
* For better mod performance, Its a good idea to edit the navmesh with nav_edit 1 console command. ( Not required but encouraged )
This tool could help with that….
https://steamcommunity.com/sharedfiles/filedetails/?id=527885257
* You may notice that some NPCs may be opressive when using the navmesh.
This is because without AI nodes, NPCs have slightly reduced AI behaviour.
I have done my best to override this and keep them close to their original AI behaviour as possible.
* The Navigator pathfinder prefers smaller navmesh nodes since NPCs have a better time with smaller nodes.
* If NPCs get stuck near tight spaces, You may need to tweak the navmesh slightly with nav_edit, But normaly things should be fine.
* No, This does not support VJ Base NPCs for now… Because they use a different way of marking the destination.
Yes, Support may be added in the future.
* Also keep in mind the addon is new, So there could be bugs! If you find any, Please report them. Thank you.
Developers can call some of my global functions in their mods if they want.
— Make an NPC move to a point using the navmesh.
Z_NPC_SetNewGoal( npc , Vector = Position )
— Clear an NPCs navmesh movement.
Z_NPC_ClearNavigation( npc )
— Returns the NPCs navigator destination that the NPC is trying to navigate to. ( Not the NPCs goal ) for that use NPC:GetInternalVariable( "m_vecLastPosition" )
Z_NPC_Navigator_GetNavGoal( npc )
— Makes a waypoint for the NPC to move to, If shouldact is true, The NPC will start moving.
Z_Navigator_SetWaypoint( npc , Vector = Position , Bool = ShouldAct )
— Marks the current waypoint an NPC is trying to get to as reached!
Z_Navigator_WaypointReached( npc )
Zenlenafelex and [2]-Brainless-[4]
If anyone wants to make an expansion on this they can, I am a bit busy trying to step away from gmod now, So i can’t work on this as much.