Runtime Navmesh Surface Builder

Runtime Navmesh Surface Builder for Nonon Zone Character Controller. Let you enemies walk on huge terrains and build your NaveMeshSurfaces on the run.

  • Dynamic and Static Options for Navmesh Building
  • Auto group and ungroup NavMeshSurfaces based on distance
  • Auto extend NavmeshSurface on enemies

NononNavMesh Runtime Builder

Navigate in the project explorer to the enemy (Assets –> NononCharacterController –> Prefabs –> Enemy). Click on the enemy prefab and scroll down in the Inspector.

You will see a component called “Nonon Nav Mesh Runtime Builder”. That is the class that enables you to let build a runtime navmesh for this NavMeshAgent. The component has four settings:

  • Volume Distance Treshold: The distance from the last generated NavMesh center point. If this treshold is exceeded, a new navmesh is built.
  • Surface Volume Size: The size of a single NavMeshSurface Volume, in which the NavMesh is built. This surface volume is increased to include groups of NavMeshAgents by the following formula:
    new Vector3(maxSurfaceVolumeSize / 2, maxSurfaceVolumeSize / 2, maxSurfaceVolumeSize / 2);
    Attention: If you have different settings on different enemies, the biggest will be taken.
  • Surface Layer Mask: The layer mask to build the NavMesh on. The last agent that is started having this component on it will set the final layer mask.
  • Dynamic Runtime Navmesh: If this is true the component is active. If it is false, it will do nothing.

Static Navmesh Surface

If you want to disable the dynamic building of the navmesh and go to classic, just disable the option Dynamic Runtime Navmesh. After disabling go to the Terrain in the scene.

In the inspector just bake the NavMeshSurface and you’re done.


Leave a Reply

Avatar placeholder