Commit Graph

231 Commits

Author SHA1 Message Date
b8fc6b4979 NavigationServer3D.map_get_closest_point_to_segment - add an additional shortest distance check
For a case when shortest distance is between some point located on a face's
edge and some point located on a line segment.
2024-06-29 19:50:10 +02:00
40fc299aa3 Remove unused navigation polygon properties
Removes unused navigation polygon properties, a leftover from the old Godot 3 days that used polygon center to polygon center distance for (rather inaccurate) pathfinding cost calculation.
2024-06-22 21:55:48 +02:00
eba3acadac Fix thread-use causing navigation polygon data corruption
Fixes navigation polygon  data corruption caused by thread-use that changed vertices or polygons while the navigation polygon was processed, e.g. by server region sync, navmesh baking or user thread updates.
2024-06-21 12:58:03 +02:00
04a530f91f Merge pull request #93407 from smix8/lock_this_geometry_up
Fix thread-use causing navigation source geometry data corruption
2024-06-21 10:14:38 +02:00
fd727ab994 Fix thread use causing navigation mesh data corruption
Fixes navigation mesh data corruption caused by thread use that changed vertices or polygons while the navigation mesh was processed, e.g. by server sync or baking.
2024-06-21 09:39:16 +02:00
d4722b9e1f Fix thread-use causing navigation source geometry data corruption
Fixes navigation source geometry data corruption caused by thread-use that changed vertices or indices while the source geometry data was used in a parsing process or read from by the navmesh baking.
2024-06-21 08:06:14 +02:00
4ed747e255 Fixed closest edge and face check in NavigationServer3D.map_get_closest_point_to_segment 2024-06-17 15:34:46 +04:00
9b191f669c Fix NavigationServer3D.get_closest_point_to_segment() with use_collision 2024-06-07 14:24:39 +02:00
1a380db62a Fix crash when baking TileMap navigation 2024-05-27 10:46:54 +02:00
4128c7b311 Remove duplicated vertices after 3D NavigationMesh bake
Removes duplicated vertices that may exist on shared polygon corners after a ReCast navigation mesh bake.
2024-05-21 14:18:32 +02:00
ee79386f7b [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
86de59d60a [Core] Add LocalVector::has for convenience 2024-05-06 18:03:37 +02:00
23b9a9f2de Fix TileMapLayer navmesh baking 2024-05-02 18:06:23 +02:00
1bcbbe96c4 Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
6a4d8d4b5c Change 2D navigation mesh baking to use floating point coordinates
Replaces internal uses of Clipper2 integer structs to their floating point equivalents.
2024-04-23 10:28:43 +02:00
58593d1bb7 Add navigation source geometry parser callbacks
Adds navigation source geometry parser callbacks so that externals can hook their own geometry into the navigation mesh baking process.
2024-04-19 12:10:57 +02:00
77e35cf781 Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 -07:00
8a0f1f1995 Use fmod for navigation mesh border size warning
Uses fmod for checking that navigation mesh border size matches the cell size as a multiple of cell size is also valid.
2024-04-13 03:39:53 +02:00
4a4d6df04e Merge pull request #90508 from smix8/thread_bake
Use threads for baking navigation mesh inside editor
2024-04-12 11:16:50 +02:00
1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
2bc2b52bd1 Use threads for baking navigation mesh inside editor
Enables threaded navigation mesh baking inside the editor.
2024-04-11 03:53:26 +02:00
d6ddeec0fd Make 2D navigation mesh baking parse all TileMapLayers
Makes 2D navigation mesh baking parse all TileMapLayers.
2024-04-04 10:45:53 +02:00
64fc9e2156 Add navigation baking crash prevention mechanism 2024-03-23 22:20:00 +01:00
5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
6aac3e4a16 Disable all 3D nodes, physics, and resources when compiling without 3D 2024-03-11 01:00:55 -07:00
973448ec4c clipper2: Update to 1.3.0 2024-03-01 11:12:59 +01:00
e2f1af8742 Remove self includes in some files 2024-02-27 17:10:54 +01:00
35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
c399424db9 Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
1cb531ddb6 Move 2D-only resources to their own folder 2024-02-26 05:22:45 -06:00
138180fe01 Move 3D-only navigation code to its own subfolder 2024-02-26 04:19:12 -06:00
fd582dca62 Move 2D-only navigation code to its own subfolder 2024-02-26 04:18:13 -06:00
12cecf726f [Navigation] Add some missing compile checks 2024-02-22 20:21:43 +01:00
2da69294fc Improve NavigationServer NavMap sync error msgs
Improves NavigationServer NavMap sync error msgs.
2024-02-22 13:49:31 +01:00
313c1d1100 Add function to get navigation map iteration id from NavigationServer
Adds function to get navigation map iteration id from NavigationServer.
2024-02-22 09:45:49 +01:00
24bd30716e Merge pull request #87959 from Scony/fix-navi-sync-errors
Add means for fixing navmap synchronization errors
2024-02-12 13:34:30 +01:00
42c3a3827b Merge pull request #79577 from smix8/navmap_rwlock_4.x
Make navigation map spatial queries thread-safe
2024-02-12 13:33:16 +01:00
9ea8d4fa38 Add means for fixing navmap synchronization errors 2024-02-11 21:06:47 +01:00
684752e75b Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
261952a4c7 Merge pull request #87378 from smix8/navmesh_bordersize
Add NavigationMesh `border_size` property for tile baking
2024-02-08 10:53:30 +01:00
8daa633d0d Merge pull request #87961 from smix8/navmesh2d_bordersize
Add NavigationPolygon `border_size` property for tile baking
2024-02-07 11:01:42 +01:00
251d5b3669 Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
4cc8748c47 Make navigation map spatial queries thread-safe
Makes navigation map spatial queries thread-safe by adding a readers–writer lock.
2024-02-06 19:27:59 +01:00
c2cfc0d409 Expose is_baking method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
085bc9504b Add NavigationPolygon border_size property for tile baking
Adds NavigationPolygon border_size property for tile baking. Also adds baking Rect2 bounds.
2024-02-05 00:38:28 +01:00
15369fdb1d Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
d6c31017a6 Add NavigationMesh border_size property for tile baking
Adds NavigationMesh border_size property for tile baking.
2024-01-19 17:31:36 +01:00
f9826a1dd7 Fix various spelling errors 2024-01-04 09:56:43 -05:00
e7ee672120 Add getters to navigation servers
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
d4806d2d84 Merge pull request #85253 from sandygk/fix-reachable-polygon-closest-to-end-point
[Navigation] Do not use travel cost for minimum when re-selecting end point
2023-12-19 13:01:45 +01:00