Add Warning to NavigationMesh bake when source geometry is suspiciously big

Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.
This commit is contained in:
smix8 2022-05-11 15:36:50 +02:00
parent 0841f72c38
commit 79511af7c9

View file

@ -462,6 +462,14 @@ void NavigationMeshGenerator::_build_recast_navigation_mesh(
#endif #endif
rcCalcGridSize(cfg.bmin, cfg.bmax, cfg.cs, &cfg.width, &cfg.height); rcCalcGridSize(cfg.bmin, cfg.bmax, cfg.cs, &cfg.width, &cfg.height);
// ~30000000 seems to be around sweetspot where Editor baking breaks
if ((cfg.width * cfg.height) > 30000000) {
WARN_PRINT("NavigationMesh baking process will likely fail."
"\nSource geometry is suspiciously big for the current Cell Size and Cell Height in the NavMesh Resource bake settings."
"\nIf baking does not fail, the resulting NavigationMesh will create serious pathfinding performance issues."
"\nIt is advised to increase Cell Size and/or Cell Height in the NavMesh Resource bake settings or reduce the size / scale of the source geometry.");
}
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
if (ep) { if (ep) {
ep->step(TTR("Creating heightfield..."), 3); ep->step(TTR("Creating heightfield..."), 3);