TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

Ability to generate Navmesh from higher polygon models and paint navmesh floors directly onto model surfaces #5723

Open mav3r1ck1981 opened 2 months ago

mav3r1ck1981 commented 2 months ago

so, the overwhelming majority of my levels are interior and these are built using modular packs with each individual section imported via the importer. Having spent some time building a new level for a competition entry, i could not get any characters (both stock. custom or those using the NPC Controller) would interact at all with the player. They would run through their idle animation, but they don't walk, attack, run away or find cover. Basically any of the things you require an NPC to do.

Playing the level in test game with "Show Navigation Debug Visuals" ticked on, it was immediately obvious that the NAVMESH wasn't being generated within the modules. However the Navmesh WAS being generated on the terrain below the modules in a flat yellow square.

image

I figured with Necryms help that this could be because the entire level was suspended in the air and locked, it had no contact with the terrain/ground. So i added 2 ramps, beginning and end of the level, to provide that link and tried again. Still nothing.

Next, i took an individual corridor section, and laid it on the ground in a test area, and unfortunately, the same thing happens.

image

image

The only difference in these modules and perhaps others ive used in other levels is these are higher poly, this corridor for example is 200K poly

mav3r1ck1981 commented 2 months ago

As a work around, ive added multiple invisible planes to the floors with collision off and have successfully got a navmesh of sorts to generate. see below:

image

unfortunately there even though there is a plane set up as above, navmesh still does not generate in some areas.

image

Adding floor decals has made a small area generate, but this is not an ideal solution.

Im going to make an assumption that the rocky corridors are either too high poly, or the meshes are too clustered for navmesh to be generated, but the simple flat plane negates that.

Id like to make a suggestion that as a (near) future addition we could have a NAVMESH brush to physically paint where we need the navmesh to be generated. As GGMax becomes increasingly stable and complex, allowing for more detailed maps, this feels like an important addition.

LeeBamberTGC commented 2 months ago

@mav3r1ck1981 Yes I would 'guess' that the model you imported is giving the automated nav mesh generator a hard time, and high polygon count would do that. Can you email me that massive interior model in its raw and imported states and I will see what the nav mesh is making of it. In the meantime I have retitled and classified this as a feature request as I agree there will be a need for finer grain and manual application of navmeshes without hacking in flat floors that would spoil your game visuals.