So I’m trying to wrap my head around what a navmesh is and how it is used. Below is my (probably incorrect) understanding of what is going on. I’d love to get some clarifications from people more knowledgable than me.
- The navmesh is built at design time (let’s assume a simple example) and it consists of a bunch of vertices that indicate possible waypoints on a floor / terrain / whatever.
- At runtime when I tell my character to go from point A to point B, the engine does an A* on the vertices of the navmesh to get the shortest path from A to B and returns that array as a solution / path / whatever.
- The engine then moves the player from one vertex to the next in the returned list from step 2.
Here’s what I don’t get. When I show the actual navmesh in the designer, it only consists of a few vertices (maybe 30 or so) in a sample map (Third Person Example Map). But when I tell my player to walk from point A to point B he is clearly not jagging over the map to hit the vertices that are displayed in the designer. So I’m missing some step here. Where is he getting his smooth path from a smaller set of vertices? Can someone give me a Navmesh for Dummies answer?