Navmesh / Recast on (Gaia created) Unity Terrain?

Hi Aron, I’ve been working with the free version using a grid graph on a (Gaia created) Unity terrain of size 2000x2000. I managed to make it work (see Tutorial) but as you mentioned in a few posts a grid graph of this size is stretching it.

I’m interested in making the switch to the pro version and although there are some clues in the various forum posts I haven’t found a clear reference stating that you can use A* Pathfinding on standard unity terrain (which Gaia creates) with the navmesh/recast graph method. Also the examples on the site mostly show simple mesh based scenes.

Can you confirm if this is indeed possible?

Thanks in advance, Goodgulf.

Hi

Yes, it is possible to use recast with a standard Unity terrain.
Make sure that you use a tiled recast graph to break up large open regions (too large triangles close to small triangles can sometimes lead to suboptimal paths).

1 Like

Hi,

I just wanted to report it all working. I attached two pictures; one with the original grid (from the free version) and one with the navmesh / recast graph. It works like a charm, the recast does a better job since the grid had a 2.5 node size which was simply too big for this terrain. It took me less than an hour to get it working with the 4.06 version; most of which was rewriting the AIPath script copy I made to use the new version of that script and properly do it using inheritance (should have done that the first time :slight_smile:). Just a tip for anyone upgrading from the free version: first delete the AStartPathfindingProject before importing the full version.

Regards, Goodgulf.

1 Like

Awesome work! I’m looking at doing the same thing. One question, when I created a Grid I was able to have it treat trees as obstacles because the Grid control allows you to select layers that are obstacles. However, I was not able to find that option on the Recast control.

Were you able to build the navmesh so it excluded the tree colliders and if so how did you set that up exactly?