Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.
(cherry picked from commit 4185fce0eff4c0fc40f077120d0ed26220e6c995)
Updates NavigationPolygonInstance polygons on the NavigationServer2D when the NavigationPolygon Resource emits its changed signal due to e.g. polygons altered by script.
The first 2 or 3 prints are inaccurate since the engine has just
started at that point.
(cherry picked from commit 2d56dfb746fb05c8cab090e4b411b1987e990fca)
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.
- okla
431c032d8c
This mentions that internally, the inverse camera projection is used
to perform projections.
(cherry picked from commit fbec10179ad2a058a5f6d2689dba9db813bdc83f)
The rationale behind the expected number of bytes is now displayed
in clear (width, height, format, number of mipmaps expected if any).
(cherry picked from commit 18e9e6a81a0aef27bbb78d3e52d52a4b009457bf)
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.
This 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.
(cherry picked from commit e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....
Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
- smix8
3977eb9107
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.
(cherry picked from commit 001d89223f1377717d2b3d5ec453ff8dd3604182)
Fixes NavigationObstacle2D/3D reporting a 'get_global_transform: Condition "!is_inside_tree()" error when estimating the agent radius.
The collisionshapes that are lower in the SceneTree order than the obstacle node are not loaded in the SceneTree yet so the global_transform function fails.
Also adds warning message when this happens.
(cherry picked from commit cc707412e909f117ad53ebe53e19bad43acf086a)
Expand on the format of the output array for collide_and_get_contacts and collide_with_motion_and_get_contacts, and describe how the contact point pairs can be used to calculate collision normals and depths.
(cherry picked from commit bdf086c781f2f5d1bf5f4f11f0b29a94a629a0ec)
When converting doc xml files to rst, add an indenation level to bullet points in the text description of enum values.
Also add check to avoid out of bounds error in rstize_text.
(cherry picked from commit 38cf07b768074b9f9fd5e9081cce9af2dc8b089f)
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.
(cherry picked from commit 79511af7c94b447409d10194239069facef9c4a0)