Clamp NavigationMesh sample_distance above zero #61061
Merged
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.
Previously Godot would set all
sample_distance
values < 0.9 to 0 which causes the crashes. This pr limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.While default ReCast library has support for 0.0 and >= 0.9 'sample_distance' the Godot implementation does not for a zero value. In fact against the ReCast doc numbers below 0.9 also work in Godot. Godot was already using values as low as 0.01 on small grids cause the Godot implementation is multiplying the
sample_distance
withcell_size
behind the scene and cell_size can get as low as 0.1 in value.Fixes #38173