Representing the world with a self-made navigation mesh
Sometimes, a custom navigation mesh is necessary for dealing with difficult situations such as different types of graphs, but placing the graph's vertices manually is troublesome because it requires a lot of time to cover large areas.
We will learn how to use a model's mesh in order to generate a navigation mesh based on its triangles' centroids as vertices, and then leverage the heavy lifting from the previous recipe we learned.
Getting ready
This recipe requires some knowledge of custom editor scripting and understanding and implementing the points of visibility in the graph representation. Also, it is worth mentioning that the script instantiates a CustomNavMesh
game object automatically in the scene and requires a prefab assigned, just like any other graph representation.
Finally, it's important to create the following class, deriving from GraphVisibility
:
using UnityEngine; using System.Collections; using System.Collections.Generic...