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)
In order to prevent glitches when unhiding nodes, set_transform() is still called to the VisualServer even for hidden nodes when the node is interpolated. This activates a lot of logic which is not necessary just to keep the previous transform updated.
This PR adds an early out which misses out on the unnecessary logic when instances are invisible.
- lawnjelly
ec9a17cfad
Exposes the "interpolated" flag on nodes via a property, physics_interpolation_mode.
Mode can be INHERIT, OFF and ON. This makes it easy to turn off interpolation for nodes in the editor, versus via code. - lawnjelly
0ab077fcef
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.
This also changes some debug prints to be printed only when verbose
mode is enabled (like in `master`).
Automatically starts the editor debug server at given <IP>:<PORT>.
E.g.:
# Run editor and debug server listening on any interface, port 8080
godot3 -e --path proj/proj_empty --debug-server *:8080
# Run the godot project connecting to that debug server.
godot3 --path proj/proj_empty --remote-debug 127.0.0.1:8080
- Faless
225e75daba
Allow AStar/AStar2D zero point weight.
Limit was set to 1 which seemed like an arbitrary value as lower values down to zero can be useful for common gameplay navigation elements like teleports.