Download

Getting Nav Mesh to cast on all surfaces

so i have enemies that can walk on any surface thanks to Xaklse

(see his thread here: https://forums.unrealengine.com/showthread.php?57376-Dynamic-gravity-for-characters)

i want the nav mesh to cast on other surfaces like the ceiling (i can guess that it can’t be done in blueprint if so please tell me)

so i wanted to know how i could do that i was able to make them follow paths on the ceiling raising the max step height but i wanted a way to clearly cast it on the ceiling and other surfaces with different 'z’s)

if it can only cast a navmesh having one z as down it would be okay i would cast two nav meshes and tell my ai to use which one based on his gravity direction (is that even possible?)

i don’t know if anything i am saying means anything since i am really noob at programming with ue4 so any help and clarification would be greatly appreciated

Not possible, as the navmesh generator basically only gives the walkable surface from the top down. What you COULD do, is create a second set of meshes which are just underneath the ceiling and point them upwards so they pretty much match the ceiling but are inverted from it. Then the navmesh would see them as walkable surface and you could use them, but there would be no way to connect the walls for instance.

Honestly, what you’re asking for is very non-trivial for the typical navmesh use case. You’re best option would be to dig into the navmesh generator (recast) and adapt it to produce navmesh polygons in the way you want, but thats not an easy thing to do. The other option is simply to build a navigation mesh by hand and write your own navmesh following to use that.

OR (easier) adapt your design to not require walking on arbitrary surfaces.