Increase pathfinding accuracy for actors with non default bounds in exterior cells
OpenMW can generate navmesh for each unique actor bounds (collision shape type + half extents) but does it only for interior cells. Doing this for exterior cells is expensive so it's generated only for default player character based bounds. Fully generate navmesh for an exterior location can take from 5 to ~20 seconds depending on the hardware. Each new actor bounds requires similar amount of time.
Using default actor bounds can break pathfinding for actors with different bounds (e.g. guars). Every actor with bigger bounds will try to use paths where it can't pass through. Or actor will not use avaialble paths if its bounds are smaller.
Need to research whether it's possible to optimize navmesh generation for multiple different actor bounds to make it better than O(n)
from the number of actors.
Some additional theory:
Basically this is a binary classification problem where:
- true positive - correct (path is correct if actor can use it to reach destination) and found path
- true negative - incorrect and not found path
- false positive - incorrect but found path
- false negative - correct but not found path
And we need to optimize F-score for all possible existing actor bounds in the game.