Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Recast integration to fix crash in NavigationMesh baking #69189

Merged
merged 1 commit into from
Nov 28, 2022

Conversation

grahamboree
Copy link
Contributor

In some cases Godot can generate input parameters to Recast that cause it to crash. Specifically when baking NavigationMeshes for input meshes that have axis extents less than half the NavigationMesh CellSize.

This has been fixed upstream in Recast (in recastnavigation/recastnavigation@3901c58). Updating Godot's Recast integration fixes this crash issue in Godot as well.

Fixes #65764

@grahamboree grahamboree requested a review from a team as a code owner November 26, 2022 01:17
@grahamboree
Copy link
Contributor Author

This has been targeted for 4x but can be backported to 3x safely as well.

@akien-mga akien-mga added bug topic:thirdparty cherrypick:3.x Considered for cherry-picking into a future 3.x release cherrypick:3.5 Considered for cherry-picking into a future 3.5.x release labels Nov 26, 2022
@akien-mga akien-mga added this to the 4.0 milestone Nov 26, 2022
@akien-mga
Copy link
Member

Looks great, thanks! Could you also update thirdparty/README.md with the reference of the new commit we're vendoring?
Please do so by amending this commit so it stays as a single mergeable commit.

In some cases Godot can generate input parameters to Recast that cause it to crash.  Specifically when baking NavigationMeshes for input meshes that have axis extents less than half the NavigationMesh CellSize.

This has been fixed upstream in Recast (in recastnavigation/recastnavigation@3901c58).  Updating Godot's Recast integration fixes this crash issue in Godot as well.
@grahamboree
Copy link
Contributor Author

README.md updated. I amended the original commit so there's just the 1 commit to merge. Thanks!

@akien-mga akien-mga merged commit ceca460 into godotengine:master Nov 28, 2022
@akien-mga
Copy link
Member

akien-mga commented Nov 28, 2022

Thanks! And congrats for your first merged Godot contribution 🎉

Edit: Well this was my stock welcome message - obviously as part of the Recast team you already had a lot of code contributions merged in Godot :P

@grahamboree grahamboree deleted the updated-recast branch November 28, 2022 16:15
@grahamboree
Copy link
Contributor Author

Hahah thanks! I suppose I have contributed to a lot of games and engines then if that counts ;P

@akien-mga
Copy link
Member

Cherry-picked for 3.6.

@akien-mga akien-mga removed the cherrypick:3.x Considered for cherry-picking into a future 3.x release label Nov 30, 2022
@timothyqiu
Copy link
Member

Cherry-picked for 3.5.2

@timothyqiu timothyqiu removed the cherrypick:3.5 Considered for cherry-picking into a future 3.5.x release label Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NavigationMeshInstance crash baking static colliders with PlaneShape and ConvexPolygon
3 participants