Engine: Add runtime navmesh generation#9919
Merged
Merged
Conversation
1d031ee to
b02324e
Compare
Co-authored-by: InoUno <inoiown@gmail.com> Co-authored-by: sruon <sruon@users.noreply.github.com>
b02324e to
6d6250a
Compare
WinterSolstice8
approved these changes
May 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I affirm:
What does this pull request do?
Given that Ino has done god's work with ximeshes and xi-visualizer, sruon added ximesh loading to LSB, and the RecastDemo shows you how to generate nav data from 3D point/tri data... why don't we just make xi_map capable of generating it's own navmeshes?
By default, the system remains as it has always been: if the file is in
/navmeshes/, use it. If it isn't there, it'll use the correspondingximeshesentry and generate a new navmesh file using the defaults we used in thexiNavmeshesrepo.The defaults are the same as before, so this doesn't FIX any foibles with navmeshes yet
But, this opens up the doors to test and experiment and actually know what the different numbers do, and try to capture test cases and get things like Garlaige Citadel or the high walkways in Sky to behave better.
THIS ALSO DOESN'T FIX PATHFINDING - Both navmesh and pathfinding are borked, and both need to be working for a smooth experience.
Tracy
I did a little experimenting of dropping
cellSizeandcellHeightdown, and it does seem to give a 5% boost in performance, at the cost of doubling (or more) the size and memory footprint of the navmesh. Interesting stuff.