thanks to that other question I was able to see how quick and easy the use of the Navmesh volumes now is
so now I’m gonna branch out into a new post and ask a few questions about NavMeshes in general:
- will you support usage of ‘imported meshes’ as navmeshes?
- will there be support for moving platforms and such with navmeshes?
what about interactable obstacles
like doors?
- will you add some support for runtime navmesh generation? I don’t
expect a full re-cast while playing
the game, only the possibility of
spawning objects that come with
their own navmesh pieces (answer to
question 1. would need to be yes)
I’m asking this because yesterday I got a basic implementation of [the dynamic pathfinding system I did for UE3], and now would be a great time to stop if the navmesh functionality is expected to fill in the gaps that made me need such a custom system
Hi Oscar,
1.will you support usage of ‘imported meshes’ as navmeshes?
There are currently no plans to support this.
2.will there be support for moving platforms and such with navmeshes? what about interactable obstacles like doors?
We do plan to support navmesh on moving platforms. Most probably this will be handled by having a separate navmesh instance attached to the moving navigable geometry. But it’s not very high in our backlog so I wouldn’t be holding my breath waiting for it.
Regarding navigation elements like doors we’re currently implementing a solution for it.
3.will you add some support for runtime navmesh generation? I don’t expect a full re-cast while playing the game, only the possibility of spawning objects that come with their own navmesh pieces (answer to question 1. would need to be yes)
The answer to 1. was “no”, but as a matter of fact we do support runtime navmesh generation, the “full recast” way Just add following to your DefaultEngine.ini
[Engine.RecastNavMesh]
; runtime params
bRebuildAtRuntime=true
and it should be enabled. Just give it a try, and if it doesn’t work create a separate thread regarding that.
In general Navigation System in UE4 is in no way relative of the one in UE3. It has been written pretty much from scratch with high-performance in mind. Any feedback welcomed!
Cheers,
–mieszko
thanks for your answers, it’s all more clear now.
The runtime full recast sounds awesome and I’m sure it will be extremely pleasing to hear to a lot of people
there’s just one thing about it: how powerful is it? can I just create a simple level with a Landscape placed, then add a NavMeshVolume, build paths, and then at runtime generate the rest of my world and expect the re-cast to build correctly all through it?
Yes, provided you can wait for it to finish in the background. It’s lightning fast, but even lightning fast solutions take some time when there’s a lot of data.
Still, optionally we sort navmesh tiles to be build by distance to gameplay-relevant (game-specific) actors so that the tiles needed first are processed first (and yeah, navmesh is usable as soon as any tile’s ready, not when all of them get generated).
that’s awesome!
one last question: besides setting bRebuildAtRuntime=true in the ini, how do I rebuild paths at runtime? is there a command to do that or is it done automatically every time something changes in the scene?
Navmesh rebulding is triggered by changes to navigation relevant actors (like position/rotation change) or spawning/destruction of such an actor.